From e4a0eb102b4da600698c467ac16e6f8d433bdfb7 Mon Sep 17 00:00:00 2001 From: Bailey Date: Sat, 21 Jan 2023 10:30:07 -0600 Subject: [PATCH 01/20] [421] uplift to dotnet 7 (#423) * [421] uplift to dotnet 7 * update pr check --- .github/workflows/pr-check.yml | 4 ++-- .github/workflows/publish_distros_latest.yml | 2 +- .github/workflows/release.yml | 2 +- docker/Dockerfile.api | 4 ++-- docker/Dockerfile.console | 4 ++-- docker/Dockerfile.webui | 4 ++-- docs/install/source.md | 2 +- src/Api/Api.csproj | 2 +- src/Common/Common.csproj | 2 +- src/Common/Constants.cs | 3 ++- src/Conversion/Conversion.csproj | 2 +- src/Garmin/Garmin.csproj | 2 +- src/Peloton/Peloton.csproj | 2 +- src/PelotonToGarminConsole/PelotonToGarminConsole.csproj | 2 +- src/Sync/Sync.csproj | 2 +- src/UnitTests/UnitTests.csproj | 2 +- src/WebUI/WebUI.csproj | 2 +- vNextReleaseNotes.md | 6 +++--- 18 files changed, 25 insertions(+), 24 deletions(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 7e5ef30ac..31d4d0715 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - dotnet: [ '6.0'] + dotnet: [ '7.0'] os: [ubuntu-latest, windows-latest, macos-latest] steps: @@ -42,7 +42,7 @@ jobs: strategy: max-parallel: 1 matrix: - dotnet: [ '6.0' ] + dotnet: [ '7.0' ] os: [ 'win10-x64' ] python-version: [ 3.9.6 ] diff --git a/.github/workflows/publish_distros_latest.yml b/.github/workflows/publish_distros_latest.yml index 23c7d1ae4..b10ed110d 100644 --- a/.github/workflows/publish_distros_latest.yml +++ b/.github/workflows/publish_distros_latest.yml @@ -23,7 +23,7 @@ jobs: strategy: max-parallel: 1 matrix: - dotnet: [ '6.0' ] + dotnet: [ '7.0' ] #os: [ 'win10-x64', 'osx-x64' ] # osx signing issue, mac wont run the executable os: [ 'win10-x64' ] python-version: [ 3.9.6 ] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 56cb561a7..10c3f9411 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -88,7 +88,7 @@ jobs: strategy: max-parallel: 1 matrix: - dotnet: [ '6.0' ] + dotnet: [ '7.0' ] #os: [ 'win10-x64', 'osx-x64' ] # osx signing issue, mac wont run the executable os: [ 'win10-x64' ] python-version: [ 3.9.6 ] diff --git a/docker/Dockerfile.api b/docker/Dockerfile.api index 9e6e6314d..792868113 100644 --- a/docker/Dockerfile.api +++ b/docker/Dockerfile.api @@ -1,7 +1,7 @@ ################### # CREATE FINAL LAYER ################### -FROM mcr.microsoft.com/dotnet/aspnet:6.0 as final +FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final ENV PYTHONUNBUFFERED=1 RUN apt-get update \ @@ -27,7 +27,7 @@ RUN mkdir -m770 {output,data,working} ################### # BUILD LAYER ################### -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build COPY . /build WORKDIR /build diff --git a/docker/Dockerfile.console b/docker/Dockerfile.console index efbe16fbd..29c9cc0c7 100644 --- a/docker/Dockerfile.console +++ b/docker/Dockerfile.console @@ -1,7 +1,7 @@ ################### # CREATE FINAL LAYER ################### -FROM mcr.microsoft.com/dotnet/aspnet:6.0 as final +FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final ENV PYTHONUNBUFFERED=1 RUN apt-get update \ @@ -27,7 +27,7 @@ RUN mkdir -m770 {output,data,working} ################### # BUILD LAYER ################### -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build COPY . /build WORKDIR /build diff --git a/docker/Dockerfile.webui b/docker/Dockerfile.webui index 4f7ecd21c..49b14474e 100644 --- a/docker/Dockerfile.webui +++ b/docker/Dockerfile.webui @@ -1,7 +1,7 @@ ################### # CREATE FINAL LAYER ################### -FROM mcr.microsoft.com/dotnet/aspnet:6.0 as final +FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final RUN apt-get update \ && apt-get -y install bash tzdata \ @@ -17,7 +17,7 @@ WORKDIR /app ################### # BUILD LAYER ################### -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build COPY . /build WORKDIR /build diff --git a/docs/install/source.md b/docs/install/source.md index 2095666cd..28d59ffdf 100644 --- a/docs/install/source.md +++ b/docs/install/source.md @@ -11,7 +11,7 @@ To compile and run P2G on your machine, follow the below steps. ## dotnet 6.0 -1. Install the latest [dotnet 6.0 SDK](https://dotnet.microsoft.com/download/dotnet/6.0) +1. Install the latest [dotnet 7.0 SDK](https://dotnet.microsoft.com/download/dotnet/7.0) 1. Clone the GitHub repository locally 1. In the local repo, find the file named `configuration.example.json`. Make a copy of it and name it `configuration.local.json`. 1. Move `configuration.local.json` into the `src/PelotongToGarminConsole` directory diff --git a/src/Api/Api.csproj b/src/Api/Api.csproj index 88811f164..1758938f7 100644 --- a/src/Api/Api.csproj +++ b/src/Api/Api.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 PelotonToGarmin.Api enable enable diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj index 4dac78977..2410023cc 100644 --- a/src/Common/Common.csproj +++ b/src/Common/Common.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 diff --git a/src/Common/Constants.cs b/src/Common/Constants.cs index c31a41cc9..4459dc7ac 100644 --- a/src/Common/Constants.cs +++ b/src/Common/Constants.cs @@ -7,6 +7,7 @@ public static class Constants public const string ConsoleAppName = "p2g_console"; public const string ApiName = "p2g_api"; public const string WebUIName = "p2g_webui"; - public const string AppVersion = "3.6.1"; + + public const string AppVersion = "4.0.0-rc"; } } diff --git a/src/Conversion/Conversion.csproj b/src/Conversion/Conversion.csproj index 2328dc1b2..44c2bcc47 100644 --- a/src/Conversion/Conversion.csproj +++ b/src/Conversion/Conversion.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 diff --git a/src/Garmin/Garmin.csproj b/src/Garmin/Garmin.csproj index 77f3e8965..553883ff4 100644 --- a/src/Garmin/Garmin.csproj +++ b/src/Garmin/Garmin.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 diff --git a/src/Peloton/Peloton.csproj b/src/Peloton/Peloton.csproj index 71b8f4d36..25110eccb 100644 --- a/src/Peloton/Peloton.csproj +++ b/src/Peloton/Peloton.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 true $(NoWarn);1591 diff --git a/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj b/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj index 6c88d2c50..44a05b92c 100644 --- a/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj +++ b/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net7.0 PelotonToGarminConsole PelotonToGarminConsole win10-x64;osx-x64;linux-x64 diff --git a/src/Sync/Sync.csproj b/src/Sync/Sync.csproj index 9762bb0d9..e3a8af22e 100644 --- a/src/Sync/Sync.csproj +++ b/src/Sync/Sync.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 enable true $(NoWarn);1591 diff --git a/src/UnitTests/UnitTests.csproj b/src/UnitTests/UnitTests.csproj index efbba9b40..a5b0e4505 100644 --- a/src/UnitTests/UnitTests.csproj +++ b/src/UnitTests/UnitTests.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 false diff --git a/src/WebUI/WebUI.csproj b/src/WebUI/WebUI.csproj index 64015bf35..1717f1514 100644 --- a/src/WebUI/WebUI.csproj +++ b/src/WebUI/WebUI.csproj @@ -1,7 +1,7 @@  - net6.0 + net7.0 enable enable win10-x64;osx-x64;linux-x64 diff --git a/vNextReleaseNotes.md b/vNextReleaseNotes.md index 1181d2642..d0ed915ce 100644 --- a/vNextReleaseNotes.md +++ b/vNextReleaseNotes.md @@ -1,7 +1,7 @@ [![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/philosowaffle) Buy Me A Coffee donate button --- -## Fixes +## Features + +- [#421] Uplift to dotnet 7 -- [#552] fix ArgumentNullException in SyncService when no recent workouts found -- [#548] GithubAction - workflow_dispatch boolean inputs are not actually booleans (@philjn) \ No newline at end of file From adb180b72b92d4735ca9c2c4082aa02f453c6d05 Mon Sep 17 00:00:00 2001 From: Bailey Date: Sat, 21 Jan 2023 10:49:48 -0600 Subject: [PATCH 02/20] [302] remove deprecated settings (#424) --- .github/workflows/sync_peloton_to_garmin.yml | 3 +-- configuration.example.json | 1 - docs/configuration/json.md | 3 --- src/Common/Configuration.cs | 3 --- src/Garmin/GarminUploader.cs | 15 --------------- src/PelotonToGarminConsole/Startup.cs | 8 ++------ vNextReleaseNotes.md | 3 +++ 7 files changed, 6 insertions(+), 30 deletions(-) diff --git a/.github/workflows/sync_peloton_to_garmin.yml b/.github/workflows/sync_peloton_to_garmin.yml index f3ff7c581..3f5922b4c 100644 --- a/.github/workflows/sync_peloton_to_garmin.yml +++ b/.github/workflows/sync_peloton_to_garmin.yml @@ -41,8 +41,7 @@ jobs: { "App": { "OutputDirectory": "/app/output", - "EnablePolling": false, - "CloseWindowOnFinish": true + "EnablePolling": false }, "Format": { "Fit": true, diff --git a/configuration.example.json b/configuration.example.json index c39a75669..1956bbb8a 100644 --- a/configuration.example.json +++ b/configuration.example.json @@ -3,7 +3,6 @@ "OutputDirectory": "./output", "EnablePolling": true, "PollingIntervalSeconds": 86400, - "CloseWindowOnFinish": false, "CheckForUpdates": true }, diff --git a/docs/configuration/json.md b/docs/configuration/json.md index 92b69b609..964ecaf93 100644 --- a/docs/configuration/json.md +++ b/docs/configuration/json.md @@ -83,8 +83,6 @@ This section provides global settings for the P2G application. "OutputDirectory": "./output", "EnablePolling": true, "PollingIntervalSeconds": 86400, - "PythonAndGUploadInstalled": true, - "CloseWindowOnFinish": false, "CheckForUpdates": true } ``` @@ -94,7 +92,6 @@ This section provides global settings for the P2G application. | OutputDirectory | no | `$PWD/output` | `App > Advanced` | Where downloaded and converted files should be saved to. | | EnablePolling | no | `true` | `App Tab` | `true` if you wish P2G to run continuously and poll Peloton for new workouts. | | PollingIntervalSeconds | no | 86400 | `App Tab` | The polling interval in seconds determines how frequently P2G should check for new workouts. Be warned, that setting this to a frequency of hourly or less may get you flagged by Peloton as a bad actor and they may reset your password. The default is set to Daily. | -| CloseWindowOnFinish | no | `false` | none | `true` if you wish the console window to close automatically when the program finishes. Not that if you have Polling enabled the program will never 'finish' as it remains active to poll regularly. | | CheckForUpdates | no | `true` | `App Tab` | `true` if P2G should check for updates and write a log message if a new release is available. If using the UI this message will display there as well. | ## Format Config diff --git a/src/Common/Configuration.cs b/src/Common/Configuration.cs index 524729bf0..6d7395463 100644 --- a/src/Common/Configuration.cs +++ b/src/Common/Configuration.cs @@ -89,9 +89,6 @@ public App() [DisplayName("Polling Interval in Seconds")] [Description("The polling interval in seconds determines how frequently P2G should check for new workouts. Be warned, that setting this to a frequency of hourly or less may get you flagged by Peloton as a bad actor and they may reset your password.")] public int PollingIntervalSeconds { get; set; } - [Obsolete] - public bool? PythonAndGUploadInstalled { get; set; } - public bool CloseWindowOnFinish { get; set; } public bool CheckForUpdates { get; set; } diff --git a/src/Garmin/GarminUploader.cs b/src/Garmin/GarminUploader.cs index 423b51f27..93e91d867 100644 --- a/src/Garmin/GarminUploader.cs +++ b/src/Garmin/GarminUploader.cs @@ -182,21 +182,6 @@ public static void ValidateConfig(Settings config) if (config.Garmin.Upload == false) return; config.Garmin.EnsureGarminCredentialsAreProvided(); - - if (config.App.EnablePolling && config.Garmin.TwoStepVerificationEnabled) - throw new ArgumentException("App.EnablePolling cannot be true when Garmin.TwoStepVerificationEnabled is true."); - - if (config.App.PythonAndGUploadInstalled.HasValue) - { - _logger.Warning("App.PythonAndGuploadInstalledLocally setting is deprecated and will be removed in a future release. Please swith to using Garmin.UploadStrategy config."); - - if (config.Garmin.UploadStrategy == UploadStrategy.PythonAndGuploadInstalledLocally - && config.App.PythonAndGUploadInstalled.Value == false) - { - config.Garmin.UploadStrategy = UploadStrategy.WindowsExeBundledPython; - _logger.Warning("Detected use of deprecated config App.PythonAndGuploadInstalledLocally, setting Garmin.UploadStrategy to WindowsExeBundledPython=1"); - } - } } } } diff --git a/src/PelotonToGarminConsole/Startup.cs b/src/PelotonToGarminConsole/Startup.cs index aadfea5d8..a41679a89 100644 --- a/src/PelotonToGarminConsole/Startup.cs +++ b/src/PelotonToGarminConsole/Startup.cs @@ -73,8 +73,7 @@ protected override async Task ExecuteAsync(CancellationToken cancelToken) { _logger.Error(ex, "Exception during config validation. Please modify your configuration.local.json and relaunch the application."); Health.Set(HealthStatus.Dead); - if (!settings.App.CloseWindowOnFinish) - Console.ReadLine(); + Console.ReadLine(); Environment.Exit(-1); } @@ -181,10 +180,7 @@ private async Task RunAsync(CancellationToken cancelToken) finally { _logger.Verbose("Exit."); - - if (!settings.App.CloseWindowOnFinish) - Console.ReadLine(); - + Console.ReadLine(); Environment.Exit(exitCode); } } diff --git a/vNextReleaseNotes.md b/vNextReleaseNotes.md index d0ed915ce..77a4e2681 100644 --- a/vNextReleaseNotes.md +++ b/vNextReleaseNotes.md @@ -5,3 +5,6 @@ - [#421] Uplift to dotnet 7 +## Changes + +- [#302] Removed deprecated settings `PythonAndGUploadInstalled` and `CloseWindowOnFinish` \ No newline at end of file From 2c7559e2d3cc3584245756a0aa7422ebbe2a938b Mon Sep 17 00:00:00 2001 From: Bailey Date: Sat, 29 Apr 2023 11:12:19 -0500 Subject: [PATCH 03/20] [#352] Create Windows GUI (#426) * [352] client gui's * decoupled UI error handling from HTTP * create client UI project and wire up first shared page * filesystem basics working * some cleanup * reorganize solution to optimize for code re-use * try fix gh build * try again * layout and navmenu now shared * rebase * try to add bootstrap and css dependencies * fix ioc wireup * not really working yet * webui working again, now using shared css/js resources * clientUI now working with shared css/js * app settings working * peloton settings working * move app settings to own component * format settings page updated * garmin settings page * cleanup * rebase * progress on sync page and mfa * sync page working * fix some build warnings * index page working * attempt to fix gha pr check * rename PelotonToGarminConsole to ConsoleClient * update app name * [352] basic publishing working * logging is working * attempt update prcheck to publish * fix typo * try publish ready to run * comment out for now --- .github/workflows/pr-check.yml | 56 ++- .github/workflows/publish_distros_latest.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/sync_peloton_to_garmin.yml | 2 +- .gitignore | 30 +- PelotonToGarmin.sln | 28 +- docker/Dockerfile.console | 2 +- docker/entrypoint.sh | 2 +- docs/contributing.md | 4 +- docs/install/source.md | 8 +- docs/install/windows.md | 6 +- src/Api.Contract/Api.Contract.csproj | 17 + .../GarminAuthenticationContracts.cs | 4 +- src/Api.Contract/IError.cs | 34 ++ .../Dto/Api => Api.Contract}/IPaging.cs | 20 +- .../PelotonAnnualChallengeContracts.cs | 49 ++- .../PelotonWorkoutsRequest.cs | 19 +- .../Api => Api.Contract}/SettingsContracts.cs | 39 +- .../Dto/Api => Api.Contract}/SyncContracts.cs | 4 +- .../Api => Api.Contract}/SystemInfoRequest.cs | 13 +- src/Api.Service/Api.Service.csproj | 19 + src/Api.Service/ApiStartupServices.cs | 64 +++ src/Api.Service/Helpers/Guard.cs | 84 ++++ src/Api.Service/Helpers/PagingExtensions.cs | 17 + .../Helpers/ServiceResponseExtensions.cs | 30 ++ .../Mappers/AnnualChallengeMapper.cs | 23 ++ src/Api.Service/SettingsUpdaterService.cs | 148 +++++++ src/Api.Service/SystemInfoService.cs | 55 +++ src/Api.Service/Validators/SyncValidators.cs | 52 +++ src/Api/Api.csproj | 12 +- .../GarminAuthenticationController.cs | 8 +- .../PelotonAnnualChallengeController.cs | 21 +- .../Controllers/PelotonWorkoutsController.cs | 10 +- src/Api/Controllers/SettingsController.cs | 88 ++-- src/Api/Controllers/SyncController.cs | 50 +-- src/Api/Controllers/SystemInfoController.cs | 44 +- src/Api/Program.cs | 64 +-- src/ClientUI/App.xaml | 26 ++ src/ClientUI/App.xaml.cs | 12 + src/ClientUI/ClientUI.csproj | 79 ++++ src/ClientUI/ClientUI_TemporaryKey.pfx | Bin 0 -> 2536 bytes src/ClientUI/Main.razor | 1 + src/ClientUI/MainPage.xaml | 14 + src/ClientUI/MainPage.xaml.cs | 10 + src/ClientUI/MauiProgram.cs | 103 +++++ .../Platforms/Android/AndroidManifest.xml | 6 + .../Platforms/Android/MainActivity.cs | 11 + .../Platforms/Android/MainApplication.cs | 16 + .../Android/Resources/values/colors.xml | 6 + .../Platforms/MacCatalyst/AppDelegate.cs | 10 + src/ClientUI/Platforms/MacCatalyst/Info.plist | 30 ++ src/ClientUI/Platforms/MacCatalyst/Program.cs | 16 + src/ClientUI/Platforms/Tizen/Main.cs | 17 + .../Platforms/Tizen/tizen-manifest.xml | 15 + src/ClientUI/Platforms/Windows/App.xaml | 8 + src/ClientUI/Platforms/Windows/App.xaml.cs | 24 ++ .../Platforms/Windows/Package.appxmanifest | 47 +++ src/ClientUI/Platforms/iOS/AppDelegate.cs | 10 + src/ClientUI/Platforms/iOS/Info.plist | 32 ++ src/ClientUI/Platforms/iOS/Program.cs | 16 + src/ClientUI/Properties/launchSettings.json | 8 + src/ClientUI/Resources/AppIcon/appicon.svg | 99 +++++ src/ClientUI/Resources/AppIcon/appiconfg.svg | 184 +++++++++ .../Resources/Fonts/OpenSans-Regular.ttf | Bin 0 -> 107148 bytes src/ClientUI/Resources/Images/dotnet_bot.svg | 93 +++++ src/ClientUI/Resources/Raw/AboutAssets.txt | 15 + src/ClientUI/Resources/Splash/P2G-Splash.png | Bin 0 -> 144317 bytes .../Resources/Splash/P2G-Splash.scale-125.png | Bin 0 -> 7685 bytes .../Resources/Splash/P2G-Splash.scale-150.png | Bin 0 -> 9884 bytes src/ClientUI/Resources/Splash/splash.svg | 136 +++++++ src/ClientUI/ServiceClient.cs | 354 +++++++++++++++++ src/ClientUI/_Imports.razor | 7 + src/ClientUI/wwwroot/index.html | 31 ++ src/Common/Common.csproj | 11 +- src/Common/Configuration.cs | 31 +- src/Common/Constants.cs | 1 + src/Common/Dto/Api/IError.cs | 34 -- src/Common/Dto/ServiceResult.cs | 27 +- src/Common/FileHandling.cs | 287 +++++++------ src/Common/Helpers/Guard.cs | 127 ------ src/Common/ObservabilityStartup.cs | 29 ++ src/Common/Stateful/Statics.cs | 8 +- .../256x256.ico | Bin .../ConsoleClient.csproj} | 4 +- .../Program.cs | 2 +- .../Properties/launchSettings.json | 2 +- .../Startup.cs | 376 +++++++++--------- src/{WebUI => SharedUI}/App.razor | 4 +- src/SharedUI/IApiClient.cs | 38 ++ src/{WebUI => SharedUI}/Pages/About.razor | 9 +- .../Pages/AnnualChallengeProgress.razor | 5 +- src/{WebUI => SharedUI}/Pages/Index.razor | 73 ++-- src/SharedUI/Pages/Settings.razor | 63 +++ src/{WebUI => SharedUI}/Pages/Sync.razor | 41 +- src/SharedUI/Properties/launchSettings.json | 12 + src/SharedUI/Shared/AppSettingsForm.razor | 82 ++++ src/SharedUI/Shared/FormatSettingsForm.razor | 100 +++++ .../Shared/GarminMfaModal.razor | 4 +- src/SharedUI/Shared/GarminSettingsForm.razor | 132 ++++++ .../Shared/MainLayout.razor | 2 +- .../Shared/MainLayout.razor.css | 0 src/{WebUI => SharedUI}/Shared/NavMenu.razor | 0 .../Shared/NavMenu.razor.css | 0 src/SharedUI/Shared/PelotonSettingsForm.razor | 101 +++++ src/SharedUI/SharedUI.csproj | 50 +++ src/SharedUI/SharedUIStartup.cs | 13 + .../TracingComponentBase.cs | 2 +- src/SharedUI/_Imports.razor | 18 + src/{WebUI => SharedUI}/libman.json | 2 +- src/SharedUI/wwwroot/background.png | Bin 0 -> 378 bytes .../wwwroot/css/bootstrap/bootstrap.min.css | 0 .../css/bootstrap/bootstrap.min.css.map | 0 src/SharedUI/wwwroot/css/forms.css | 3 + .../wwwroot/css/open-iconic/FONT-LICENSE | 0 .../wwwroot/css/open-iconic/ICON-LICENSE | 0 .../wwwroot/css/open-iconic/README.md | 0 .../font/css/open-iconic-bootstrap.min.css | 0 .../open-iconic/font/fonts/open-iconic.eot | Bin .../open-iconic/font/fonts/open-iconic.otf | Bin .../open-iconic/font/fonts/open-iconic.svg | 0 .../open-iconic/font/fonts/open-iconic.ttf | Bin .../open-iconic/font/fonts/open-iconic.woff | Bin src/{WebUI => SharedUI}/wwwroot/css/site.css | 6 +- src/SharedUI/wwwroot/exampleJsInterop.js | 6 + src/{WebUI => SharedUI}/wwwroot/favicon.ico | Bin src/Sync/SyncResult.cs | 17 +- src/Sync/SyncService.cs | 20 +- .../SettingsUpdaterServiceTests.cs | 247 ++++++++++++ .../Api.Service/SystemInfoServiceTests.cs | 69 ++++ .../PelotonWorkoutsControllerTests.cs | 4 +- .../Controllers/SettingsControllerTests.cs | 252 ------------ .../Api/Controllers/SyncControllerTests.cs | 29 +- .../Controllers/SystemInfoControllerTests.cs | 62 +-- src/UnitTests/Common/Api/PagingTests.cs | 4 +- src/UnitTests/UnitTests.csproj | 2 +- src/WebUI/ApiClient.cs | 171 +++++--- src/WebUI/Pages/Settings.razor | 364 ----------------- src/WebUI/Pages/_Host.cshtml | 2 +- src/WebUI/Pages/_Layout.cshtml | 14 +- src/WebUI/Program.cs | 17 +- src/WebUI/WebUI.csproj | 21 +- src/WebUI/_Imports.razor | 9 +- src/WebUI/wwwroot/icon-192.png | Bin 2626 -> 0 bytes src/WebUI/wwwroot/icon-512.png | Bin 6311 -> 0 bytes src/WebUI/wwwroot/manifest.json | 9 +- vNextReleaseNotes.md | 1 + 146 files changed, 3801 insertions(+), 1784 deletions(-) create mode 100644 src/Api.Contract/Api.Contract.csproj rename src/{Common/Dto/Api => Api.Contract}/GarminAuthenticationContracts.cs (69%) create mode 100644 src/Api.Contract/IError.cs rename src/{Common/Dto/Api => Api.Contract}/IPaging.cs (66%) rename src/{Common/Dto/Api => Api.Contract}/PelotonAnnualChallengeContracts.cs (74%) rename src/{Common/Dto/Api => Api.Contract}/PelotonWorkoutsRequest.cs (81%) rename src/{Common/Dto/Api => Api.Contract}/SettingsContracts.cs (79%) rename src/{Common/Dto/Api => Api.Contract}/SyncContracts.cs (94%) rename src/{Common/Dto/Api => Api.Contract}/SystemInfoRequest.cs (81%) create mode 100644 src/Api.Service/Api.Service.csproj create mode 100644 src/Api.Service/ApiStartupServices.cs create mode 100644 src/Api.Service/Helpers/Guard.cs create mode 100644 src/Api.Service/Helpers/PagingExtensions.cs create mode 100644 src/Api.Service/Helpers/ServiceResponseExtensions.cs create mode 100644 src/Api.Service/Mappers/AnnualChallengeMapper.cs create mode 100644 src/Api.Service/SettingsUpdaterService.cs create mode 100644 src/Api.Service/SystemInfoService.cs create mode 100644 src/Api.Service/Validators/SyncValidators.cs create mode 100644 src/ClientUI/App.xaml create mode 100644 src/ClientUI/App.xaml.cs create mode 100644 src/ClientUI/ClientUI.csproj create mode 100644 src/ClientUI/ClientUI_TemporaryKey.pfx create mode 100644 src/ClientUI/Main.razor create mode 100644 src/ClientUI/MainPage.xaml create mode 100644 src/ClientUI/MainPage.xaml.cs create mode 100644 src/ClientUI/MauiProgram.cs create mode 100644 src/ClientUI/Platforms/Android/AndroidManifest.xml create mode 100644 src/ClientUI/Platforms/Android/MainActivity.cs create mode 100644 src/ClientUI/Platforms/Android/MainApplication.cs create mode 100644 src/ClientUI/Platforms/Android/Resources/values/colors.xml create mode 100644 src/ClientUI/Platforms/MacCatalyst/AppDelegate.cs create mode 100644 src/ClientUI/Platforms/MacCatalyst/Info.plist create mode 100644 src/ClientUI/Platforms/MacCatalyst/Program.cs create mode 100644 src/ClientUI/Platforms/Tizen/Main.cs create mode 100644 src/ClientUI/Platforms/Tizen/tizen-manifest.xml create mode 100644 src/ClientUI/Platforms/Windows/App.xaml create mode 100644 src/ClientUI/Platforms/Windows/App.xaml.cs create mode 100644 src/ClientUI/Platforms/Windows/Package.appxmanifest create mode 100644 src/ClientUI/Platforms/iOS/AppDelegate.cs create mode 100644 src/ClientUI/Platforms/iOS/Info.plist create mode 100644 src/ClientUI/Platforms/iOS/Program.cs create mode 100644 src/ClientUI/Properties/launchSettings.json create mode 100644 src/ClientUI/Resources/AppIcon/appicon.svg create mode 100644 src/ClientUI/Resources/AppIcon/appiconfg.svg create mode 100644 src/ClientUI/Resources/Fonts/OpenSans-Regular.ttf create mode 100644 src/ClientUI/Resources/Images/dotnet_bot.svg create mode 100644 src/ClientUI/Resources/Raw/AboutAssets.txt create mode 100644 src/ClientUI/Resources/Splash/P2G-Splash.png create mode 100644 src/ClientUI/Resources/Splash/P2G-Splash.scale-125.png create mode 100644 src/ClientUI/Resources/Splash/P2G-Splash.scale-150.png create mode 100644 src/ClientUI/Resources/Splash/splash.svg create mode 100644 src/ClientUI/ServiceClient.cs create mode 100644 src/ClientUI/_Imports.razor create mode 100644 src/ClientUI/wwwroot/index.html delete mode 100644 src/Common/Dto/Api/IError.cs delete mode 100644 src/Common/Helpers/Guard.cs create mode 100644 src/Common/ObservabilityStartup.cs rename src/{PelotonToGarminConsole => ConsoleClient}/256x256.ico (100%) rename src/{PelotonToGarminConsole/PelotonToGarminConsole.csproj => ConsoleClient/ConsoleClient.csproj} (94%) rename src/{PelotonToGarminConsole => ConsoleClient}/Program.cs (96%) rename src/{PelotonToGarminConsole => ConsoleClient}/Properties/launchSettings.json (95%) rename src/{PelotonToGarminConsole => ConsoleClient}/Startup.cs (96%) rename src/{WebUI => SharedUI}/App.razor (84%) create mode 100644 src/SharedUI/IApiClient.cs rename src/{WebUI => SharedUI}/Pages/About.razor (86%) rename src/{WebUI => SharedUI}/Pages/AnnualChallengeProgress.razor (95%) rename src/{WebUI => SharedUI}/Pages/Index.razor (94%) create mode 100644 src/SharedUI/Pages/Settings.razor rename src/{WebUI => SharedUI}/Pages/Sync.razor (79%) create mode 100644 src/SharedUI/Properties/launchSettings.json create mode 100644 src/SharedUI/Shared/AppSettingsForm.razor create mode 100644 src/SharedUI/Shared/FormatSettingsForm.razor rename src/{WebUI => SharedUI}/Shared/GarminMfaModal.razor (99%) create mode 100644 src/SharedUI/Shared/GarminSettingsForm.razor rename src/{WebUI => SharedUI}/Shared/MainLayout.razor (89%) rename src/{WebUI => SharedUI}/Shared/MainLayout.razor.css (100%) rename src/{WebUI => SharedUI}/Shared/NavMenu.razor (100%) rename src/{WebUI => SharedUI}/Shared/NavMenu.razor.css (100%) create mode 100644 src/SharedUI/Shared/PelotonSettingsForm.razor create mode 100644 src/SharedUI/SharedUI.csproj create mode 100644 src/SharedUI/SharedUIStartup.cs rename src/{WebUI => SharedUI}/TracingComponentBase.cs (95%) create mode 100644 src/SharedUI/_Imports.razor rename src/{WebUI => SharedUI}/libman.json (93%) create mode 100644 src/SharedUI/wwwroot/background.png rename src/{WebUI => SharedUI}/wwwroot/css/bootstrap/bootstrap.min.css (100%) rename src/{WebUI => SharedUI}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%) create mode 100644 src/SharedUI/wwwroot/css/forms.css rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/FONT-LICENSE (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/ICON-LICENSE (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/README.md (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%) rename src/{WebUI => SharedUI}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%) rename src/{WebUI => SharedUI}/wwwroot/css/site.css (91%) create mode 100644 src/SharedUI/wwwroot/exampleJsInterop.js rename src/{WebUI => SharedUI}/wwwroot/favicon.ico (100%) create mode 100644 src/UnitTests/Api.Service/SettingsUpdaterServiceTests.cs create mode 100644 src/UnitTests/Api.Service/SystemInfoServiceTests.cs delete mode 100644 src/UnitTests/Api/Controllers/SettingsControllerTests.cs delete mode 100644 src/WebUI/Pages/Settings.razor delete mode 100644 src/WebUI/wwwroot/icon-192.png delete mode 100644 src/WebUI/wwwroot/icon-512.png diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 31d4d0715..6fb95712d 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -12,8 +12,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - dotnet: [ '7.0'] - os: [ubuntu-latest, windows-latest, macos-latest] + dotnet: ['7.0'] + os: [windows-latest] steps: - uses: actions/checkout@v3 @@ -22,6 +22,9 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ matrix.dotnet }} + + - name: Install MAUI Workloads + run: dotnet workload install maui --ignore-failed-sources - name: Clean run: dotnet clean --configuration Debug && dotnet nuget locals all --clear @@ -55,10 +58,10 @@ jobs: dotnet-version: ${{ matrix.dotnet }} - name: Clean - run: dotnet clean ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --configuration Release && dotnet nuget locals all --clear + run: dotnet clean ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --configuration Release && dotnet nuget locals all --clear - name: Restore - run: dotnet restore ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj + run: dotnet restore ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj - name: Prepare env run: | @@ -66,7 +69,7 @@ jobs: echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true + run: dotnet publish ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true - name: Copy Config to Distro run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json @@ -95,6 +98,49 @@ jobs: with: name: ${{ matrix.os }}_${{ env.BUILD_VERSION }} path: ${{ github.workspace }}/dist/${{ matrix.os }} + + #compile-distro-ui: + # name: Compile Distro UI + # runs-on: 'windows-latest' + # needs: build-and-test + # strategy: + # max-parallel: 1 + # matrix: + # dotnet: [ '7.0' ] + # framework: ['net7.0-windows10.0.19041.0'] + # os: [ 'win10-x64' ] + + # steps: + + # - uses: actions/checkout@v3 + # - name: Setup .NET Core SDK ${{ matrix.dotnet }} + # uses: actions/setup-dotnet@v3 + # with: + # dotnet-version: ${{ matrix.dotnet }} + + # - name: Install MAUI Workloads + # run: dotnet workload install maui --ignore-failed-sources + + # - name: Clean + # run: dotnet clean ${{ github.workspace }}/src/ClientUI/ClientUI.csproj --configuration Release && dotnet nuget locals all --clear + + # - name: Restore + # run: dotnet restore ${{ github.workspace }}/src/ClientUI/ClientUI.csproj + + # - name: Prepare env + # run: | + # echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + # echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + + # - name: Publish ${{matrix.os}} + # run: dotnet publish ${{ github.workspace }}/src/ClientUI/ClientUI.csproj --no-restore -c Release -f ${{ matrix.framework }} -p:RuntimeIdentifierOverride=${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }}-ui + + # # Create Build Artifact + # - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} + # uses: actions/upload-artifact@v3 + # with: + # name: ${{ matrix.os }}_${{ env.BUILD_VERSION }} + # path: ${{ github.workspace }}/dist/${{ matrix.os }}-ui/AppPackages create_docker_images: name: Publish Docker Images - PR diff --git a/.github/workflows/publish_distros_latest.yml b/.github/workflows/publish_distros_latest.yml index b10ed110d..fb41119cc 100644 --- a/.github/workflows/publish_distros_latest.yml +++ b/.github/workflows/publish_distros_latest.yml @@ -49,7 +49,7 @@ jobs: echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true + run: dotnet publish ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true - name: Copy Config to Distro run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 10c3f9411..f138982df 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -113,7 +113,7 @@ jobs: echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --self-contained true + run: dotnet publish ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --self-contained true - name: Copy Config to Distro run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json diff --git a/.github/workflows/sync_peloton_to_garmin.yml b/.github/workflows/sync_peloton_to_garmin.yml index 3f5922b4c..9280dc946 100644 --- a/.github/workflows/sync_peloton_to_garmin.yml +++ b/.github/workflows/sync_peloton_to_garmin.yml @@ -78,7 +78,7 @@ jobs: } } EOT - - run: /app/PelotonToGarminConsole + - run: /app/ConsoleClient if: ${{ env.P2G_PELOTON__EMAIL && env.P2G_PELOTON__PASSWORD && env.P2G_GARMIN__EMAIL && env.P2G_GARMIN__PASSWORD }} working-directory: /app env: diff --git a/.gitignore b/.gitignore index 55be8c3c0..af2848b0f 100644 --- a/.gitignore +++ b/.gitignore @@ -109,17 +109,19 @@ python/build/ */**/bin/* */**/obj/* -# Dev Files -*.log -syncHistory.json -configuration.local.json -/.vs/PelotonToGarmin -/src/Api/data -/src/PelotonToGarminConsole/data -/src/PelotonToGarminConsole/python/** -/src/WebUI/wwwroot/lib -*/**/output/** -/Output -/.vs/ProjectSettings.json -.vs/ -/.vscode/settings.json +# Dev Files +*.log +syncHistory.json +configuration.local.json +/.vs/PelotonToGarmin +/src/Api/data +/src/ConsoleClient/data +/src/ConsoleClient/python/** +/src/WebUI/wwwroot/lib +*/**/output/** +/Output +/.vs/ProjectSettings.json +.vs/ +/.vscode/settings.json +/src/SharedUI/wwwroot/lib +/src/ClientUI/ClientUI.csproj.user diff --git a/PelotonToGarmin.sln b/PelotonToGarmin.sln index d3895186c..65acccb1a 100644 --- a/PelotonToGarmin.sln +++ b/PelotonToGarmin.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31912.275 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PelotonToGarminConsole", "src\PelotonToGarminConsole\PelotonToGarminConsole.csproj", "{808B1164-D94D-456F-B0AF-E5DDE4B82B4A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleClient", "src\ConsoleClient\ConsoleClient.csproj", "{808B1164-D94D-456F-B0AF-E5DDE4B82B4A}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Garmin", "src\Garmin\Garmin.csproj", "{3E0E0007-E67A-44BA-B819-40C6E2C2EC8C}" EndProject @@ -46,6 +46,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebUI", "src\WebUI\WebUI.cs EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Api", "src\Api\Api.csproj", "{63A354CC-C2D3-4860-995E-C3072EC76C46}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharedUI", "src\SharedUI\SharedUI.csproj", "{5A2D34BF-6301-489C-A53C-46A2105EC923}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientUI", "src\ClientUI\ClientUI.csproj", "{E3C986C7-56B2-409B-A17F-566955804D73}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Api.Service", "src\Api.Service\Api.Service.csproj", "{AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Api.Contract", "src\Api.Contract\Api.Contract.csproj", "{629769E4-3048-41B6-8818-141DED7AD8D7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -88,6 +96,24 @@ Global {63A354CC-C2D3-4860-995E-C3072EC76C46}.Debug|Any CPU.Build.0 = Debug|Any CPU {63A354CC-C2D3-4860-995E-C3072EC76C46}.Release|Any CPU.ActiveCfg = Release|Any CPU {63A354CC-C2D3-4860-995E-C3072EC76C46}.Release|Any CPU.Build.0 = Release|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A2D34BF-6301-489C-A53C-46A2105EC923}.Release|Any CPU.Build.0 = Release|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Release|Any CPU.Build.0 = Release|Any CPU + {E3C986C7-56B2-409B-A17F-566955804D73}.Release|Any CPU.Deploy.0 = Release|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AE7ED46D-B1F6-402F-AA9F-EE952984B3BA}.Release|Any CPU.Build.0 = Release|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {629769E4-3048-41B6-8818-141DED7AD8D7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/docker/Dockerfile.console b/docker/Dockerfile.console index 29c9cc0c7..3dc22aff7 100644 --- a/docker/Dockerfile.console +++ b/docker/Dockerfile.console @@ -46,7 +46,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \ RID=linux-arm ; \ fi \ - && dotnet publish /build/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -c Release -r $RID -o /build/published --version-suffix $VERSION --self-contained ; + && dotnet publish /build/src/ConsoleClient/ConsoleClient.csproj -c Release -r $RID -o /build/published --version-suffix $VERSION --self-contained ; ################### # FINAL diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 52fd8fd91..32dcb75a7 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -9,5 +9,5 @@ if [[ "$1" == "api" ]]; then elif [[ "$1" == "webui" ]]; then exec runuser -u p2g ./WebUI else - exec runuser -u p2g ./PelotonToGarminConsole + exec runuser -u p2g ./ConsoleClient fi \ No newline at end of file diff --git a/docs/contributing.md b/docs/contributing.md index ba0a5fe9f..26eab2e62 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -24,12 +24,12 @@ Ensure that your code: ``` > dotnet restore > dotnet build -> dotnet run ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj +> dotnet run ./src/ConsoleClient/ConsoleClient.csproj ``` ## Package Windows exe ``` -> dotnet publish ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj --no-restore -c Release -r win10-x64 -o ./dist --version-suffix local +> dotnet publish ./src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r win10-x64 -o ./dist --version-suffix local ``` ## Developing against garmin-upload python library diff --git a/docs/install/source.md b/docs/install/source.md index 28d59ffdf..f8dbe20bc 100644 --- a/docs/install/source.md +++ b/docs/install/source.md @@ -27,7 +27,7 @@ To compile and run P2G on your machine, follow the below steps. ## To run P2G ```bash -> dotnet run --project ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj +> dotnet run --project ./src/ConsoleClient/ConsoleClient.csproj ``` ## Updating @@ -36,7 +36,7 @@ To compile and run P2G on your machine, follow the below steps. > git fetch > git pull > cd peloton-to-garmin -> dotnet restore ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -> dotnet build ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj -> dotnet run --project ./src/PelotonToGarminConsole/PelotonToGarminConsole.csproj +> dotnet restore ./src/ConsoleClient/ConsoleClient.csproj +> dotnet build ./src/ConsoleClient/ConsoleClient.csproj +> dotnet run --project ./src/ConsoleClient/ConsoleClient.csproj ``` diff --git a/docs/install/windows.md b/docs/install/windows.md index 4afca85d3..c9a54e72d 100644 --- a/docs/install/windows.md +++ b/docs/install/windows.md @@ -13,7 +13,7 @@ For convenience a compiled windows executable is provided. This can easily be do 1. In the unzipped directory find the `configuration.local.json` and open it in a text editor of your choice 1. Be sure to set your usernames and passwords in Garmin and Peloton config sections respectively. 1. Save and close the file -1. Find the `PelotonToGarminConsole.exe` +1. Find the `ConsoleClient.exe` 1. Double click to run it! You can learn more about customizing your configuration file over in the [Configuration Section]({{ site.baseurl }}{% link configuration/index.md %}). @@ -22,7 +22,7 @@ You can learn more about customizing your configuration file over in the [Config 1. Download and unzip the [latest stable release](https://github.com/philosowaffle/peloton-to-garmin/releases) 1. In the unzipped directory replace the `configuration.local.json` with your previous `configuration.local.json` file -1. Find the `PelotonToGarminConsole.exe` +1. Find the `ConsoleClient.exe` 1. Double click to run it! ## Rolling back to a previous version @@ -30,7 +30,7 @@ You can learn more about customizing your configuration file over in the [Config 1. Find the release you want from the [releases page](https://github.com/philosowaffle/peloton-to-garmin/releases) 1. Download and unzip the Windows exe from that relase (found in the `Assets` section) 1. In the unzipped directory replace the `configuration.local.json` with your previous `configuration.local.json` file -1. Find the `PelotonToGarminConsole.exe` +1. Find the `ConsoleClient.exe` 1. Double click to run it! ## Available Versions diff --git a/src/Api.Contract/Api.Contract.csproj b/src/Api.Contract/Api.Contract.csproj new file mode 100644 index 000000000..2f9aa860f --- /dev/null +++ b/src/Api.Contract/Api.Contract.csproj @@ -0,0 +1,17 @@ + + + + net7.0 + enable + enable + + + + + + + + + + + diff --git a/src/Common/Dto/Api/GarminAuthenticationContracts.cs b/src/Api.Contract/GarminAuthenticationContracts.cs similarity index 69% rename from src/Common/Dto/Api/GarminAuthenticationContracts.cs rename to src/Api.Contract/GarminAuthenticationContracts.cs index 39cb5c0bb..674fcf42d 100644 --- a/src/Common/Dto/Api/GarminAuthenticationContracts.cs +++ b/src/Api.Contract/GarminAuthenticationContracts.cs @@ -1,8 +1,8 @@ -namespace Common.Dto.Api; +namespace Api.Contract; public record GarminAuthenticationMfaTokenPostRequest { - public string MfaToken { get; set; } + public string? MfaToken { get; set; } } public record GarminAuthenticationGetResponse diff --git a/src/Api.Contract/IError.cs b/src/Api.Contract/IError.cs new file mode 100644 index 000000000..b4da01165 --- /dev/null +++ b/src/Api.Contract/IError.cs @@ -0,0 +1,34 @@ +namespace Api.Contract; + +public interface IErrorResponse +{ + public string Message { get; set; } + public ErrorCode Code { get; set; } +} + +public class ErrorResponse : IErrorResponse +{ + public string Message { get; set; } + public ErrorCode Code { get; set; } + public Exception? Exception { get; set; } + + public ErrorResponse(string message, Exception? ex = null) + { + Message = message; + } + + public ErrorResponse(string message, ErrorCode code, Exception? ex = null) + { + Message = message; + Code = code; + } +} + +public enum ErrorCode : ushort +{ + None = 0, + + NeedToInitGarminMFAAuth = 100, + UnexpectedGarminMFA = 101, + InvalidGarminCredentials = 102, +} diff --git a/src/Common/Dto/Api/IPaging.cs b/src/Api.Contract/IPaging.cs similarity index 66% rename from src/Common/Dto/Api/IPaging.cs rename to src/Api.Contract/IPaging.cs index 1a7161cc0..6683d9f5d 100644 --- a/src/Common/Dto/Api/IPaging.cs +++ b/src/Api.Contract/IPaging.cs @@ -1,8 +1,7 @@ using Common.Helpers; using Microsoft.AspNetCore.Mvc; -using System.Collections.Generic; -namespace Common.Dto.Api; +namespace Api.Contract; public interface IPagingRequest { @@ -38,19 +37,4 @@ public abstract class PagingResponseBase : IPagingResponse public abstract ICollection Items { get; set; } -} - -public static class PagingExtensions -{ - public static bool IsValid(this IPagingRequest request, out ActionResult result) - { - if (request.PageSize.CheckIsLessThanOrEqualTo(0, nameof(request.PageSize), out result)) - return false; - - if (request.PageIndex.CheckIsLessThan(0, nameof(request.PageIndex), out result)) - return false; - - return true; - } -} - +} \ No newline at end of file diff --git a/src/Common/Dto/Api/PelotonAnnualChallengeContracts.cs b/src/Api.Contract/PelotonAnnualChallengeContracts.cs similarity index 74% rename from src/Common/Dto/Api/PelotonAnnualChallengeContracts.cs rename to src/Api.Contract/PelotonAnnualChallengeContracts.cs index 5a44fe7ac..07bdc1c45 100644 --- a/src/Common/Dto/Api/PelotonAnnualChallengeContracts.cs +++ b/src/Api.Contract/PelotonAnnualChallengeContracts.cs @@ -1,23 +1,28 @@ -using System.Collections.Generic; - -namespace Common.Dto.Api; - -public record ProgressGetResponse -{ - public double EarnedMinutes { get; init; } - public ICollection Tiers { get; init; } -} - -public record Tier -{ - public string BadgeUrl { get; init; } - public string Title { get; init; } - public double RequiredMinutes { get; init; } - public bool HasEarned { get; init; } - public float PercentComplete { get; init; } - public bool IsOnTrackToEarndByEndOfYear { get; init; } - public double MinutesBehindPace { get; init; } - public double MinutesAheadOfPace { get; init; } - public double MinutesNeededPerDay { get; init; } - public double MinutesNeededPerWeek { get; init; } +namespace Api.Contract; + +public record ProgressGetResponse +{ + public ProgressGetResponse() + { + Tiers = new List(); + } + + public double EarnedMinutes { get; init; } + public ICollection Tiers { get; init; } +} + +public record Tier +{ + public Tier() { } + + public string? BadgeUrl { get; init; } + public string? Title { get; init; } + public double RequiredMinutes { get; init; } + public bool HasEarned { get; init; } + public float PercentComplete { get; init; } + public bool IsOnTrackToEarndByEndOfYear { get; init; } + public double MinutesBehindPace { get; init; } + public double MinutesAheadOfPace { get; init; } + public double MinutesNeededPerDay { get; init; } + public double MinutesNeededPerWeek { get; init; } } \ No newline at end of file diff --git a/src/Common/Dto/Api/PelotonWorkoutsRequest.cs b/src/Api.Contract/PelotonWorkoutsRequest.cs similarity index 81% rename from src/Common/Dto/Api/PelotonWorkoutsRequest.cs rename to src/Api.Contract/PelotonWorkoutsRequest.cs index 1dd9ac269..6a8587a5a 100644 --- a/src/Common/Dto/Api/PelotonWorkoutsRequest.cs +++ b/src/Api.Contract/PelotonWorkoutsRequest.cs @@ -1,8 +1,7 @@ -using Common.Dto.Peloton; -using System; -using System.Collections.Generic; +using Common.Dto; +using Common.Dto.Peloton; -namespace Common.Dto.Api; +namespace Api.Contract; public class PelotonWorkoutsGetRequest : IPagingRequest { @@ -60,13 +59,13 @@ public PelotonWorkout(Workout workout) ImageUrl = workout.Ride?.Image_Url; } - public string Id { get; init; } - public string Status { get; init; } - public string ClassTypeTitle { get; init; } - public string WorkoutTitle { get; init; } - public string Name { get; init; } + public string? Id { get; init; } + public string? Status { get; init; } + public string? ClassTypeTitle { get; init; } + public string? WorkoutTitle { get; init; } + public string? Name { get; init; } public long CreatedAt { get; init; } - public Uri ImageUrl { get; set; } + public Uri? ImageUrl { get; set; } } diff --git a/src/Common/Dto/Api/SettingsContracts.cs b/src/Api.Contract/SettingsContracts.cs similarity index 79% rename from src/Common/Dto/Api/SettingsContracts.cs rename to src/Api.Contract/SettingsContracts.cs index 22ef9b832..fc21a6cb4 100644 --- a/src/Common/Dto/Api/SettingsContracts.cs +++ b/src/Api.Contract/SettingsContracts.cs @@ -1,6 +1,8 @@ -using System.Collections.Generic; +using Common; +using Common.Dto; +using System.Collections.Generic; -namespace Common.Dto.Api; +namespace Api.Contract; public class SettingsGetResponse { @@ -29,7 +31,7 @@ public SettingsGetResponse(Settings settings) Garmin = new SettingsGarminGetResponse() { Email = settings.Garmin.Email, - Password = null, + Password = null, TwoStepVerificationEnabled = settings.Garmin.TwoStepVerificationEnabled, FormatToUpload = settings.Garmin.FormatToUpload, Upload = settings.Garmin.Upload, @@ -47,8 +49,8 @@ public SettingsGetResponse(Settings settings) public class SettingsGarminGetResponse { public bool IsPasswordSet { get; set; } - public string Email { get; set; } - public string Password { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } @@ -57,8 +59,8 @@ public class SettingsGarminGetResponse public class SettingsGarminPostRequest { - public string Email { get; set; } - public string Password { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } @@ -67,18 +69,23 @@ public class SettingsGarminPostRequest public class SettingsPelotonGetResponse { + public SettingsPelotonGetResponse() + { + ExcludeWorkoutTypes = new List(); + } + public bool IsPasswordSet { get; set; } - public string Email { get; set; } - public string Password { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } public ICollection ExcludeWorkoutTypes { get; set; } public int NumWorkoutsToDownload { get; set; } } public class SettingsPelotonPostRequest { - public string Email { get; set; } - public string Password { get; set; } - public ICollection ExcludeWorkoutTypes { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } + public ICollection? ExcludeWorkoutTypes { get; set; } public int NumWorkoutsToDownload { get; set; } } @@ -95,9 +102,9 @@ public static SettingsPelotonPostRequest Map(this SettingsPelotonGetResponse res }; } - public static Common.Peloton Map(this SettingsPelotonPostRequest request) + public static Peloton Map(this SettingsPelotonPostRequest request) { - return new Common.Peloton() + return new Peloton() { Email = request.Email, Password = request.Password, @@ -119,9 +126,9 @@ public static SettingsGarminPostRequest Map(this SettingsGarminGetResponse respo }; } - public static Common.Garmin Map(this SettingsGarminPostRequest request) + public static Garmin Map(this SettingsGarminPostRequest request) { - return new Common.Garmin() + return new Garmin() { Email = request.Email, Password = request.Password, diff --git a/src/Common/Dto/Api/SyncContracts.cs b/src/Api.Contract/SyncContracts.cs similarity index 94% rename from src/Common/Dto/Api/SyncContracts.cs rename to src/Api.Contract/SyncContracts.cs index f2c24712b..f9a108a07 100644 --- a/src/Common/Dto/Api/SyncContracts.cs +++ b/src/Api.Contract/SyncContracts.cs @@ -1,8 +1,6 @@ using Common.Database; -using System; -using System.Collections.Generic; -namespace Common.Dto.Api; +namespace Api.Contract; public record SyncGetResponse { diff --git a/src/Common/Dto/Api/SystemInfoRequest.cs b/src/Api.Contract/SystemInfoRequest.cs similarity index 81% rename from src/Common/Dto/Api/SystemInfoRequest.cs rename to src/Api.Contract/SystemInfoRequest.cs index ad4541c6b..89eb6e48d 100644 --- a/src/Common/Dto/Api/SystemInfoRequest.cs +++ b/src/Api.Contract/SystemInfoRequest.cs @@ -1,4 +1,4 @@ -namespace Common.Dto.Api; +namespace Api.Contract; public class SystemInfoGetRequest { @@ -38,7 +38,7 @@ public SystemInfoGetResponse() public string Issues { get; set; } public string Api { get; set; } public bool? NewerVersionAvailable { get; set; } - public LatestVersionInformation LatestVersionInformation { get; set; } + public LatestVersionInformation? LatestVersionInformation { get; set; } } public class LatestVersionInformation @@ -47,11 +47,12 @@ public LatestVersionInformation() { LatestVersion = string.Empty; ReleaseUrl = string.Empty; + ReleaseDate = string.Empty; Description = string.Empty; } - public string LatestVersion { get; set; } - public string ReleaseDate { get; set; } - public string ReleaseUrl { get; set; } - public string Description { get; set; } + public string? LatestVersion { get; set; } + public string? ReleaseDate { get; set; } + public string? ReleaseUrl { get; set; } + public string? Description { get; set; } } diff --git a/src/Api.Service/Api.Service.csproj b/src/Api.Service/Api.Service.csproj new file mode 100644 index 000000000..c98317ca0 --- /dev/null +++ b/src/Api.Service/Api.Service.csproj @@ -0,0 +1,19 @@ + + + + net7.0 + enable + enable + + + + + + + + + + + + + diff --git a/src/Api.Service/ApiStartupServices.cs b/src/Api.Service/ApiStartupServices.cs new file mode 100644 index 000000000..0c1426dc1 --- /dev/null +++ b/src/Api.Service/ApiStartupServices.cs @@ -0,0 +1,64 @@ +using Common.Database; +using Common.Service; +using Common; +using Conversion; +using Garmin; +using Microsoft.Extensions.Caching.Memory; +using Peloton.AnnualChallenge; +using Peloton; +using Sync; +using Philosowaffle.Capability.ReleaseChecks; +using Microsoft.Extensions.DependencyInjection; +using Api.Services; +using Garmin.Auth; +using Api.Service; + +namespace SharedStartup; + +public static class ApiStartupServices +{ + public static void ConfigureP2GApiServices(this IServiceCollection services) + { + // CACHE + services.AddSingleton(); + + // CONVERT + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // GARMIN + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // IO + services.AddSingleton(); + + // MIGRATIONS + services.AddSingleton(); + + // PELOTON + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // RELEASE CHECKS + services.AddGitHubReleaseChecker(); + + // SETTINGS + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + // SYNC + services.AddSingleton(); + services.AddSingleton(); + + // SYSTEM INFO + services.AddSingleton(); + + // USERS + services.AddSingleton(); + } +} diff --git a/src/Api.Service/Helpers/Guard.cs b/src/Api.Service/Helpers/Guard.cs new file mode 100644 index 000000000..107177314 --- /dev/null +++ b/src/Api.Service/Helpers/Guard.cs @@ -0,0 +1,84 @@ +using Api.Contract; + +namespace Api.Service.Helpers; + +public static class Guard +{ + public static bool IsNull(this T input, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input is null) + { + result = new ErrorResponse(errorMessage ?? $"{name} must not be null."); + return true; + } + + return false; + } + + public static bool CheckIsNullOrEmpty(this string input, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (string.IsNullOrEmpty(input)) + { + result = new ErrorResponse(errorMessage ?? $"{name} must not be null or empty."); + return true; + } + + return false; + } + + public static bool CheckIsLessThanOrEqualTo(this int input, int limit, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input <= limit) + { + result = new ErrorResponse(errorMessage ?? $"{name} must be greater than {limit}."); + return true; + } + + return false; + } + + public static bool CheckIsLessThan(this int input, int limit, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input < limit) + { + result = new ErrorResponse(errorMessage ?? $"{name} must be greater than or equal to {limit}."); + return true; + } + + return false; + } + + public static bool DoesNotHaveAny(this ICollection input, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input is null || !input.Any()) + { + result = new ErrorResponse(errorMessage ?? $"{name} must not be empty."); + return true; + } + + return false; + } + + public static bool IsAfter(this DateTime input, DateTime limit, string name, out ErrorResponse? result, string? errorMessage = null) + { + result = null; + + if (input > limit) + { + result = new ErrorResponse(errorMessage ?? $"{name} must be before {limit}."); + return true; + } + + return false; + } +} diff --git a/src/Api.Service/Helpers/PagingExtensions.cs b/src/Api.Service/Helpers/PagingExtensions.cs new file mode 100644 index 000000000..3ab4950d0 --- /dev/null +++ b/src/Api.Service/Helpers/PagingExtensions.cs @@ -0,0 +1,17 @@ +using Api.Contract; + +namespace Api.Service.Helpers; + +public static class PagingExtensions +{ + public static bool IsValid(this IPagingRequest request, out ErrorResponse? result) + { + if (request.PageSize.CheckIsLessThanOrEqualTo(0, nameof(request.PageSize), out result)) + return false; + + if (request.PageIndex.CheckIsLessThan(0, nameof(request.PageIndex), out result)) + return false; + + return true; + } +} \ No newline at end of file diff --git a/src/Api.Service/Helpers/ServiceResponseExtensions.cs b/src/Api.Service/Helpers/ServiceResponseExtensions.cs new file mode 100644 index 000000000..e9a2301b1 --- /dev/null +++ b/src/Api.Service/Helpers/ServiceResponseExtensions.cs @@ -0,0 +1,30 @@ +using Api.Contract; +using Common.Dto; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace Api.Service.Helpers; + +public static class ServiceResultExtensions +{ + public static bool IsErrored(this IServiceResult serviceResult) => !serviceResult.Successful; + + public static ActionResult GetResultForError(this IServiceResult serviceResult) + { + if (serviceResult.Error is null) + return new ObjectResult(new ErrorResponse($"Unexpected error occurred.")) + { + StatusCode = StatusCodes.Status500InternalServerError + }; + + if (serviceResult.Error.IsServerException) + { + return new ObjectResult(new ErrorResponse(serviceResult.Error.Message)) + { + StatusCode = StatusCodes.Status500InternalServerError + }; + } + + return new BadRequestObjectResult(new ErrorResponse(serviceResult.Error.Message)); + } +} \ No newline at end of file diff --git a/src/Api.Service/Mappers/AnnualChallengeMapper.cs b/src/Api.Service/Mappers/AnnualChallengeMapper.cs new file mode 100644 index 000000000..9973ff220 --- /dev/null +++ b/src/Api.Service/Mappers/AnnualChallengeMapper.cs @@ -0,0 +1,23 @@ +using Api.Contract; + +namespace Api.Service.Mappers; + +public static class AnnualChallengeMapper +{ + public static Tier Map(this Peloton.AnnualChallenge.Tier t) + { + return new Tier() + { + BadgeUrl = t.BadgeUrl, + Title = t.Title, + RequiredMinutes = t.RequiredMinutes, + HasEarned = t.HasEarned, + PercentComplete = Convert.ToSingle(t.PercentComplete * 100), + IsOnTrackToEarndByEndOfYear = t.IsOnTrackToEarndByEndOfYear, + MinutesBehindPace = t.MinutesBehindPace, + MinutesAheadOfPace = t.MinutesAheadOfPace, + MinutesNeededPerDay = t.MinutesNeededPerDay, + MinutesNeededPerWeek = t.MinutesNeededPerWeek, + }; + } +} diff --git a/src/Api.Service/SettingsUpdaterService.cs b/src/Api.Service/SettingsUpdaterService.cs new file mode 100644 index 000000000..3f763321b --- /dev/null +++ b/src/Api.Service/SettingsUpdaterService.cs @@ -0,0 +1,148 @@ +using Api.Contract; +using Common; +using Common.Dto; +using Common.Service; + +namespace Api.Service; + +public interface ISettingsUpdaterService +{ + Task> UpdateAppSettingsAsync(App updatedAppSettings); + Task> UpdatePelotonSettingsAsync(SettingsPelotonPostRequest updatedPelotonSettings); + Task> UpdateFormatSettingsAsync(Format updatedFormatSettings); + Task> UpdateGarminSettingsAsync(SettingsGarminPostRequest updatedGarminSettings); +} +public class SettingsUpdaterService : ISettingsUpdaterService +{ + private readonly IFileHandling _fileHandler; + private readonly ISettingsService _settingsService; + + public SettingsUpdaterService(IFileHandling fileHandler, ISettingsService settingsService) + { + _fileHandler = fileHandler; + _settingsService = settingsService; + } + + public async Task> UpdateAppSettingsAsync(App updatedAppSettings) + { + var result = new ServiceResult(); + + if (updatedAppSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated AppSettings must not be null or empty." }; + return result; + } + + if (!string.IsNullOrWhiteSpace(updatedAppSettings.OutputDirectory) + && !_fileHandler.DirExists(updatedAppSettings.OutputDirectory)) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Output Directory path is either not accessible or does not exist." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + settings.App = updatedAppSettings; + + if (settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Automatic Syncing cannot be enabled when Garmin TwoStepVerification is enabled." }; + return result; + } + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = updatedSettings.App; + return result; + } + + public async Task> UpdateFormatSettingsAsync(Format updatedFormatSettings) + { + var result = new ServiceResult(); + + if (updatedFormatSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated Format Settings must not be null or empty." }; + return result; + } + + if (!string.IsNullOrWhiteSpace(updatedFormatSettings.DeviceInfoPath) + && !_fileHandler.FileExists(updatedFormatSettings.DeviceInfoPath)) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "The DeviceInfo path is either not accessible or does not exist." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + settings.Format = updatedFormatSettings; + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = updatedSettings.Format; + return result; + } + + public async Task> UpdateGarminSettingsAsync(SettingsGarminPostRequest updatedGarminSettings) + { + var result = new ServiceResult(); + + if (updatedGarminSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated Garmin Settings must not be null or empty." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + settings.Garmin = updatedGarminSettings.Map(); + + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Garmin TwoStepVerification cannot be enabled while Automatic Syncing is enabled. Please disable Automatic Syncing first." }; + return result; + } + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = new SettingsGetResponse(updatedSettings).Garmin; + return result; + } + + public async Task> UpdatePelotonSettingsAsync(SettingsPelotonPostRequest updatedPelotonSettings) + { + var result = new ServiceResult(); + + if (updatedPelotonSettings is null) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Updated PelotonSettings must not be null or empty." }; + return result; + } + + var settings = await _settingsService.GetSettingsAsync(); + + if (updatedPelotonSettings.NumWorkoutsToDownload <= 0 + && settings.App.EnablePolling) + { + result.Successful = false; + result.Error = new ServiceError() { Message = "Number of workouts to download must but greater than 0 when Automatic Polling is enabled." }; + return result; + } + + settings.Peloton = updatedPelotonSettings.Map(); + + await _settingsService.UpdateSettingsAsync(settings); + var updatedSettings = await _settingsService.GetSettingsAsync(); + + result.Result = new SettingsGetResponse(updatedSettings).Peloton; + return result; + } +} diff --git a/src/Api.Service/SystemInfoService.cs b/src/Api.Service/SystemInfoService.cs new file mode 100644 index 000000000..742bf96d0 --- /dev/null +++ b/src/Api.Service/SystemInfoService.cs @@ -0,0 +1,55 @@ +using Api.Contract; +using Common; +using Common.Dto; +using Core.GitHub; +using Philosowaffle.Capability.ReleaseChecks.Model; + +namespace Api.Services; + +public interface ISystemInfoService +{ + Task GetAsync(SystemInfoGetRequest request, string? scheme = null, string? host = null); +} + +public class SystemInfoService : ISystemInfoService +{ + private readonly IGitHubReleaseCheckService _gitHubService; + + public SystemInfoService(IGitHubReleaseCheckService gitHubService) + { + _gitHubService = gitHubService; + } + + public async Task GetAsync(SystemInfoGetRequest request, string? scheme = null, string? host = null) + { + LatestReleaseInformation? versionInformation = null; + + if (request.CheckForUpdate) + versionInformation = await _gitHubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + + return new SystemInfoGetResponse() + { + OperatingSystem = SystemInformation.OS, + OperatingSystemVersion = SystemInformation.OSVersion, + + RunTimeVersion = SystemInformation.RunTimeVersion, + + Version = Constants.AppVersion, + NewerVersionAvailable = versionInformation?.IsReleaseNewerThanInstalledVersion, + LatestVersionInformation = request.CheckForUpdate ? new LatestVersionInformation() + { + LatestVersion = versionInformation?.LatestVersion, + ReleaseDate = versionInformation?.ReleaseDate.ToString(), + ReleaseUrl = versionInformation?.ReleaseUrl, + Description = versionInformation?.Description + } : null, + + GitHub = "https://github.com/philosowaffle/peloton-to-garmin", + Documentation = "https://philosowaffle.github.io/peloton-to-garmin/", + Forums = "https://github.com/philosowaffle/peloton-to-garmin/discussions", + Donate = "https://www.buymeacoffee.com/philosowaffle", + Issues = "https://github.com/philosowaffle/peloton-to-garmin/issues", + Api = $"{scheme}://{host}/swagger" + }; + } +} diff --git a/src/Api.Service/Validators/SyncValidators.cs b/src/Api.Service/Validators/SyncValidators.cs new file mode 100644 index 000000000..b30d0b084 --- /dev/null +++ b/src/Api.Service/Validators/SyncValidators.cs @@ -0,0 +1,52 @@ +using Api.Contract; +using Api.Service.Helpers; +using Common; +using Common.Stateful; +using Microsoft.AspNetCore.Mvc; + +namespace Api.Service.Validators; + +public static class SyncValidators +{ + public static (bool, ErrorResponse?) IsValid(this SyncPostRequest request, Settings settings, GarminApiAuthentication garminAuth) + { + if (request.IsNull("Request", out var result)) + return (false, result); + + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) + { + if (garminAuth is null || !garminAuth.IsValid(settings)) + { + result = new ErrorResponse("Must initialize Garmin two factor auth token before sync can be preformed.", ErrorCode.NeedToInitGarminMFAAuth); + return (false, result); + } + } + + if (request.WorkoutIds.DoesNotHaveAny(nameof(request.WorkoutIds), out result!)) + return (false, result); + + return (true, result); + } + + public static (bool, ActionResult?) IsValidHttp(this SyncPostRequest request, Settings settings, GarminApiAuthentication garminAuth) + { + ActionResult result = new OkResult(); + + if (request.IsNull("Request", out var error)) + return (false, new BadRequestObjectResult(error)); + + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) + { + if (garminAuth is null || !garminAuth.IsValid(settings)) + { + result = new UnauthorizedObjectResult(new ErrorResponse("Must initialize Garmin two factor auth token before sync can be preformed.", ErrorCode.NeedToInitGarminMFAAuth)); + return (false, result); + } + } + + if (request.WorkoutIds.DoesNotHaveAny(nameof(request.WorkoutIds), out error!)) + return (false, new BadRequestObjectResult(error)); + + return (true, result); + } +} diff --git a/src/Api/Api.csproj b/src/Api/Api.csproj index 1758938f7..0e5d1cf2d 100644 --- a/src/Api/Api.csproj +++ b/src/Api/Api.csproj @@ -26,20 +26,12 @@ - - - - - - - - - - + + diff --git a/src/Api/Controllers/GarminAuthenticationController.cs b/src/Api/Controllers/GarminAuthenticationController.cs index 6e1adab00..77bea7ff1 100644 --- a/src/Api/Controllers/GarminAuthenticationController.cs +++ b/src/Api/Controllers/GarminAuthenticationController.cs @@ -1,5 +1,5 @@ -using Common.Dto.Api; -using Common.Helpers; +using Api.Contract; +using Api.Service.Helpers; using Common.Service; using Garmin.Auth; using Microsoft.AspNetCore.Mvc; @@ -47,8 +47,8 @@ public async Task SignInAsync() { var settings = await _settingsService.GetSettingsAsync(); - if (settings.Garmin.Password.CheckIsNullOrEmpty("Garmin Password", out var result)) return result; - if (settings.Garmin.Email.CheckIsNullOrEmpty("Garmin Email", out result)) return result; + if (settings.Garmin.Password.CheckIsNullOrEmpty("Garmin Password", out var result)) return BadRequest(result); + if (settings.Garmin.Email.CheckIsNullOrEmpty("Garmin Email", out result)) return BadRequest(result); try { diff --git a/src/Api/Controllers/PelotonAnnualChallengeController.cs b/src/Api/Controllers/PelotonAnnualChallengeController.cs index c04b921dc..6c6f19373 100644 --- a/src/Api/Controllers/PelotonAnnualChallengeController.cs +++ b/src/Api/Controllers/PelotonAnnualChallengeController.cs @@ -1,5 +1,6 @@ -using Common.Dto; -using Common.Dto.Api; +using Api.Contract; +using Api.Service.Helpers; +using Api.Service.Mappers; using Microsoft.AspNetCore.Mvc; using Peloton.AnnualChallenge; @@ -39,24 +40,12 @@ public async Task> GetProgressSummaryAsync() return serviceResult.GetResultForError(); var data = serviceResult.Result; - var tiers = data.Tiers?.Select(t => new Common.Dto.Api.Tier() - { - BadgeUrl = t.BadgeUrl, - Title = t.Title, - RequiredMinutes = t.RequiredMinutes, - HasEarned = t.HasEarned, - PercentComplete = Convert.ToSingle(t.PercentComplete * 100), - IsOnTrackToEarndByEndOfYear = t.IsOnTrackToEarndByEndOfYear, - MinutesBehindPace = t.MinutesBehindPace, - MinutesAheadOfPace = t.MinutesAheadOfPace, - MinutesNeededPerDay = t.MinutesNeededPerDay, - MinutesNeededPerWeek = t.MinutesNeededPerWeek, - }).ToList(); + var tiers = data.Tiers?.Select(t => t.Map()).ToList(); return Ok(new ProgressGetResponse() { EarnedMinutes = data.EarnedMinutes, - Tiers = tiers ?? new List(), + Tiers = tiers ?? new List(), }); } catch (Exception e) diff --git a/src/Api/Controllers/PelotonWorkoutsController.cs b/src/Api/Controllers/PelotonWorkoutsController.cs index f8d72592f..61acb4edb 100644 --- a/src/Api/Controllers/PelotonWorkoutsController.cs +++ b/src/Api/Controllers/PelotonWorkoutsController.cs @@ -1,7 +1,7 @@ -using Common.Dto; -using Common.Dto.Api; +using Api.Contract; +using Api.Service.Helpers; +using Common.Dto; using Common.Dto.Peloton; -using Common.Helpers; using Flurl.Http; using Microsoft.AspNetCore.Mvc; using Peloton; @@ -35,7 +35,7 @@ public PelotonWorkoutsController(IPelotonService pelotonService) public async Task> GetAsync([FromQuery]PelotonWorkoutsGetRequest request) { if (!request.IsValid(out var result)) - return result; + return new BadRequestObjectResult(result); PagedPelotonResponse? recentWorkouts = null; @@ -82,7 +82,7 @@ public async Task> GetAsync([FromQuery] public async Task> GetAsync([FromQuery] PelotonWorkoutsGetAllRequest request) { if (request.SinceDate.IsAfter(DateTime.UtcNow, nameof(request.SinceDate), out var result)) - return result; + return new BadRequestObjectResult(result!); ICollection workoutsToReturn = new List(); var completedOnly = request.WorkoutStatusFilter == WorkoutStatus.Completed; diff --git a/src/Api/Controllers/SettingsController.cs b/src/Api/Controllers/SettingsController.cs index 9b894ee0a..00184bb48 100644 --- a/src/Api/Controllers/SettingsController.cs +++ b/src/Api/Controllers/SettingsController.cs @@ -1,6 +1,7 @@ -using Common; -using Common.Dto.Api; -using Common.Helpers; +using Api.Contract; +using Api.Service; +using Api.Service.Helpers; +using Common; using Common.Service; using Microsoft.AspNetCore.Mvc; @@ -13,12 +14,14 @@ namespace Api.Controllers; public class SettingsController : Controller { private readonly ISettingsService _settingsService; - private readonly IFileHandling _fileHandler; + private readonly IFileHandling _fileHandler; + private readonly ISettingsUpdaterService _settingsUpdaterService; - public SettingsController(ISettingsService settingsService, IFileHandling fileHandler) + public SettingsController(ISettingsService settingsService, IFileHandling fileHandler, ISettingsUpdaterService settingsUpdaterService) { _settingsService = settingsService; _fileHandler = fileHandler; + _settingsUpdaterService = settingsUpdaterService; } /// @@ -59,29 +62,14 @@ public async Task> Get() [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> AppPost([FromBody] App updatedAppSettings) { - if (updatedAppSettings.CheckIsNull("PostRequest", out var result)) - return result; - - if (!string.IsNullOrWhiteSpace(updatedAppSettings.OutputDirectory) - && !_fileHandler.DirExists(updatedAppSettings.OutputDirectory)) - return new BadRequestObjectResult(new ErrorResponse($"Output Directory path is either not accessible or does not exist.")); - - if (updatedAppSettings.EnablePolling - && updatedAppSettings.PollingIntervalSeconds.CheckIsLessThanOrEqualTo(0, "PollingIntervalSeconds", out result)) - return result; - try { - var settings = await _settingsService.GetSettingsAsync(); - settings.App = updatedAppSettings; - - if (settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) - return new BadRequestObjectResult(new ErrorResponse($"Automatic Syncing cannot be enabled when Garmin TwoStepVerification is enabled.")); + var result = await _settingsUpdaterService.UpdateAppSettingsAsync(updatedAppSettings); - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(updatedSettings.App); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); @@ -101,22 +89,14 @@ public async Task> AppPost([FromBody] App updatedAppSettings) [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> FormatPost([FromBody] Format updatedFormatSettings) { - if (updatedFormatSettings.CheckIsNull("PostRequest", out var result)) - return result; - - if (!string.IsNullOrWhiteSpace(updatedFormatSettings.DeviceInfoPath) - && !_fileHandler.FileExists(updatedFormatSettings.DeviceInfoPath)) - return new BadRequestObjectResult(new ErrorResponse($"DeviceInfo path is either not accessible or does not exist.")); - try { - var settings = await _settingsService.GetSettingsAsync(); - settings.Format = updatedFormatSettings; + var result = await _settingsUpdaterService.UpdateFormatSettingsAsync(updatedFormatSettings); - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(updatedSettings.Format); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); @@ -136,23 +116,14 @@ public async Task> FormatPost([FromBody] Format updatedForm [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> PelotonPost([FromBody] SettingsPelotonPostRequest updatedPelotonSettings) { - if (updatedPelotonSettings.CheckIsNull("PostRequest", out var result)) - return result; - - if (updatedPelotonSettings.NumWorkoutsToDownload.CheckIsLessThanOrEqualTo(0, "NumWorkoutsToDownload", out result)) - return result; - try { - var settings = await _settingsService.GetSettingsAsync(); - settings.Peloton = updatedPelotonSettings.Map(); - - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + var result = await _settingsUpdaterService.UpdatePelotonSettingsAsync(updatedPelotonSettings); - var settingsResponse = new SettingsGetResponse(updatedSettings); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(settingsResponse.Peloton); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); @@ -171,24 +142,15 @@ public async Task> PelotonPost([FromBod [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> GarminPost([FromBody] SettingsGarminPostRequest updatedGarminSettings) - { - if (updatedGarminSettings.CheckIsNull("PostRequest", out var result)) - return result; - + { try { - var settings = await _settingsService.GetSettingsAsync(); - settings.Garmin = updatedGarminSettings.Map(); - - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) - return new BadRequestObjectResult(new ErrorResponse($"Garmin TwoStepVerification cannot be enabled while Automatic Syncing is enabled. Please disable Automatic Syncing first.")); - - await _settingsService.UpdateSettingsAsync(settings); - var updatedSettings = await _settingsService.GetSettingsAsync(); + var result = await _settingsUpdaterService.UpdateGarminSettingsAsync(updatedGarminSettings); - var settingsResponse = new SettingsGetResponse(updatedSettings); + if (result.IsErrored()) + return result.GetResultForError(); - return Ok(settingsResponse.Garmin); + return Ok(result.Result); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); diff --git a/src/Api/Controllers/SyncController.cs b/src/Api/Controllers/SyncController.cs index 98cfc101b..16af58c41 100644 --- a/src/Api/Controllers/SyncController.cs +++ b/src/Api/Controllers/SyncController.cs @@ -1,11 +1,10 @@ -using Common.Database; -using Common.Dto.Api; -using Common.Helpers; +using Api.Contract; +using Api.Service.Validators; +using Common.Database; using Common.Service; using Microsoft.AspNetCore.Mvc; using Sync; -using ErrorResponse = Common.Dto.Api.ErrorResponse; - + namespace Api.Controllers; [ApiController] @@ -30,21 +29,22 @@ public SyncController(ISettingsService settingsService, ISyncService syncService /// /// The sync was successful. Returns the sync status information. /// This request completed, but the Sync may not have been successful. Returns the sync status information. - /// If the request fields are invalid. + /// If the request fields are invalid. /// ErrorCode.NeedToInitGarminMFAAuth - Garmin Two Factor is enabled, you must manually initialize Garmin auth prior to syncing. /// Unhandled exception. [HttpPost] [ProducesResponseType(typeof(SyncPostResponse), StatusCodes.Status201Created)] [ProducesResponseType(typeof(SyncPostResponse), StatusCodes.Status200OK)] - [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] - [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status401Unauthorized)] - [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] + [ProducesResponseType(typeof(Contract.ErrorResponse), StatusCodes.Status400BadRequest)] + [ProducesResponseType(typeof(Contract.ErrorResponse), StatusCodes.Status401Unauthorized)] + [ProducesResponseType(typeof(Contract.ErrorResponse), StatusCodes.Status500InternalServerError)] public async Task> SyncAsync([FromBody] SyncPostRequest request) { var settings = await _settingsService.GetSettingsAsync(); + var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); - var (isValid, result) = await IsValidAsync(request); - if (!isValid) return result; + var (isValid, result) = request.IsValidHttp(settings, auth); + if (!isValid) return result!; SyncResult syncResult = new(); try @@ -53,7 +53,7 @@ public async Task> SyncAsync([FromBody] SyncPostR } catch (Exception e) { - return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); + return StatusCode(StatusCodes.Status500InternalServerError, new Contract.ErrorResponse($"Unexpected error occurred: {e.Message}")); } var response = new SyncPostResponse() @@ -62,7 +62,7 @@ public async Task> SyncAsync([FromBody] SyncPostR PelotonDownloadSuccess = syncResult.PelotonDownloadSuccess, ConverToFitSuccess = syncResult.ConversionSuccess, UploadToGarminSuccess = syncResult.UploadToGarminSuccess, - Errors = syncResult.Errors.Select(e => new ErrorResponse(e.Message)).ToList() + Errors = syncResult.Errors.Select(e => new Contract.ErrorResponse(e.Message)).ToList() }; if (!response.SyncSuccess) @@ -98,29 +98,5 @@ public async Task> GetAsync() }; return response; - } - - async Task<(bool, ActionResult)> IsValidAsync(SyncPostRequest request) - { - ActionResult result = new OkResult(); - - if (request.CheckIsNull("PostRequest", out result)) - return (false, result); - - var settings = await _settingsService.GetSettingsAsync(); - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) - { - var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); - if (auth is null || !auth.IsValid(settings)) - { - result = new UnauthorizedObjectResult(new ErrorResponse("Must initialize Garmin two factor auth token before sync can be preformed.", ErrorCode.NeedToInitGarminMFAAuth)); - return (false, result); - } - } - - if (request.WorkoutIds.CheckDoesNotHaveAny(nameof(request.WorkoutIds), out result)) - return (false, result); - - return (true, result); } } diff --git a/src/Api/Controllers/SystemInfoController.cs b/src/Api/Controllers/SystemInfoController.cs index cbcedf93b..0d9127128 100644 --- a/src/Api/Controllers/SystemInfoController.cs +++ b/src/Api/Controllers/SystemInfoController.cs @@ -1,9 +1,6 @@ -using Common; -using Common.Dto; -using Common.Dto.Api; -using Core.GitHub; +using Api.Contract; +using Api.Services; using Microsoft.AspNetCore.Mvc; -using Philosowaffle.Capability.ReleaseChecks.Model; namespace WebApp.Controllers { @@ -13,11 +10,11 @@ namespace WebApp.Controllers [Consumes("application/json")] public class SystemInfoController : Controller { - private readonly IGitHubReleaseCheckService _gitHubService; + private readonly ISystemInfoService _systemInfoService; - public SystemInfoController(IGitHubReleaseCheckService gitHubService) + public SystemInfoController(ISystemInfoService systemInforService) { - _gitHubService = gitHubService; + _systemInfoService = systemInforService; } /// @@ -28,35 +25,8 @@ public SystemInfoController(IGitHubReleaseCheckService gitHubService) [ProducesResponseType(StatusCodes.Status200OK)] public async Task> GetAsync([FromQuery]SystemInfoGetRequest request) { - LatestReleaseInformation? versionInformation = null; - - if (request.CheckForUpdate) - versionInformation = await _gitHubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); - - return new SystemInfoGetResponse() - { - OperatingSystem = SystemInformation.OS, - OperatingSystemVersion = SystemInformation.OSVersion, - - RunTimeVersion = SystemInformation.RunTimeVersion, - - Version = Constants.AppVersion, - NewerVersionAvailable = versionInformation?.IsReleaseNewerThanInstalledVersion, - LatestVersionInformation = request.CheckForUpdate ? new LatestVersionInformation() - { - LatestVersion = versionInformation?.LatestVersion, - ReleaseDate = versionInformation?.ReleaseDate.ToString(), - ReleaseUrl = versionInformation?.ReleaseUrl, - Description = versionInformation?.Description - } : null, - - GitHub = "https://github.com/philosowaffle/peloton-to-garmin", - Documentation = "https://philosowaffle.github.io/peloton-to-garmin/", - Forums = "https://github.com/philosowaffle/peloton-to-garmin/discussions", - Donate = "https://www.buymeacoffee.com/philosowaffle", - Issues = "https://github.com/philosowaffle/peloton-to-garmin/issues", - Api = $"{this.Request.Scheme}://{this.Request.Host}/swagger" - }; + var result = await _systemInfoService.GetAsync(request, this.Request.Scheme, this.Request.Host.ToString()); + return Ok(result); } } } diff --git a/src/Api/Program.cs b/src/Api/Program.cs index ec88c90f1..fd3feb923 100644 --- a/src/Api/Program.cs +++ b/src/Api/Program.cs @@ -1,23 +1,13 @@ using Api.Services; using Common; using Common.Database; -using Common.Http; using Common.Observe; -using Common.Service; using Common.Stateful; -using Conversion; -using Garmin; -using Garmin.Auth; -using Microsoft.Extensions.Caching.Memory; -using Peloton; -using Peloton.AnnualChallenge; -using Philosowaffle.Capability.ReleaseChecks; using Prometheus; using Serilog; using Serilog.Enrichers.Span; using Serilog.Events; -using Serilog.Settings.Configuration; -using Sync; +using SharedStartup; using System.Reflection; /////////////////////////////////////////////////////////// @@ -51,12 +41,12 @@ .Enrich.FromLogContext(); }); -builder.Host.ConfigureServices(services => services.AddHostedService()); - /////////////////////////////////////////////////////////// /// SERVICES /////////////////////////////////////////////////////////// +builder.Services.AddHostedService(); + builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(c => @@ -72,53 +62,9 @@ c.IncludeXmlComments(docPath); }); -// CACHE -builder.Services.AddSingleton(); - -// CONVERT -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// GARMIN -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// IO -builder.Services.AddSingleton(); - -// MIGRATIONS -builder.Services.AddSingleton(); - -// PELOTON -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// RELEASE CHECKS -builder.Services.AddGitHubReleaseChecker(); - -// SETTINGS -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// SYNC -builder.Services.AddSingleton(); -builder.Services.AddSingleton(); - -// USERS -builder.Services.AddSingleton(); - -FlurlConfiguration.Configure(config.Observability); -Tracing.EnableApiTracing(builder.Services, config.Observability.Jaeger); - -Log.Logger = new LoggerConfiguration() - .ReadFrom.Configuration(builder.Configuration, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) - .Enrich.FromLogContext() - .CreateLogger(); +builder.Services.ConfigureP2GApiServices(); -Logging.LogSystemInformation(); +ObservabilityStartup.Configure(builder.Services, builder.Configuration, config); Common.Observe.Metrics.CreateAppInfo(); /////////////////////////////////////////////////////////// diff --git a/src/ClientUI/App.xaml b/src/ClientUI/App.xaml new file mode 100644 index 000000000..4115021dd --- /dev/null +++ b/src/ClientUI/App.xaml @@ -0,0 +1,26 @@ + + + + + + #512bdf + White + + + + + + + + \ No newline at end of file diff --git a/src/ClientUI/App.xaml.cs b/src/ClientUI/App.xaml.cs new file mode 100644 index 000000000..15b9edee7 --- /dev/null +++ b/src/ClientUI/App.xaml.cs @@ -0,0 +1,12 @@ +namespace ClientUI +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new MainPage(); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/ClientUI.csproj b/src/ClientUI/ClientUI.csproj new file mode 100644 index 000000000..af49783a3 --- /dev/null +++ b/src/ClientUI/ClientUI.csproj @@ -0,0 +1,79 @@ + + + + net7.0-windows10.0.19041.0 + + + + + Exe + ClientUI + true + true + enable + false + true + + + PelotonToGarmin + + + com.philosowaffle.pelotontogarmin.clientui + B01486E7-1F8D-4350-B68E-874A02A96694 + + + 1.0 + 1 + + 14.2 + 14.0 + 24.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + true + 590886801A2E0E983A333A63D7BBCA03F7098322 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Always + + + + diff --git a/src/ClientUI/ClientUI_TemporaryKey.pfx b/src/ClientUI/ClientUI_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..d2cfd2a56879dce0e93f79f47712356e7b8c793f GIT binary patch literal 2536 zcmZXUc{JNu8^?bkVi%09)H0UVSVIscwKhRZt)-=;q$q~i*V24$7#dwpvDQ zDPxJH4Yli7YAZEWipEwZo%6mk=RNPa=X>w>`8@Y|&i&^;Fg)uD1BelZXDx!T$|V{n z(l|lPpdvhLIvCHIO2-5kp6Td+QcRm*Jktj{UZ!gS!v3Es4mJ=&5gvRB!-J1t=OJwW z#q{P}V3y9VoP%9%jWq@a<`FO+Jnf&s-rt%QcVErvqjHLZ&04}UZ?Bx09M!_Lj;Zas zFAG0}Gx3a7$BTiu`@Nsv)vv&;lM*vj5|Ura8eraSZ(Ehe{E*Jey%}KJ?8gchf(GXWQrg||I>;ZfIgIBVac4_G>}Z>he% zz(BKte#yMoaO6^BR#9K^)iGrHF&f>(ID-!8A3t@IFz08jpKI|I4^nU7{@mC{{lh+u ziQ&0pYm)*ytVM;qL=*}=_IpG!=3PUoEivyc&4t?BKz>$Lr@JRw>Lb@EL%yZ2t^ zgZo)<&NgTb-Lez!1-HwbYLDkzp;p6{Iu7K>5?aDF#Q`zcuGAHupE3zIY@*U_Hzo-u z2DMubb`q-ry3_4~%e9}J9gynQH{J$JNkaN}?J+;QvhpIIu-U0`qE^Re=U+Xw|c#FiAs-Btekr4ambqgz3p3j9bTn@9PKLk z$snZ?co12ND+J0%#9&Hpjv_y`tgaJP1V8m&l1K`clKIgam;FXlBjw@7A1g;EW%9Ds zUmvUtT~~OQSD>tQy%@6AyAVXNy{u7O`M$;W@N9jUQIZiPc%ky_vEhR`5cBF7fBoZ4 zoMX^Z)%wpg0USXFb*%{R`V?5BNalP zsoSwx^WS=Q&y%9LEP3Jya7h<}HZs{Rr8~2DRdu%oUHHHs!^mNk`djUkELCzYkNv^U zA5R;mB8*1WZbk{_i+9T3h~5v7J92eO-Sn}IRBk%pF&gDXvvgq8iK6VAg!Q|=h{!+j z&Flr^V$_@sg+(WGtZ?CplJnkAtqke$QZ=5F6Xl|kulCn$BCzNV4arthqfk>hiRo)! zf~b88WNhBK{UAd%^Mn~6<#4y_)t|DgALZdue>YHDv95Ub_hrCgsL z?+t=&Ja;Bv^IlHNOg5Z?-M>Vt96VNsH^~fX=1663_FSCxF-l6X=-=Ctr*;|51@TFC z1p`Y`sYCV4PtQHVQLIa5Kb6cFt37O38#=DFqD3JA-nYrITEn@s zNwvIa;iSm8Iu3cpW1_AVAl$VfRiNIV1U1SNR*E6(M>lZDPX&6%A`pHq)>eo$qPuC= zNU`p0VKW&ceN9kTyY7bKo(sv#=zO#ZQE)c7Qv3E$(J7{Rb1R`=7?7*(g(Mo9@IX(7 zf9@lC+Yk0Uyn__0xT|pdN|_w5LH zGb7zJVJS!`**Tp)cIMYqiG2PasvVZ3Ba1Zei&)Ct zYY?>`G{z+QcDQuOfpA)fyQ=j;U^#Spvf7&0cdemGry6M~`#=;rc$Z1>I z_f;F`7tI?b@aoWU6?AiO5&BywG;fM?##qEsDdaRYC-lx+|I82PY-|t)z@i4ke$>W1 z7CARCd&)-ZF0fB?Z+ zps97~=qq3k$lxJrDQF8a!QQV(y4dnw-+bbLwFqkc0VAEk+ zq=EBo&+`XozOw`1TEOV`l8Z4Q~;SlrN4d-M*p&B^U- z84uV9cz~|0eC=GBFk~((I;n;t*J;TX4Gt;uXFBpn*pY??7uibGd#Adf_+*5oD7h&V zRplg;yJ&ePoc%~?($csJyWsSDg9kUqpL;NaSLhzytPk*35wFi}(MU<2mf@=&@-9eH z+vM#s{E^qG*}PNhfdM=YJ{o>iy5pN*OrU=v<(J9jIK7lkEfi+&4Qy9uhQF$mZN~QH z1LpjQV_2AoKU<*A_FXVhvc7NCh=rvtdmvTeimGE&Uap&nkt+s=hiSvaVayOFc`il< zVKARq&YY3fk1VaV-c&B_d3n7J*%oIoA9XILu2*^grf2Ck$^W5LE^UNL`Tha_0?BKC A00000 literal 0 HcmV?d00001 diff --git a/src/ClientUI/Main.razor b/src/ClientUI/Main.razor new file mode 100644 index 000000000..a547605d1 --- /dev/null +++ b/src/ClientUI/Main.razor @@ -0,0 +1 @@ + diff --git a/src/ClientUI/MainPage.xaml b/src/ClientUI/MainPage.xaml new file mode 100644 index 000000000..f38423f75 --- /dev/null +++ b/src/ClientUI/MainPage.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/src/ClientUI/MainPage.xaml.cs b/src/ClientUI/MainPage.xaml.cs new file mode 100644 index 000000000..3615c0fa5 --- /dev/null +++ b/src/ClientUI/MainPage.xaml.cs @@ -0,0 +1,10 @@ +namespace ClientUI +{ + public partial class MainPage : ContentPage + { + public MainPage() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/MauiProgram.cs b/src/ClientUI/MauiProgram.cs new file mode 100644 index 000000000..1c613b2a2 --- /dev/null +++ b/src/ClientUI/MauiProgram.cs @@ -0,0 +1,103 @@ +using Common.Observe; +using Common; +using Microsoft.Extensions.Logging; +using SharedUI; +using Common.Stateful; +using Microsoft.Extensions.Configuration; +using SharedStartup; + +namespace ClientUI; + +public static class MauiProgram +{ + public static MauiApp CreateMauiApp() + { + /////////////////////////////////////////////////////////// + /// STATICS + /////////////////////////////////////////////////////////// + Statics.AppType = Constants.ClientUIName; + Statics.MetricPrefix = Constants.ClientUIName; + Statics.TracingService = Constants.ClientUIName; + + Statics.DefaultDataDirectory = FileSystem.Current.AppDataDirectory; + Statics.DefaultOutputDirectory = FileSystem.Current.AppDataDirectory; + Statics.DefaultTempDirectory = FileSystem.Current.CacheDirectory; + + Directory.CreateDirectory(Path.Combine(Statics.DefaultOutputDirectory, "output")); + + /////////////////////////////////////////////////////////// + /// HOST + /////////////////////////////////////////////////////////// + var builder = MauiApp.CreateBuilder(); + builder + .UseMauiApp() + .ConfigureFonts(fonts => + { + fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); + }); + + var observabilityConfigFilePath = Path.Join(Statics.DefaultDataDirectory, "configuration.local.json"); + if (!File.Exists(observabilityConfigFilePath)) + InitObservabilityConfigFile("configuration.local.json", observabilityConfigFilePath); + + var configProvider = builder.Configuration.AddJsonFile(observabilityConfigFilePath, optional: true, reloadOnChange: true) + .AddEnvironmentVariables(prefix: "P2G_"); + + var config = new AppConfiguration(); + ConfigurationSetup.LoadConfigValues(builder.Configuration, config); + + /////////////////////////////////////////////////////////// + /// SERVICES + /////////////////////////////////////////////////////////// + + // API CLIENT + builder.Services.AddSingleton(); + + builder.Services.ConfigureSharedUIServices(); + builder.Services.ConfigureP2GApiServices(); + + ObservabilityStartup.Configure(builder.Services, builder.Configuration, config, hardcodeFileLogging: true); + + /////////////////////////////////////////////////////////// + /// APP + /////////////////////////////////////////////////////////// + + builder.Services.AddMauiBlazorWebView(); + +#if DEBUG + builder.Services.AddBlazorWebViewDeveloperTools(); + builder.Logging.AddDebug(); +#endif + + // Setup initial Tracing Source + Tracing.Source = new(Statics.TracingService); + + return builder.Build(); + } + + private static void InitObservabilityConfigFile(string sourceFileName, string destinationPath) + { + using FileStream outputStream = File.OpenWrite(destinationPath); + using Stream fs = FileSystem.Current.OpenAppPackageFileAsync(sourceFileName).GetAwaiter().GetResult(); + using BinaryWriter writer = new BinaryWriter(outputStream); + using (BinaryReader reader = new BinaryReader(fs)) + { + var bytesRead = 0; + + int bufferSize = 1024; + var buffer = new byte[bufferSize]; + using (fs) + { + do + { + buffer = reader.ReadBytes(bufferSize); + bytesRead = buffer.Count(); + writer.Write(buffer); + } + + while (bytesRead > 0); + + } + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/AndroidManifest.xml b/src/ClientUI/Platforms/Android/AndroidManifest.xml new file mode 100644 index 000000000..dbf9e7e53 --- /dev/null +++ b/src/ClientUI/Platforms/Android/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/MainActivity.cs b/src/ClientUI/Platforms/Android/MainActivity.cs new file mode 100644 index 000000000..e960165b2 --- /dev/null +++ b/src/ClientUI/Platforms/Android/MainActivity.cs @@ -0,0 +1,11 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace ClientUI +{ + [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] + public class MainActivity : MauiAppCompatActivity + { + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/MainApplication.cs b/src/ClientUI/Platforms/Android/MainApplication.cs new file mode 100644 index 000000000..c91889718 --- /dev/null +++ b/src/ClientUI/Platforms/Android/MainApplication.cs @@ -0,0 +1,16 @@ +using Android.App; +using Android.Runtime; + +namespace ClientUI +{ + [Application] + public class MainApplication : MauiApplication + { + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Android/Resources/values/colors.xml b/src/ClientUI/Platforms/Android/Resources/values/colors.xml new file mode 100644 index 000000000..c04d7492a --- /dev/null +++ b/src/ClientUI/Platforms/Android/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/src/ClientUI/Platforms/MacCatalyst/AppDelegate.cs b/src/ClientUI/Platforms/MacCatalyst/AppDelegate.cs new file mode 100644 index 000000000..7c5357446 --- /dev/null +++ b/src/ClientUI/Platforms/MacCatalyst/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace ClientUI +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/MacCatalyst/Info.plist b/src/ClientUI/Platforms/MacCatalyst/Info.plist new file mode 100644 index 000000000..403ce9c66 --- /dev/null +++ b/src/ClientUI/Platforms/MacCatalyst/Info.plist @@ -0,0 +1,30 @@ + + + + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/src/ClientUI/Platforms/MacCatalyst/Program.cs b/src/ClientUI/Platforms/MacCatalyst/Program.cs new file mode 100644 index 000000000..0fa773004 --- /dev/null +++ b/src/ClientUI/Platforms/MacCatalyst/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace ClientUI +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Tizen/Main.cs b/src/ClientUI/Platforms/Tizen/Main.cs new file mode 100644 index 000000000..f1e4b6dc1 --- /dev/null +++ b/src/ClientUI/Platforms/Tizen/Main.cs @@ -0,0 +1,17 @@ +using Microsoft.Maui; +using Microsoft.Maui.Hosting; +using System; + +namespace ClientUI +{ + internal class Program : MauiApplication + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + + static void Main(string[] args) + { + var app = new Program(); + app.Run(args); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Tizen/tizen-manifest.xml b/src/ClientUI/Platforms/Tizen/tizen-manifest.xml new file mode 100644 index 000000000..52e59bf2b --- /dev/null +++ b/src/ClientUI/Platforms/Tizen/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + maui-appicon-placeholder + + + + + http://tizen.org/privilege/internet + + + + \ No newline at end of file diff --git a/src/ClientUI/Platforms/Windows/App.xaml b/src/ClientUI/Platforms/Windows/App.xaml new file mode 100644 index 000000000..41c2bd6cf --- /dev/null +++ b/src/ClientUI/Platforms/Windows/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/src/ClientUI/Platforms/Windows/App.xaml.cs b/src/ClientUI/Platforms/Windows/App.xaml.cs new file mode 100644 index 000000000..de869244f --- /dev/null +++ b/src/ClientUI/Platforms/Windows/App.xaml.cs @@ -0,0 +1,24 @@ +using Microsoft.UI.Xaml; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace ClientUI.WinUI +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + public partial class App : MauiWinUIApplication + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/Windows/Package.appxmanifest b/src/ClientUI/Platforms/Windows/Package.appxmanifest new file mode 100644 index 000000000..ad10a7ead --- /dev/null +++ b/src/ClientUI/Platforms/Windows/Package.appxmanifest @@ -0,0 +1,47 @@ + + + + + + + + + P2G + Philosowaffle + Resources\Logo\P2G-Package-Logo.png + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ClientUI/Platforms/iOS/AppDelegate.cs b/src/ClientUI/Platforms/iOS/AppDelegate.cs new file mode 100644 index 000000000..7c5357446 --- /dev/null +++ b/src/ClientUI/Platforms/iOS/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace ClientUI +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/src/ClientUI/Platforms/iOS/Info.plist b/src/ClientUI/Platforms/iOS/Info.plist new file mode 100644 index 000000000..ecb7f719b --- /dev/null +++ b/src/ClientUI/Platforms/iOS/Info.plist @@ -0,0 +1,32 @@ + + + + + LSRequiresIPhoneOS + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/src/ClientUI/Platforms/iOS/Program.cs b/src/ClientUI/Platforms/iOS/Program.cs new file mode 100644 index 000000000..0fa773004 --- /dev/null +++ b/src/ClientUI/Platforms/iOS/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace ClientUI +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Properties/launchSettings.json b/src/ClientUI/Properties/launchSettings.json new file mode 100644 index 000000000..edf8aadcc --- /dev/null +++ b/src/ClientUI/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "MsixPackage", + "nativeDebugging": false + } + } +} \ No newline at end of file diff --git a/src/ClientUI/Resources/AppIcon/appicon.svg b/src/ClientUI/Resources/AppIcon/appicon.svg new file mode 100644 index 000000000..49fe7f83f --- /dev/null +++ b/src/ClientUI/Resources/AppIcon/appicon.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/ClientUI/Resources/AppIcon/appiconfg.svg b/src/ClientUI/Resources/AppIcon/appiconfg.svg new file mode 100644 index 000000000..a5455b3fd --- /dev/null +++ b/src/ClientUI/Resources/AppIcon/appiconfg.svg @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + P + G + 2 + + + P + G + 2 + + + + diff --git a/src/ClientUI/Resources/Fonts/OpenSans-Regular.ttf b/src/ClientUI/Resources/Fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f7fd33bb1b114cb52956511e4cca5e93bb95ea28 GIT binary patch literal 107148 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
*#yUm=j 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�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

#6X}nFG$l)`s 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 literal 0 HcmV?d00001 diff --git a/src/ClientUI/Resources/Images/dotnet_bot.svg b/src/ClientUI/Resources/Images/dotnet_bot.svg new file mode 100644 index 000000000..abfaff26a --- /dev/null +++ b/src/ClientUI/Resources/Images/dotnet_bot.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ClientUI/Resources/Raw/AboutAssets.txt b/src/ClientUI/Resources/Raw/AboutAssets.txt new file mode 100644 index 000000000..531df33f7 --- /dev/null +++ b/src/ClientUI/Resources/Raw/AboutAssets.txt @@ -0,0 +1,15 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories). Deployment of the asset to your application +is automatically handled by the following `MauiAsset` Build Action within your `.csproj`. + + + +These files will be deployed with you package and will be accessible using Essentials: + + async Task LoadMauiAsset() + { + using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt"); + using var reader = new StreamReader(stream); + + var contents = reader.ReadToEnd(); + } diff --git a/src/ClientUI/Resources/Splash/P2G-Splash.png b/src/ClientUI/Resources/Splash/P2G-Splash.png new file mode 100644 index 0000000000000000000000000000000000000000..9b3ec5d116a495011b9fc92068497b929bf068dc GIT binary patch literal 144317 zcmeFZXIN8N7dD(J%FLs{I68_{2UG-<1qq-LWw%KIw5TyxIY$k^RUY#D{>+b=Mb8zH}3glE#utEaZdyBdjmV%7Mj$G z^U;5^)-0*Uo@AMwSoh*Q{v-cCeK}tKRik>nON3+ldfp5I7uE_ zdBkOBckOnQm(0rshws&m&*2(k=~X>1WnCR-ha@b}qt;8@*FPNf%=aHa@qPX4_oXrG zzhlY6OVR>QR@J`l$o;yex~YuM$mQ|^O#k1P>?&)4(*M2z{2qb~MezLly^!-0)4H{7;>-Ma6;Ekl${Q>VV-1?x!8icap=c)$Pm$E|gGA#DGC>-w+X$^ZKugvgIy z|F3t>pLqVmzuzkV#lASkz})&qA|?x<~Nx zc;I!daV9GHLBegk?R2N6Ep2L4_rl&{?OsJU)+DH{QaCDE@z5n`xdLlo#EbX67%Klc z+bz#uDA`8yilIkiiQYxu;)|56^NF1|7Pxw>i%N1|lNJ_k@S*L(qL!R+SUg8`&UE!s ze-wU^NgM9!-wMEP&GzalB~vCiu+QD$-G$JJtQ#&xJsT;ULl@E?A&YDBE}C5}>MwGZ zE65CLq|c2LKTxef80P26*r8;2M*XK zm~Xf=2leFAeXW*l>JzYHvwQSAxj{Vx&1BL&#|135g%_9HmY0x@Daz{Ya_*r{UDAvd zG|?qIyQh*pRB>Lf0C{=1JE1L+s63Kv1N;&Cr9x+a?4!HKvZ`KAz(&s~_hdt@Zu5sd zI4D^f-#E-^N@+*YPUf9(#{u$Bl?C!=WyTI-*6zSCo1di=8zoDdY+Bo)qkj zz1_dI);!gN>ce!4b5^>Hn~m`QDbBspVr5C~k3#Ne_%9@!q5h>}jNhpZ5-HYK(iAqy zxo3Ozfm&g9ba{{-670Zi-D|>6!$05j7id4M*T+nK%?3LkJFVbg{;#>1XF*}Q3%6!k9 z6%K@_-C;5u#x=SCQ;oWu- z9MoTpMy_{jE9Xn)mlDh^aj7WM879MAfM8^R{V&fFlnzCJr2chUEJcDRCX)luKP zdS3F-t3uKcJ+SWzI?ypg4AhOlYbM|vb9PZ{Zt)ANG$U90dnlkTtg z_{UjzI4%xtV~szuOg8xYCzR;d32R50>1zsV8XGD5k;Pi&UL-UsXO9X7-rON-1^$EC z&kET7Yrox)vX&>vZamyROj+BgUkK+5roI(h#hLYCgP4L4dy#o~3>Uldm}GY>PhdMh z4NWDrsFrh5!F@$p^_LEpe?yM;Jz%Xr-{XuL80l5e@{|wFzft4LnVY2|z8`GhD|^^@ zEAS4xir2;H8-1Sg)Kg_BS>>!Jz2~8e&({$% z85QM~FVHRsy9B0wyG9)%%&0aAvoysAUaR~|)e*81_@jvr1 znk^E^X2P1rj{|jWgIu>%6T%Y}?-dQ`74wn4%x}uzJja7eg;(8SKb6WeRrO33ihlS? z#P*`sQv&H6S<#HXG7%C~I zZ{5@kZg$-Lw7XlFMuv-zJb0yb3aczB|U)!B%};)RPa z8+jgw!*gz!ff$-p&&_1z1WbHlXpfy+-9okAZC^1sz&YP^Bl@-8wEuEK{+FH-{q&U~ z=LC_sxNf)GZ7hG?Vx;ePE%9zLgcvSELP=;w5??ov;!9}*|m zD)J@aUfJ!P>Oz$jXPi`!;{)>77HtyJV$WGW*Pk@sqcUAdh%78r_zhb6z6+B`TTxZP z!R)oJe$*?P0|i$zfj>5Eh?e+)ql<5(Skm4`$y3VCuWAWu5?-dKFYMKQ&b=t7PZS_> z`wrK*w9qlAks_k*5olG+<8KBZA-4p3c9u(KYT6p4zllcQ_Rvhon=6)UB}wRbJWdc% z@bVXyQ|1ju(ptYF&kn_V#-8_@?=llRq*jH)tpS0JssFROl_?6ZjI&MgZrYD)3@SCt z`p)BXRqffzuUTaERuh}Iw+gcX(_Up~u?@1w4Ysr9j@KcvHrVW+A;WZ{m`K8$Ja(+9 z>>s0lTFq$-UlL+LlmT=EgGg9 zWmjH6tF?-J>s6eF-Ur4tHM1lxDNu}$rc;wGx#{)^F`DKwEHerv&U$Z~3~CD#VnVMB z0KrxJzJGxkFN4 zA#V(hdV1UzE=tD$iSxO5|DN9lv21@RHnW!Yz>rc^2(Kj;$6U+k#o>YfJ1^{^M%v%#{=AKYuqr*X9xyv*cHWM!58d|bC!LbGBAHSlBGEdDzqJq~d{LMOH4 zWQL&hdj`?+anTn@6LOkX#%HZkA8E@IWv?A;mHYBm%Nyl~Dt_yQ-7VVt;gt%Bq{n(y zw(85SWNtGkDblxZK?}|(oP>){tK3(E7D>P1B38;=B6+FUV`Y7PxBfhr!b+RNg;6b*=?@WMS^;+_Hd#9)xCQI&RKXyXnEn#HvYprFXlT&&e_V1q9|S#p-Xz+ zR>@n>hZYf~JWB~53;b(}$))+7V2zCvIqcC@t`nv7ECIdh*D4LjcddK6%=|TQUz-^f zHN`JYOZPmo%lEcTKzZgTXnE=R^CGfXL(jV{4NWFcWwbRH*`s-NJzitON5s%7TPGW8 z6(w-bptHKum>kn;QeOUPX@7p#Ww^Q$tAMR*#x9BIX8q8L6rN0+x?7~6`$nN!QAK9| zl`bFWBloZAJtuRgK)r#@`3YLfDVupp%iqJ<0s{}MeakEL75twBXeZp}8SVdWMve1g z`kNu=!qo}cu?>)0C6ncchQota@y>_K&4JS2LU7-SnfmTwjpt-ndtywAwG&l6*${Re zPc^;0{p{rHXry(YFEc(bu;GKDdU&6u{M_8_>yRb)k1@Z#rnKL5z>D)P4pT8H$}VbD z(B7lXkIys~G_oN^8sFdo%@QUPG=bQ~84VZ82fo%D>2{l_q?BNJ;X{?ge>+s(z%sq} zNL1#vsZT{H!STAJ#_FU+gnQXL>iD@P+j;^3fTekN%KV=byIX?Z%e%Cb|6S!z<|@sh z?R>$rG1acb6s;A-&w)+}#<%@XBGxPn6Kah&wuffU?9X?CiKuKr^iK_23Oc~822tpe zD}TZPEBloR&dp^!zWq&Rx7(`b_Pxibw_CBE#aL|4QA7Y*{>=ID@uKYZg@s@#pc=Rz z^>XtfpXF)U+Sw+*N&FTu!he{lLuh*H&pR$}QtPT=xT4wRKRB*0y<&)H6)AYDghP3I z5CDl@$Tkpjy4Yhte_=Y)ZF>7d6#*(Ktx`Y3V=&p(<;l^|CA>84GihQR=U=~3rgaoM zeFUM?sg}H~YqwLc3%HuyYd_}(VOoz$s~K1ZN~r@ol*u8LnlQ9meZS1Kp)IOJ+qs+) za7F86&$6$cvx9PowLgrFNWEoKUO@F+f8VzL2a23+Vu~8jTb|zNsOpC85xLD=C&TOO zr_oyWR7br+??Pl?0_86xV&=lw1VAixD?{}LeSrQ^Az_-NKPV}HY;PqqoS(lr&Cdb9{i zOq8!7c(hDLOxK?qS|k9?#B-_q&eZ0Ir)SD?>x$%SDYLui0!QS;8zjQolr(t0)|jvj z@VFjd4p+Z1iF`6~f3(5d!Y^QA30h|+pDC-$g+KNy?U5*Q)eXW84gSXRXFwFT);@V~ zp&@a)>B%QSkk5*@noKZmD?S5{tunV|p*410nYLtA^7_oIw@77O#!qA`B`4ONPk-{2 z8*yLl+C>n2XBYV}d>n_9#r1;e)Kvx7rsaVGC3t++%<~O+NsMCh?w)`BQq5&CtHeCV ziB|}OW%C2!QSbeUyr9Q`hP;C!m)#)Ot*5wXd|M*t0<5pCNo+hE^fB>7dT9yGG-cyv z_W5GKA1)1Vh52*{p+JPi^7d;>Nc6EMn>8$jN|0~~+010dwP(TG?*AOLGI4!H9iqnq~v;&4twT# z^5s|%yPMN#WQ7J223X)GuC76FZw#~Je8B$S@84j4U&QfCbGKz~+lJL@*`&VqsOKXB z0wFe-Y`AC5y4gl}xRu_cg0I_@X4muQfI{Gu$~0Y)3<`g?6y0V);-o@iWRCg(L)?@BKGDDo zRze@h{-FG1twKhpKDYo&H%#D5+vWw}nS%D*w@Kfk2Vl!a0~{u7plf~Bfvlk`_ZZsE znTWzPz4kriAm8CIoS|2@hn}mJK6d&?fIrs5v~bBcaMCI=@(I0Yv`T!iFV4R<&}O0? z-WkPg@IEvLD!u#Ctug9J+CG__TQooG;PyRY<~Qj~jE1i3hww9Ov8(BMD*I!JW~;y? zC*>Q+iOgb=)eVS%px22zhB0`2(P}Pu2uytpQ2#E}y5JOPq%U=^=uTpz^tYQzleG4# zaEMC9d0_Sm+5GqeyJEBNJ4Ii&!CJw(qJ)g?i@*}!Wse$?$~YIx0G!8b1xppC&^lw4 zjH3&cSQ&>1sbuDfJMUO6nnlL^a4aS}C^#jR?w4?^u<2*uPRj%cHp$Hw?Z{UwgNFk$ zZj;++{2oSLnu)f?w@k`$8hdfT+wk^i-zqv<Inw9m=Ue6F0uj74DdPNg~C}mA8Jisj6z{x?e z7~Q9h#qy*EBEN+K`OSik%2AAe1X90=3Fvs(~AHMiSpXIs5IC58x*w9N#|q`P(NQ z;3t?L#NI_(w$lm~T$`8U3Y5SbfxsOwEc3_)-uOVPsq!c8J@{MuZen6PaSh&Vh*sZ+ z2EwSVJaU?f&lcXBomSY{bMgSS;EdZ^NwHe-J+8_-vUi8-2j{wENKEJ@Ll zA&Wkxy-ol(KZFj2qo(R9pQPh)~j(%*?0EU=yG7YB$J=ZN0^$%^2RYfmHmn1EPP)%>CW|*gfSohjgMAu5d;LU zxlk9{ks84^7OcUPFf-A^UgrL#hD_6qTd8fIo#jo3IK#8+F?snEaI9Z3p|99Y8#@8|;1P z64VRW%4l-)v1LMaMV(l33{=p~|06B{A`4bQp3Qhh%C*7t+dvMM5&{)BHXpo7N z($h?Loq6!!%hyhmkND-z^#MWOxvCw&EWFx6b~d%|vhw!MnZ>S_8Yyn-L<9biBv`0) zjA8YRxge|tcG=i?sS}TvF1EMeqV~qmqjNy2o5?4wF3lT<_4Tz#1-nxRQi@ePH~S}f z)3=2g-w#11!zFcQQZ@iTioe(XC0mpJ=AI~n?q?oPCXp3Jy=Y4S&AG9LQ+C{Zc1Bdv zw=copj$wY=cac5T7Q0t>UL}$Ig<-qh)c*NeAZdbwfZ}Dvda=c0t{=U(#RN(g^LAmY zuNxpUsT~bnt3{e*Ey9GuDgb3nyYq^q-NszR}d?g3P4)YZLDF}2N$NGvZj*jdwJ);gz= z_lFwz9A4_6$By2GB8DH0-gs$Fryie{0SG>+m`>|5tD(`DF=+gi>4J<(_nEI=iNy_m z2{?de02VH5Fm;M!Q}w9$w2s$K&GzHEu`s1X50AavytNmh01i*I&} z3_;}szFK!2#aAFoL*S#xW$i2){-+n!gFg{j2E8a%GQdZK%H{(3mIj~+8E}-78E5Ilvs9e5fvL_Cd`-s-f#y7>=V%*$^4SRL#2Ro~)U#eK3 z-5O898EI_@*6nb1?xvOflI~nIX7!?PH)CUJCrKj#!j^onyJt6$^qC;!fLF+wc0NbO zZwNvaJQkf!jixu`1-XOVkFb0xlfM}c45G51*1h5jvfY?RuS`%DJDFs%8}%-PjT*d+ z^Zy4&3B=QP2wAvcQq50QKOOIoiRPKR_=Kk+Oup^NBhju7-R^fT`u1}U$x*@aiDwH* zdFhS{ngx!MiJUSHH|-LVVzV7&stx`bN5)nW0=|_7sPmMr#!&90GI>WH8am9lU4_|9{r#7A-?yV>Zao^c0l%wJ!z123_XGnc zTz_d{tC`qUBW4Kf%nGT2kh>3H6?{rsCY1|kL@(%G+COF$yiUE4p9$E7c^>7Fx1%dl zbLfDU9Ftbb&CCyFm>aTg%lu|MQWuAr=@JnwQAyX&h>J)~b_MwT(pRDC zAs%#53w}Cd?v*1Y_`J*@dLavczaGeB>!kdw;B&xty!LlG%hyGWEmS72;Gi6eX8FOB zv6=O-;W6#hg|0PYWC!L$z7z1~$Uj-4QAua~-?Z@&)M*PPXx#eeK|tC8uhxC$;Yu@# zH^1T|IcQ5+;cjse_v!&Ftoyar!;-KsEd9&V1h&lsado+uvZ4J-za7rO*o(9}AV>GW zh^U-B5il4`aG_!Uo2Uq8NxA5OM%kBF655Hix*S)(}1%6mU(_sz4me z6%ML_K|!=mFu|JjkK+U4TT6d;6bPNhQU*%!*eL#u6~n@2^d!;ht~}Ir-{<-UoL4UE zWo><#CyApTyv<7djTyjR<=fP3D3TnXcb}G&P15$@bZq^~%&6uPM|yi@d(X3-ya=n0 za(c;RfbV9KR-!qA-i~rogE$wPjHk=z;=g^-Aqk#YsQ1wh+1-jKC^?F9djz4uoCtAc zVAK057X>=YrgW@GH3tXeI-Bxp&tDh^6gNE%jm1JDBGNMZVk{e)A8*dj=PrCW;D1;E zW-+3~78zMZ81oFM7(Kh3kvq`O+|^zjCV-cYqYCJErL;$?z#&C1;ee{&dNyJ1{f8%$ z+v)q2V2T4{G4OTW_hde#2|_&lvfJ1Txm)4|tW3b13h~hI5E01Vv-JPee}Xz4j&e<=_`dhM^okz(iAy;W7P6Uny4FwP(QPH3KeA zIC0b#;Q`~>sCF9JZS4e-GVq$2Kl_{kl~&Fqfb9Vc^(Q7;=?HDB zcX%>z(KUT~QJyiWjv@Y5U;_vgaMYUJQtyj;H>N-_8oc3we)*LhLx8m|cIcg9-Mvsg+Lai&s7)WMKfZECTbI+s)jhCzlM65U4j`QV=J@9Q6FT zYhg2qm`>CKbM4_x1`;kkx~evj80WfYK1{YUhB>xtoC!t_4L%ok%X04ZRenOIb}g_= z>rZvE8jfC*q3n8jT?0+)6DwAtJW#Ei>pBJr0r#W*{R`@Vyr|}0w^rrI1sMw!&p-V( zA>67IAkV$MsmmaZ0k63ZxNXAx14c>4(g=SB%$0P88^mX?LAlaC{C@B;>;`Ld9XO*y zC}qXGlPPg;sF?to03U(bS()sP_Cz1&o?SS zner$<;$2-uz}9Aycc3;#E*UE1A(UR&K%=(V+4xidqM<_hdl9l|28>Ei64d4=OSYd| zR5x$T4oWc2RL;xHEe9z;gEe8Sjcw}Ii4kKE+DGz}%6c4THw_!6B|-TGf*3%Tk^~GP z?EI%cX%~#mEqD04T~1WwLmMG8J>~-mnB!zi^ZWHxp3nrl^bE|1?vcg9diPfR271K< zuX!{w$~_`Fk(;=oZnIkiu&-N?GF0aPGO5PEN7B844xA6)_`FZ!_O()VW|S6$jU#}F z%EQw9_NX`eUQC}~k%X;FbYG>W%6OZF)uB59LdO24^ww8(A6lXu*l z0Z1S>`Qg&ylT&O&*T~69r>SaH$naleumuADkl$lkDLpfn>`f}sf|#(?lqn?y?H@dF zC;(RM7vhPGSQTR+MzJu;029?TGE?*PX?{A>;YM&`wEq0ndw*0)N!7nGWF#-w~k(({5v9&3TQ()3uga%g)SK4lObFB}Q)h$ki zYeVJtx&yp{^|E0$ZBh`qxp{)IgLte*2jyh@uKDm;>LVgVqnG;OEu!CqvhXRD)HQCb zB4aI}L(F0@a?@5`q*~toL=_~?%TCD@ZVI&4;HqR(KwpSy(hYRtWSczkd`K3=vqVX3PiQ9kBcJ zoD3aJie(h4kYSkGTkG!``U3LJ-zcNM{lq#6GOd2C_|%i&S{xn)RP)QQZ6$3`PKJ2d zJz4*tz4^JmH-1O0;~r$1Mf$DyZJ_Vm*)k0^X6}ORXMRP1kOgX!E{{3M6YBy{MtZHR zstPEZR4*wZk>eJM3^$LkhEFqoDLux*uDt)g*g{M_c9Q=g658cBpzj4%8)o0uBVSi; z1;WHM8NOsT=26pvG6 zC|Djq!O+<$KrqbCHv*dPh%{jaudH!j1j1_E*sMH;v$DDm7ed`67%@(NpeZqz4gMHwX*2jsf|+L=DIhhOy4P-Vm&rvhut3KuO3l1DSbFNDb3q zS343M@bx-90nYSjnKRG?=2F3AnH$iaNXiW^F!%=%sl7gt{9r$^SaP>#P>5kpH2T>f zBN~Y4++sg_dA`YgK)c|e>(xJwWX&A{Qh!1)mXDs!<<>aU0}I>eGh&dqa#!b(|I~7x z54Rz~&~G6G&&`6K9)AF2kMnOb_TUhMkB}u{SQs?fE3Wj*3A88!nc^h<4m>8FmN!an zdF2TW;pUiFHDq{*yxJ!he2KpXj=)V@{z3ZJ>Z7%Qx-Ei_TpA2-P+EL5JAXCmRcKtn zEq{J~_$!I}%NaOR`uYoufS6D=qZE7_aI_W|$%odK&VMQN$m?S$HbkkfkYz&x7vF02 zzMClXa=1llb%3L`z>QMvkYjKMVkE9gNq^rRZGiU!DawLTG+X!K!rbaGOjLX;!1rcS zsB_w#4ZO)$&Z!SH3+wfkitg6#H((fzoH;{hxJ%Zhcw}bv_Tplpz$|I-3izJQOysi% z0mWcx82p`aQ7IqOr*E^6V27RcP=X%=6@77a%Y^W&8cEF@5GlKZ9ctHm}q5mz!oOlr}Ke;aszJfkn(r-j$jIm5joRD!-i=g=#*B zzfhUuWf`^|Hg4aWL}(U0A_`|(PAzECAxehdOQ8EH_w?GXJ%rhY2SE>Y` zK~e13F>Og;5@rQtm%zif3<-z8Kj6h4CJJ&7+0z)eYv3jZYTE-JuwZ^v)a$a3gGyheh zvG%{3EJU&!KB~?=V7x4_5zhb630iw3Iz4L+JjDCNbD)C|MsaXwKT_d+fF4NCE>d_908ZLkh5A;r zaHc!T^=rvU?Nr9a<$f?0Mv88-?5FBZ%UAYKMpx*unxz+Pv{?!s==@i%b$51MV|hFg4t_1C^9I@APjcCgF=+ zU1A~>>a%GBsmyCL;BiJPQ37b-D($Wu+RisNK%TUDk?!GVg_hnmbMV`?Ft$ujfmOFV zsS&F5HAZBSI zLOO=yn%{{ExL7F)xWuV*zcxJ#Hm!$(n+Vf>dDncF0YGj61FWX z3mBWLuu8V>FkJDoi+s&LdjxXJ%z2A{!ii+p!r(w6G_B3ag!AL45_yVBPy88hM$0JS zSud{$6)H5Ww5f>kFwWLm3FC$1F3`p&B58*aX_py{hbZh(jePe8&_S>wo@vNr!lf3R z?~YfJ@EAF|CzMO~j|kS10lSPc0;R{=ZMgIZyabdS?U5^QWCRxk;MTM8gVNnHswez$q1Cwc2I%LH4-*LKh0usX) z&CLZdZ)?QZFY&bJj-#t^rz>6tBNkJhg#^dULWMg|k*45LcD?(#_iFtBu?=W_Dq}7( za~vtoh#N470z?&14^@D|3-y}nrkIA{Es8e%RWWY{tcJvOnXCU(?B_hWY(n`H7-2(4 zFF&1^gy+?$y?k%j24)0A^f4HMk~6J;wjJ5~x}m|}%{1LKL7?m-ke+frYoE_RtvG^% z1$IhF>8PdOuxcy||7i!MiC(rag)nQ~#3UoN;Xm7)1j6{9al!&}19yaL~M^2s@U zCN3*APSiMlmKDBwl|+eIcoojZ&0&5AzWfb52lU}B9x=AeO5s9jbd*48ffyhfo@{?t z*x)`t3rET6862gb#!TEnQr{?at&$pP3e4` zdWRZp3t{1iNdMxC&Jm!yx(Rv~G4eg^m(>Rqm0Jbsy-g8ma08x|RLSMw^L(@zEebKB zI0??7oSU`Smge|ylzK-B6wFqk@n40+fYAk?2z+fX^IEmxvyB%Pwlq#iSU~A1d!>NC zlh50X5(igX4nr8ScyQt-MA*Fp4l1GW8W{*JsFccw=3a)^jfB^2zCFxIZBH8HQ|*A~ zSk{J8$k<8$mHiahaj$G)&C+^_Sk0mmFW|~fC{*p}%5RCRZ1D^x9!G>c3_EEck(CiN zf);ZdD zl1Eo}(eUt8{pqnJhCi)FUD#>9s#IOo`<=hUBLnDsvC2*f3+XP05^+_ZuGXN`H2X!C7)7&KZwtIAwWeKe=Yr{=V zRT%f)J}qFQ@mz^|LDimsT(`T(~UGD<$xW%pbIT_%|hs6>!e%%QUtrncDT}Hqy!1)gcS}1YT8l|ls zS^7yn(d_RKtq~c(Q6=`~jcqmsto%msiJ2##1Ym1q{YL86hsMuzVJF2R3o&)#ITJw- z6a%-_*0;t9YOe3zeusD^oWE59Fks*C=*n&?%v4%yI2{m5)|bKI7Pqe(kxgCOX2GX% z_GSxjJQ8eNN6M?-avNBc*pQsOoDciNg1SeMNdDNIYJnX2gTG|!SB|U?$(`v+tQ3nb z#01_|lskBTf4sctx-?=&g5pMW&&P$)mXk+VGJu=OL1@cAn3|YRFUE7PEq1cpiIYH#cb271hvUCJ$KiaJH!1 zX30vK#)B>-EUE&YI*hKooOMqZ9|@scDfH1pD~$y# zR9CKQ2`xZf7sBo@h%LoWgDsgDj#DV88Q6-Lpb#v;*{7jx2lO75S|WWF6||_a`*byD z`YaB=OPNZGC>&50%b8jq+?`NEM}xcOjIAg5cyw#?7pk{CMBJANs&O3cudAb0B9RX8 z_|Uo<9#Jn@V&n{2j<)r%p6~# z!y~C3qoVavye(f1*E@X0Vx~MTenjNdo@yw2*XWArU$9XB3gV#EkDw3<{7p}7Qi!W; zC|gyc?PaI;JhJ-m$GP+8ZEa4pCFdJoer;?XY1vf0?OpMvVS0r0#7lM? zsB9|XclN$Rc)9c>3=LuLHlL52#nqX;*6lx3csRWwMgWiz(o|LyY!@9oPv)S1z@4ZS zjfsdD8sb(E9Ee;A=jNTXfB%;v`(E>72(|nN zEBw=`4NpnZ|u9x0Wi z0JN&bn243+H18b}_!Hr?FGQTQ<^9c!zK$Q_-WTr4DsAL4fE(wG8r?CA9ORN+gj z_>Ag!wmv^)+|~N^=em>MS>uIfZE!pbD}uRKDV23lOS63xcDAS|DoG_#f4^{w=Uz*X zN|Ri{G>#EQ(gf(~W>+;3C;FdHO|k_(xfe@4e9cYE7?Y!Xn({@Iiv<*vG@)jy-LkgD z>TZH5hOoQ@FTChgn+goubNg^NC?c%e-P9$_M}XrItogTYN_=^tVDtVas%z>ut7jI8 zcB=RX=-A#9f?X+RniTbWD8C^{H}9UxU3Ent&!%<>6%rtE>GOMIC=0mBP*qOsbX-A% z*aG?awU3sE6prB?AJ7x__OJGN<8Hb(UuCP?>*e53lGtZEX!@!!+ws-R{g30-v6yTY zgqTje?h^U+@$7)!q)LxMa6yEk6(pRl_mfDMTEx_{vKvAt#BH%ZNGx^rc>t+{XnFpa zkizswSf<%4kKGa*thU~>{$q5r<1)4Lm>)t2LfN0OcgLR$3K?MfEEuwDEdcHYrHdLW zchLNuM^4kyzTOkiSKVxU}H<;u?3Aw~3B< zus`UM8576p!=ZuPXk~G~he>hraydTZnKnx=G&D{rhaV5gxO3`+)dBj%{wT5=@&tUB z{Q7O8o+~RuwSMu0a?8{4KKk=3IAjMbrkuL$? zPMrlDVJW`R6C=^EG%HK~XfT(C4wfyz2L&b_JwV!h*Xo8%(hn#pY@(J;{m!s;0G`p^ zISH_xThygM!RP^Bwu{O>8ah^}K+sleF_A%coqGC+Y(S6Q+zxFa>HfQ|V-kzc7z;`| zXsKN$lV3MVqZm`g)=GE`cCQHln1Q~QvAU`@`Lv^kgZ;VFqKAK|YJuq!68PG8v_^J! zB!9iQl77k3ug%|Pzy7zooMVX!#}Gk=+N!35!zQ#)*vOVBsEpnjHbQMTDXTqkQLS2Z zeNpq#yi!(uM>!4T%&|DoXzrk4yV<|7_*2NqftV4Orn*GL%$b-=`j?5W=*DZXiEi+O z>E4^N*xnK?2OkH3=@N}YbCPVV2!$27rlIynlFa88^-?)*5>g>bN zOF-(qG$U2f#dg`_6fN2cO{#jNszDD5Ik7!u`y3L*jD4 zLsRUhPrVUo>41gUsTP67D|8R=yw4+J$bpx@_;3gBbJ>irrmACG$y1sLsj|>;eQa^g zZ%tSvY#{uI#dF6}(`w&8kdCB?h^Ig~zKxW}M1dX$Bz6d=_-v7&jq5?(6RLw-tXzp$ z^rFQiQt-P^X^U(!sYXGo`&SZ~2abkg`&)__UcBDd-ro1b`ry=+p@JuIhqAT-bP~gb zF%Ce&*rMw%#VRbl0nu$w!lx_z9CFkk&vWQ{Urr4MBiJ<$kz53P$D+7(qPpm@vv%LG z(Cjd1q8exHkwf<{K5zCN@HFCW zv&q0WFxkUJyY%!Gt$df{-p4|-F~EWrlCI6dT`K#p7$)-A112ukV?knKTWq<=E?0|nw0(7E0 zw%*I&vibf~pW*S~QwBi+H_6-xPWAQeqB#+IN&|x%?VVw`T$Axk(u+F9_W^gqC9`GO z>Q!B^1|zb%U}R(WN9fONME9>p3WI3q`W%d_?I@5pB9qFZBH{rQJQ3>r%Sks5JP0rjx~{6K)8OyLeUOjp zXsZQA*ZEU&h@spQcau`Q|4SR6IABBtmNmRu{lFgvJQd*#&?NqbQ)*`i%jyTv=WE&- zD3_?G+Imr`7Hc^i7QV75HU!1aGd}Wh$>e_Q2WSW}qyqOdxu)208Og{mn23iSz*1Iy zu~#H&52rw1AqMP0tspW$n@jU*&%c}Z0yHZ5p+}L_)Hrqob&LEf==JB#a079mV`hfm zeIXSPn3o3leP7(IQ||NIxgN$^Ert%|Dj?3qnr04j!q{4;y>AJ#q5}RWsVRN1(**&{ z3#g}rwQ!vf>%sjIn6^8^BN2$BfB;A2RR7F=C~oPy&DZ_AOrRj-sW<@^)1ze$P7P?d zqTI=aUDYI-e^2MERh=xqC7_u1?{IQP9MRU390OKz)CElvqd(+6jA@BIF?rxYK->}2 zZ!D-z^C7-e>ruJ`9?u$$Tw@feWiJ`edzi=w6+l@Xrq$U#i6&a)f<Z4I6SKS`{P#mJs=WB4<|{GF`J66n76#)6eqSny@2(jjmR^CR8N)24G z%p(LO$eC_!G3xayR}n(lchA{Q70DJhG;M58F&<#irNMOO^?!@&3w*aZd(q{2UsVv}7rYR5a0bs^A2=%HHm#l98FG$39}}Z ztrCemnP9&Ih0Sph&Z7M%&_g_u}(fq6nx`3<3&|Qj8f*WT` zf;ms}H7cS0gQzZzFwRrzG*nV5k^}w|c-?`YRS6+H?)`hiSYY-I5PlU&SCe1o_zv$f zJayUB+x6KiG1@JimOx*IMUgVBJI0s+@bEy{xd;JhMsA6CIry6X`j;slfFCABB<%A2 zD}a;Rh_JGCe9=DLIkk-h5!fCXv9s;DO|v00n!M-RupA!H)U(^u(~lfjBtKWaa^KrX zYBfk0Y{IS^f=T{ltR+}9@=M#45K!roA_sP=c4%tw63k}+2273Z7Uq*?xfqI?#=Qni z_ed5NjO;A#1-U3n?BJ0U>oO+$`|B>k`ghHTs^6}*0RI9JcoN5OsC2KDmYS@0+*Q-k z7I>%%;7xbfW5HKH{08_1!kXv>qunsMwrN0rhqB_oD>7pz{cgjcGQ<@JizeWjXe7~ zAqC~FEO8NzF%HfLyDIy;!Z8jGb^MV&YQVwnX-UxQD_?SOegr#{J0}6{d8*rd_fLCV zy%6wK>DLiH4%)(3EUPZnsW8x@D8Lc{da6}Yetoz1?1}XeAlB&65z#oHnlh5%j)A%{ zZ)~dNZZk*S!ZR>dd9y2myrVmNQ;dI->N*9U<_EpX!Spr=bP9T)?zEVCJ3p&iv4U1e zRHrEMcAIat+2f4BINjEwf5P4kaw9WLcrFifdP_lJ(@sl%lITa=jlj&>*)03<^+ycA zW=I#WewJN)&)yNS5(s+shR|#yxn{!&F2=)fG2Xr4B%hm>82QkFA-{ue2du@WHIw%l zRYBU#bK#5ZenOmT9|lxSuayK|CN)oDKP!kqO8Jfj?A2T+rzI|xB&|OFhmL?#jsMjd zAV}}WVs<*Uo7ZJN54A{wUM);hfSM93;q*e%Afi5bXRFf52+_$kPUhzOy%KC5RDGQeP< z`F}fska{U1jj!VYomLl-1a!K0kb_)d2M5h*kp6nj2J5da&m=t8-GK8b7K&S&w4Ew8 z2g)MS$e*aHZfJn<{OE7MY+~4C?+%oP=ith1?_Q#CV42I0834*rruS%ZTEM_B&W+uyevcJ2|Dy+ZnsHd^u1&ggl$e+*uq<9*!iR6E|aN=_oz}h4Kqw7P$Du6!Z z;ozYPASkY{IOxVVPvSnK9+4S0pwGdj%>E7!j~P3Mu7ioH&PUuIhnfFF)}O=y3X$E| z(Cd8NtO2r-f0qWQrMJywR}q}Oim(~qy|KtNHMJQSR_mYwN!Rkf@*Tli_?R%_)058^ zwMgRu(IKtYX#aYMio2ja7y+Ojc(u~t+QDjXR=43MG@A$HO3S|)+Wyunf4=B;G*#!6 zgDe=*i)xL2y}QlFV5A=8LX0GpM&8~Kd>OF=gj3?+5CK8DPfB8;C`gkcND%}?s?_T`=#Q!=<;vFH$&U6IRUM-B>ngn(P&~pK_v>{m%|_W?hNWxgcGDwDMGz+7)g{T+ z_iVx)4~zTM)QTXM2m*!&{LvW|g&>ePXfU$VYvj;b2_{LpeLUjj%d?;&_DNx%E-4f1-9mff9Vme(L>f?P#1=0=3{Tj>r8+V{+>Zzfo8q5tp#U%M7|p_+HQ=wgi8k5V8%0kqz5^ zA=^-hE5T6NqEMJk((UE`dn8``Y%uFBH+U`C(Ql+8m(8W$ z#Du_)VfEUe+=Q_Lhm)Px?h+PWOAEe3F5^xQ$OfpgcT|&Rd_C~G=tY%~N4J(L!yHDT z%JuF5^@o56fh_FV=vW9?k(mfUA5G9BpVdiv07-b)m+jyxSl+ZJlE>(~bYdXzBb(96 z_p<;JL#3o8k`zJjRUD^uC%m%xCXUQQ+xUqHB15jT{IhGPGsWJmW=4x_E_yxdjK;KG zqT9oRED!&0L$b&T8e9pV3>#8vhsl^YSzW1y=96?yR9AyV!`#P$4YOj?yMWa=dmU>m zjW%9`O)7uMcSXv1u4P}digr&&hp03j$4h;9-In$Ljq8ky_Gp%u7#oDKX`hjdH~nCl zI3jw4-L6>OFga-SP$FA;`tv4O{}t@h_Y3;$a$9mHiM&tDUZlaehj0|a)7i%FjMsqG z0t9g641|UPCGn=lg_k!6r?pBS+`vO|s2i8ohzuWrhEaxU^ZT9_dYa!HewJ5)C&Ez%+>bzeE~Yo# zzomoS31Jk|>w#AgOLqT@r{`X#>Cb$5A!yN%4_TqYdV}j*zD7DP z>pQ$0IGNzoLL~v|MhTz4jZ@pGKqj_^-=?bgz$j3M+6mb+VrKL9Ern^KFy8ub`NZ%i z*ROw$z0kmxe}f!CArX?Ldw+O2S;GAP$zf&Ba6+?D&nN(yCA+`1pG>oJb{x+ocOh~f z|GR&_#F{&9>mfYd2|YpeU&lHoP|=I=VRG&L2DDxZ8ILVtjY^8SByns3*^c1;ef@7l zBHe`IIZMw_1BGU|i>nf;SO6tmzP&Gj=nW8A*?rCgPX5J5gJKfo1gIn9fX@dY7BBA< zUS@j_mCU9=$3`h<&gn8{Ky|Y!J`H))Vp9-zY-G73GVW)c_a`eOd*oB?D)M>j>u!Q< zk;wZZ%bz6-cM4~*I-ruEVAV|r(wY&tbEYoyZk2{o6Em_M;lB@GDD16ERJh>*+Zk2r zxaQ#dE28@Zg8JO6w`D;Rhlo3?nF|}Wy|y?CE0e*4yBV=xC}G&jJL^TlDq-UgU-?tC zjg`r`2ws$R;v?^@;H2uOL$Fs;^gPoTt2Bdc68S8F^)DzSz~-7MuBPVg~d}2 zf{Mq*(4#kRT5GLLCEvSzuf<*2hQB7fQ=3>^nZUikfmIlgI=-4`z|Hs%=esv)ctFkH_@Ap5lgQ`YPXv<_9vD9TA zr~1BT@+QshHEh%3bz^P+p&$=u+gl~6JXl`YKO76?Fx-om0S!qul83EPufKHq0^WGU zP~!qbxpYVC>QIdrbYGQ8eSE@s-wZtJ%NFXf0?-!AC8LL>hG>>raQY|XuknpND6tG! z$uZ`}J5Rrw;I*W7HtTK4&a7a{;xhTkWD*d~9|#OzUKerriL*Om-F=$`9wc3!g}p9= zr<1p!iTVezOuCDDgO(6a2)5>b-PxH13Y3f`8zCkN2f}jcZ@I;n*?mTIFumh*!s*ov z2_EteA{dE_^vno-@O5hW`^8UjLCh%fwZEe!V6Ng;SQJ@W@%Gv|(^-m{E4qk2CW ztry7~*+u+7m7(6fh_EAB0*08~noOIXd;10_%`?yO2a9F765<}2ZN;I^=?IugK!WGS zi+wB#%v6Fp2BQG1tAuShDLsS|)W$Fwi>OUzDgw=vk>h3FzgpMyAEKsiUC=%gv{=A} zd6)9>-(O_vA^%66=P4uISjmw0{bI8o5z%e6(}|M{@ZydC#k}Sr1*?Id@v|e%F?asT zzL&u%0OKR~=8^$3DlsamjY-~>=Z;@(|6yus*hsVe%nI&Lximan1Q_4^Ng*tvH6PnP zx{jWVxkrxY)!-eT=m0P9xU5{or)u|8LZu$|n3X}%K;k-bE$^A?+w`5AxOh)cNsX{Q zh6a)4o6+iaxy2CR0m(1Znqz9(w<`l1KSv>E+jC4cPG6@e+i(VcCQP|Osd@) zXz+WvJq3ALW(10sEw*R1768 zw~&fF_Bw-)g4Q@0N|%{-Dy_Fx5FlAQKg?r$QKwFDB)QZpc*9vnR)h<>t8fk$uX&-9 zbs)YONw7HtZaxl2EG;m{r>R#lv{|=o>iR9ybndS%@!ctX=aOH)2xcv2(&aA?&=n2CfAD*EOF14|pZ9l& zgI0Z`n}C(X#52orIUJ3CUV)&8z}Q4>vJ%|%_e^7Hry_&92dc9%HVJX3i{97!=-xGv zUsTQ5-JVU;5v|-(JP^7l`4k=dQWRXsjFtmtZp2mIT4nV~6hy0EFK7f4k`6m?z4>_65y>P3H8O+V zV!lHfdPXfMgy>Fr_UjuBnftH4814SzS$YZ4hl)p{Gu~7d4n&(F^ zzjrJFSZimm^b0j?(qJ2D0{szwWJSmobTBS4dnGUU8wnB^G!0iu(R_u$2OMw|h(oR- z(XgIov%0OQXtcaY+{kY6dci7DT-3Ss1+`*SFq97W^k0_~b>~a!^meNrk;n(7QbKSX zm3+b2dqs))*7V<)D&x``FuiJ6z4mOmd3KQ1NVJdf*gy+Q>!Kz#+6Pvmm}y45mWD9Y zd0Kus7Y+*yN=!GjM%DCVnov9WTxZm0gXHP|c!h@|>l^4ln;C+Wp`VW%?!P^7ymj!k z!KS7`qw23?R)}3QsBmBhI}Q=tgSb?=`F*_Z+Ir%P=N^ZUfLJkaYj4>Nqps}50&tEh z*~|x>f1(=P%>6WPq)|yD;9~pNpG`T(^gcm%DF6B;@PhJ;-{kkM!9KG--lY)D$rZM2 zq$*(L8u$=1<*P3N6q8lT2UDaf57&_hr@766Gmx+aK}3cQ;g1pukLQu{UZ%?JW9!_r zbMh;W=j~NE0d}vHt>|Pkyn{lQ_|Ad#$&)_E8IF+-<@+>&teY}Y)XYu;3R2rnP&=J2 z(!9L+Ws+R(&B+aWSqwU$1B?yhTPc+b-p49SNTaPbz18VH4aWnTA}QKp(7p(ykg1wn zaRMr}WNsEg=4KvRCCA~yb6}ru{#m82Mw9fCs=AO${}iNhZ6t+S!E0rP7z&l+J~E3| z0?`pT1xO)Ra>|UfG;7z_KF6_-Z;P-L(r1#{dRu2S$^+`_kt9QQQEMp3geE2G$pJgv zXZNwHN2tMXUlCu5rU<*5$ko>)*Qofu)K;vPBCQH7$IFlmPxwW>k~o(1Z}zAjCUg|! z5TU8+gH+n|S|2qEtXJe)S(Ir-X?qc;m!D%Pkelv0_M6QvNsmb)vEggvVYN4gPM5T! zdj5n|ib@!{o+{z2ABivFDc+34Jjl)M?~J%%<1Tj^JM}U1IsL0=#XReQg5=dj^@6)Z zZlr}kg_hJwxO19zFl($uwE(N{=g2Q}W9X=P?;S0`cCrauhVoHG|3HaBTPsQTJqgg_ z)&H{Bxr&~rJ-$<&>wXa@%47Hif7$C;dH-vx7n}b&XGp~8K)xGyNA$|;J}%i1y37We z=0iz*aM&ZgD0^=O`&Wcl1d4=|&8#3#2!$AkEE{;2GXI%!^D&z(wsj?U?%3Z`kf*jlwm7`LlXeTkYn~oj9kpxayJx81?Xep7rCkpl;0BmwItFGR1xUZ8d*@m$E71 z&UQf@gLaCN4!hOaLPWWeV;jaCg!11~+)ZbzmPNWTdGr!_A9#wvv0t4bLH$5iuD$`) zkf|%m152yRV{ZqdBM+T_#3BqCX1Oln{Qe-3lJSPJ19kwR{w#UARg4+*yBTplq7Sjp zOo1h6V1)k)S z;$tZsrHWIN>gFoveZCTOD3uQW)?jB zO~{5*;t=8eml-k1lr&LYL0kFjfN>f6~~Q(uv-h7zR8W{RCg-b$c!!4^iUhsxAkhO?NynW(y6MYL%wBzp&9^nAj@IAf zJl@2ZkS_}`n@**&r`}X63q#H=U*=L*mR#vjerQS%`d|w8sfdkt(&vw?-6c+GgZzIal*e|U>P=X@-n*UdJh=)u4XGL_D$I0fgBAX}JQm4wA zE1{SNm1QE$=9Kcjb52AFO!F4k-R>iVOEd%7ma8>8SYMTcRz=jAMi^oLW zF1>fQbc~@<=Yy;e@7T6^_&G6)9X(@ENRC+Qh5pM=ugSSy#wK}JNYLXqN!#{b@IAfC z8T6C}*RoFUF+~B)$pqpwIb0RP&DBX)*xn%-c#5E0vK+1WNEkf#=w7ZivPjTQO3L0_ z^3uqAxj7}V4e^VcxLNx^io4g=63awXq ziAiBAo6aTGi!9GwwLo)Ji)fhpfe=oaS{Iw#WUPojsyrF5uQ8UCmh^7A!82dFnc>g% zex~WJ77m9m`QL~ag+wq>RF}?kTkUG^Mu)!$PqOd?G`op`)ftfXq`DER*ZZ~9SqI$9 z7JwkR$OpIMr&#pH>e^B(k)D92z@(#jPf=S~;eGfm~o%eGm3?hPA z&~w}x>Gy>X>Tpzja+&;?#9Prt?KA4@1^8nF={#0VN`&{nrB(yL6yEe+`Gb_R{3Zlj z1K~;B_oqq{wky3f-(i7O-|IFkV)Jk~3qFe>7+oXQHU0W9etVbvQQsfp>Am8wN3AOT z3VUjf)8E8TcLhz50R{7qgjd5abdFW0*9M?<5y@}Pk?rM7Q1kc7_sgaFKKrKTzZKu` z)^QyxL6G-kPxA${FHdvYC}8Pw)j{9xw!`5kJ{KqXYJvVqUTB=+lZviwL^C6f;$b4@?Nx9$VOtTm`_c{ESxLF`FN{RxD|)f8{`H=E zCdtn?n}--Ad=<(x;Xw6Sbspbn{zDBk!SXs>l8VWD`SM1#@JJvwza-CnQ@w~t!n?n` zpB>Mpfi2yXd$WO_FK-Cp>7_@0jn=xo)0&YwS4IO`Yz)f=ea!XVhkNKxQV! z)p8bE|(BTG`s@;7P7aiEVQw94_`(!$BPQ{$qzPxD{gZ1Vcn zS`YCpo9d`^t6u-lNVvnbnd~AOSjLSPJT^AT*XYPW%-NKvuO9RlCQxp0ynnW}?bV^? zaI~#stXRJL$7Y)w%0egkw3t_`Ji;RnGbMiUy{Dk24pH3Jzn9$6HpxCh(ftcrHyQH_ zWBJ%EZt@I7LVmsrpBSDTrHn4R$`It4eK#g_Bl_8IeVeHy7l)&Ef3Y9epo_WAc(vHc z-r+DI$1|nSsP}z~Ou=+V$R_Y8_-XEE=*DtHMY}!hi=#TB+2NjKPX88@Ue!_$Bvo@} z0Iy~!7>D@9_ZYCt7+qloYW+sc4FrL8)c?LR-+kZG%RcfRFmR|Mt<>X^#3A!kHGjH- zy@|OKQ<^mUH?wJoG*8UDp|m_HzESZu-;%!U0v7wk1#)SRK-^Jo`wlqj$;iYUtM7%t z{;tNj<6+&Vyp@xhM5h1=+?!Ux2 z-^KR=U+a?99M){-)#L`33{cu&QD#vu@Y6w4XQfzo3p8kTln%vljntbY7>4DmD; zRi~DVAP&pF(sv>Ll-q8;QQ2iN@GkNYbHfokGl66GB7=ZdStbgn2=uvawyt7fL6{=b zhrh&f%oaGb{u%3oAggK6y1}r-~b3B1_^yMGIBWF)&r%cPKg-M86gDVDyDQy;~jIt z%-2Q&aYHR+u&2=8>6`=wq3`U!yuY6XfV^428}RZEvwTvH@)dDta$_eXKVATjS;Tof znkyZO0GBzXMO_6e*@%B!`GBlsdYq9)D*7wt^q5^dA17q22 zoy4UxgQ|H}#(lFhHrG%dtf1#xY{v``<}8VKHa)l^^8O;4%tv5j$S7JVV%Fnv%lfsA zFbE-L701_0@udf}@yBnfMWYg<)KK2&58ly9nDKsHXZ^L2m<~M+RD$XUq&H#6B-LE1 z?we6A4gy$3BE)2WALimju(DzWZrgR~GLBHGm4>+!Noi8Fdd!Mvfh53C1;mq<4@mS7 z6PGCNU3sq^U604x_d$&E`lTEc9;vaSrU2$bp>sdtkFZRO{++oWro<_uZ>qQe(u_9$ zi8x{N>lDtiQscU*X{?qI?8t8(Gr1L??|S7%eH}hVz~{LilG2g~3Iy{esvz*i-RX|Z zSP#CjKu8zVV4YW+n9YtXGIgIEt6r!t<)SV_+~{4zvr!p8d1a|!04foOX@9|XQ5gw} zLZ$Z0vapFqLc6}8bfP9JgXM00Fo0PlSkPueu7c0{Y@R`Za-2HZKT-pvMBfx;`wYsEoqvi?bZ_aSE>G+`d0X-K0TUmIw70HSE|t&_a!OKi4BKDm zz$)@i^2-Qql+1`g7UxDBqlBq!MC}#=C{0~dmmA&0yQnE%y&uqNA%mXB%uGexY*v_i z`@boc(Yx&`WWg{mGd}UfrNIALh)_v~MG}hrq%uk`0~IN3=*_ccDH6vDHn9<}BIP-c zpcKhz4ijXL(RF2V0XkZCV%4x6kYpz!yzKnR6Yror5&9F`ckaWQ;3pD)DIxJuCNz_j zs+G#9yH89Pv^jsz)rAw;bWkh9{{>HDEkt`qzBMnHH>Ko=%&g! z-9s=^o`du1pS_O1OpH$w2?T)q$Ycu;t!k=sxgo6S8bCuL!Xa^#xM0pJ(98Jh)C zs<{`TEu_udEar(<(^EW5e5m1WS+~`Td)dr7Y75!q$+s(yIi=Lq`$HhsZbjp~u&j(jLQe#?!utLqp0hH`vS@`} z3DyD0S65+jvkkrbU*>)oy5Og8rweXg3gj;tj>vR0#d_7|Qap>qxHkJWoY`v^k;hw2 z4XO>)5@7YYxfnK`W1H}o0uL2?QSdYcVE%`5d@5`U3=G^2@Y(Rw6ND3B4r9_(mw-Y= zD$40;p^vtAq0o1{K62Bj=|~0?3^v1oPsgWJ6pbvbYLp0sfIIT{fA&-u#56L3tP74U zL%&l}N=fIdEx$nv+u?PZcs(_^ZiW_C)1wnF%oOlK{F1DvGeg-HpgEyj@P_(+W0im4 z8rHZGn%&8Zvhm!NVWQ5cZ6pxhHzxI zZH-FitokEkQ$jUe(b!7>h@pfM^X<6IO|q}_$jh=qzKZ{;v*}RGmk$G(f+)8i&hr7? zIldG943bhzA=%k*^N&swQ~1Wnc%Q9$x6P0NvY*K3@~bULU0u8EwO3JrUVC)wc7>1U zOBBl+k?TETu)MhwLr3}um}h~|6L zv{(#U7*toGa`4Tps>Z^)v5^q)t!&l>*4UC#YkGl@6S%75Sv3&Cj3vAa886QC+iN^h zQE^zRgzl}iwI1bc2@M_aM@XUafx$dya*n~u|IiWh$XRvfO zeWd>Z@|fOhf!FA_le~4I!b;J6#$ zxHS*XOWgr=UxanM$0)Dc=?PuVm#;9!+&0rI%5amV2&;B$xuTV7gL~jM zPG66q!{TjUqgFF~*pG*ywQ*R@cjo!^N8#2g!8y&+$_<-+CW3f#dBAPekYq$=hI8|Q z3@Ikps_|}lE7};cNa>4;t4piMO?MEhFwbXTg#8gIX1$nfJtA2K^hXnwwOk+mnT{kI)w86b=YU|GMFNHV0MZZ(1f^^7BK8^%s8|rz@r$wLz6?FW8$qg-j93(k zel$W&oMmSr@DZXB@3Xm5G{zSTYoHP!=y=cc#C~pJ#9N*ua+{*3mRxI^%}4;n^2Uj| zzF^%$x%LL*-5_B@^)7F@;eBCH6nIhiyZlR4oqeysOSfK}TJG(}P7k$_AyCGocVc)p zt^#S3#OeI4V^mdr{mP~&WQyER=C;c0X+p_ShLZCi-B~MNpl--6c1a@~FOMpw14hD6 z3>m_<1pV(okw7Zo^GKYDhe4HtaGN#)$cO}iRT&sGp*2aZ-8734J(@(moTaLtS2g{-@kSYCNrdn1K*PJ zLcds6y3Z#hp@!3^I{vqk>)V28`^4`;;2>+m^(F{bYC(WyzxxZ>rwHP0GC;DnR&eci zhRjYpF1II1pP^Pq3Ayhaz~nbhMM^}`yX>3c%YHl*W>T$r5SamX5unp^(Ye*|2JxJF zKkhg{D2xjyk%5bi&CqP=jV;>rW&F$umDd<&j_6VeWNdAMV z(|kAkrfwVn+sM#GO|2TYDasc2rXPLI_j2yGYUJ8L34tRx5qNM8E1`$vDoTX}{3n&l zfKCCkZcu0%%P>|%ep8{si%!M++fDqwDSQ7$>l2!o8)Ux8y5Eb|*V4HscWb?|0e~xW zPXgSpE9urC0X(0mrNZX^Xtu+x4iD!V{Iry8y*E26oD0L(wq8Dwq#Z0VNk`oIyG;upJz zHTT-`LFo6|8qSpg{Zb#4pGy`gfmBe&MKO_;NbWv#t@LuoD5x{Vu{c<*iuREwEp1}6 zvat5QvksV3t+_rVMV$Z`+i3y1!nDNzg2VcBbsMM8GED)yXl%4z_&an|~V}ru8w4}(ej9s-exw*Sd`moo0X zSNQ$A7+-buSsK8D@_Mbcw(Ei(bH~uyiaPp%AQpQ)KephF+N8pPtv@;|S5q77!01_O z%U=Ov;b#R;7Q5uw&#z~1s&yhsPzaGR;7}Usl{Mq}CK}+k^?j1E!{MK)mHVG4LOFdk zyJPv*Gouc-3|`-5!?@MQpB^FDeN4GknR09qkrwBTxw?^|6(R7G5wG)1EKaHHN+va; zSzYw@3!%K9(_&9iekh9O@(RzknB#!*C7f*T+{j^9Z?bNi)OX9Ek}6W{;O206iR~UK za&}VXnDW3AMLBga5aH{MryLiVa76xa2cwIU&$ppMPq zWOM4WfAY*IwV)`rz`8Ow>oq26fOc4*6}G^}t+z5r%5gON`bf}qd>+tRwqz|NY9<~B zfqJ|#C-P@KTTMUUv@u09%f7eBRIfzriI|%W%oGttVLipV?aupb?*Ppz9ljq#VA$yT zb@t;pB88J*6R!K0sPlqfQYc~%LW!H@*_mrD9x<k)58maqV*uFab7IqF3aCq1VxE z0L_2MnAd{YTfYW#zrhAMguG*8zxkcQga(t2lw+cbM&@i7tRbyoh)&9rssa&W=no3q zPZEmXr3kwlnI#G1_z}*GLs9=oO;?kAMK`KX^$eddRdjYKE+liaT?3)4*nDZ3ABeXw zOe!`^)>9=WdN)O!vt*Ma=w|S#ve&4DeJCi34yaUi=Rp&BIIn~Dqp_+gbg(01q9NO9 z3v@(`KVb)Lslks4IhJYZ7?=vA+0qedHt8sD{OolHF;$1OB0iu@RX(1J{@d)zfEOCr z0D2cjQeyo_JIUdrqi73BFW*#tNaRCN4yJlJo3R*7)qpar)jR2gFRJrT$;2PVLudd zl*#y@h9+}wI0MLs24mS)VVB!yATrQr?bI|kkJ{omA5Q)@2Z%)OA%G4u4-L>!%C6wp z@dnpKnq#3)GzZdnX*JYia<)bC6ULk|S)^QbB2bbgm8A=%)%;gR59yNvEH!}6;!#l4sHli1I?z_>LwsE?@&yOXMT@57&NM z@t4NOP^{;q1S-f`W0(4tdxB+s9~`O-M4FZh6gGLE${ZhAWYVk9hP}7nPIsk z`amtXHuc{i-sp6T7cc4J(RxcjIRuN=Ti+uBq>WR)(Os{}B_ucnIH{LcO3uh$#sSn? zyIhY?8@ic`>KV|W5yaKbjCbO^He3$}CFX}n`IbAAQHS6FlKC@cYqIi4q&?ABCV2K> zX&B6<4I+9ELKGpa}H=WL|@V!u)^WFcKRBjp9fj zAL$CLuqQsBo=w7|SpG@{fQZqviFr&>42>7IYw^zW90M+bo)x(iCn`m?Cr! z$sx7CrlXkzS*e>U9I;%}D^0Je-pxgjb)5Qtgt&#XTjI%&Hlyrr3BlN@8k1{WN2iu9 zZ$#P3Gif_(I~@I)nznC$P_F6q3nWZNIgjp+6twcANG+`U-+)NQ)vqbSs&i;3((V;SFzP?s9W#JAbs!$Iq75`S94AK}k`lGjR-CA!zO;Mo=yLOZo zigr8v@)hw)zWtM}EU!-(mwe`*?5(+-W{GArN~_NbLOLMvY~;2ENwJ>w85+4mNMk>{ z%dN#8L0}lSs;)$i@k2|<6!=NRH;Q8#L>SsVQ3u$aIaf63H9+BlLpmR=9E@iFC)20P1`g!+9P|9-Tg7O%G0fTFY-q7;c4UrP_@%Eq82Xzst^ z?MvD_j_qjtXqUEFvR@YP^_efS7{5kb;pjq9bQCU%m4C$@U}khYqG406;!i9i*O{b$ zu46q&#rlHp=R*p69(nB2X0ElAp`DG~+1mW7t_Udd1Ogk|Spl;v9%MWW!ux~fsvGM4 zZ%}0p2%)m{jq<+!|6EnqvhiS9%wx2y5k|6qIPBvzmR1HiOIRYM{w>4{79(E4HHqf; zc_&ZmpQX+~n;K}PSaJ0X`w(E-qzjFg?)=|ndoRpb`q2N+7RjtmL;H-npP}gBq;zJq zFAvNM#tR~&{(A=X(J;&ff~F)*Ubi)C+yw&+2`f`HSs!`|uHKXW#D{#aRM>0yxZy2W zjo^Nt2k9{IQ~q`NERxb?8GDMKX?VyL3&8l{%oJ3Qz5jP3wXoyezLCwa{@w!soix~H zu3)#`N7@~cR{ft2@FqLpy6uf77dAsxgsl=s9Uh~=b#@zS1q&@8v&4aN_c%6@Dv&pXDh3KAy6p3B+Eu(Lh&F=8`8BQV8Y?S2kcT zNIQ|#5M8~pcu@8|Hx2jV5Q!ud7uO1*Q$a)r{8V(a39|k@w)9%e`ZK!-&eqk{1)p~F zb)RVtnOJZaZzRoVKrUEFL8aX~;A2Ig?<9XA#lkbs?*ocY=+i53B+Gddm9mUwW@zv! z3JFnT4VaVErjJ<8S`NUMxVpvVjy?To@2D@wvhK$4+-`V7OI5N+71u7o0q^k{+R7OL zkpd0)4!`A1yn>P9Q_DzxG;ly|N4V(07ZkOieZb~#y4^ykjBllk6Exk09r54+v5zzF zkQYYp{nHD}WG}G)(+il8kQ-4V2>ci&Jg?haso1OqFen&r3S{s^ebNRRk0#gYTK0A} zUY3~f*Ln~)o|-zqUXnyg$HNah9T;E}+c_GyfCFdv@n z!3%@kfttD0Asupn_=6{v_>-RJ*>&^)2N3~+;dzW>po!N14e{Bz(2tRuGw+qNJ znlYyj&`|rLiqM@o5*s^p)fIN^(asy%&}6XPJb-U%e-=Dw@3y$SxhX32_2HoDsek=` z;ejXbho7!pI(PouzwTXAZ85h@TW`}Y>F62wHr~7W&r07N8xVf)N&tK-4wpD!E74cv;ZV8S&OlYR9@_TIMZjaM}Cj3ac0U=3#?;a3D z6`6S+I7}pKJkKI=HA>9&p2Jb$-?clV#D@i2YweZa3IW&K_LZ@QZkb26Xgs zg42D-KIGA2Mnd_!pZ=TP#vA}cg_TbtuWD=89r$HPyP%7E@E=A>NuKeg+oFQz{r%v< zj|*j6y2}+0^a>9XPVgI_7SJwySob4D6Z}X@D4U?)YWKA^in)L!Cq?H;Sb4=I!Ztd0 zs!_)uaLVQ9lRL{E)xo``pq5agzhy2|Y9Pp1^Bu_AwZ}C|N&JQ;@h6?aoW}uPn8L6w z^sM`Ds7@ae-`9IF2PK-CmdA)r#GVlxeai}2@G{r-TaKpN_AaU;JGZGTXUkSXvbb=} zcEgi0>0_2{>k&}y;IB!658ifGPAM+Hv$Zqf+2%&D!HSxfp;jLKr5vK~!);jxx0Hr62k z4bGRI76-XLw{d-WEhoQY1T$Xa-?J~ll!!i0LFxeo@tUY!{&JF+7$4?_xHsJmF9jv^c>Cp;9JeJ{@#h)eTBo#b_@ zq!qXt$(@Ekly&oS8_J{GfxW2{Ngo2Pu4dC1s4(o;MB4Px4${hZ2SpyHOwLcfu;BXT zm{I5N$-qkq&wM^{!yYwEQXeNBDuSK&?{>uTVohCJ)0nYu7EMf6p{IWUpJF70?u*8c z4YMN^O=Ut6g$|~PvR|}UePnzrJ)?p15?;+y!qd)C=)`P{q3dT<=3@*Som)bmQQQ2A zc_MeAG2ChLHZU12MkR3p=eIgpLIx`ID{UR&+ueiyzbIQa02<_O^odrECYAs#B*gsm zzGQ6ewyCKij7C_JA+P&ZTK?t?aMT$0ivw;qg&m=ZL-AaK;yGlZk=f>3St5D`k{3vD8tAv}PetvBHsMgLTx@|*zBz@>N;;7F1 zVqy&0raHUeMRLt9vj&%QciSx9vHPh}m ziJ4|${Tofqw|?=<3r?+y@wRhgD2L6tZ<;(U*-)1g+=tLlW;(V)hq5BtKyiX!K`1iOEx{<)o+nQ>s z7k#N`7vYpqt+tG*yTjoVW{SMqa<_DL3Lufqn6vr)qIH*wps^uPD7DPiqhkUwKjAp~ zC!g+)frZ>QBTC`@90C2{NJ2<^@8$DXm_4juiJG4Jq_5!)t)>95v6hkU=6$;}7HmFj z-~@vqcq{L5+5u5v$P*Z`1<#H1JQAMzr>WzS6t=@zJ7A_?0J1B$MXR8xqT_50gx;$F z&6Q=bIf-a!L|*2(&DdnlP?CNI7o)hNXz%Li`E(ptpBV6WkjQ4mnH92Ol}(U}FEF;Z z0~n66eZAJJNCJhjR@Is{>H4jrY1{4#&CL!<5oaBXm*ZQ6?3^5aB9s#}(3uSa;a9vN zc{SBxZN;P>IxbIMunx9h5!YLfukKWK(_i`+Y+V0oV{zow;=ZZFkHR^+G$*~!SnsRN z(Thl7G)ftDTfP3NqJ2`1JH z<6l-pJU_U*k!K@cQHLlQl+9Au0_C>Y?BZIk$O!@*lr@{_Vdii@&~?{;{t%(RPrf_1 zLmqP|5SU9-a8Wpnzh4}0$6{2;zMi&Pa5k1ZfuxO@_ySwSTc0L(QN}Ubo`oB=4oB7W z;Fh=Gs*rWykE#1nhu=Uksj3wv-JLU&xs0s&k%6J8NbfZ>Dgw<(zdiQWXl!)T7^ugrB@099z*Hkb5=~7cSU6lKGpPb5rxcrMN-;GCUr*kk6DisPIXKn4#08uxwym~PVU8y7YBP~Rk z-{EdC!`(9TA(2;~hFTsgq(Em*v$N{J-UFgEh#*E~`F*k8Q)61qh1W*ISKl3F&{n=_ z@xggi5kYJ=KrDlL8r_{z{3KdT3tmy$bf3vP90D}_&TQTW$N;n9PUz@AQ@!6AUGYG4 z?-#hV5^q8FUh(Bhae5YM!clThLQqXm@2g1gw z|BFIpZN95yl;m0k#38|53y=T`FC@vYWN(bUuVfZtANhoeleACNf?3h%4u&}#x)_ww zzp|Q1)AtFI-rQ{|ws1iGOG#yb}~%1lZ*FE!^c)fzA574ovgD zE4{Hpx0@Xew3Ry3Xk|_FpqF&2sQNbY^H2fvv(>*Tv&r@4nk{tr&;0cN=7|}pxz0C(+h58H< z1N0?>$)k4gn<&m1=OmAJi*>ZdsL)3{-=8y+08%-FOvz5`#v8DkAtNa5>C@#p*QdEX z;c;2|7=i9dZCw`jbt(+_O=?-0qDRXUqwFJ7*s5Pj=89Cos{{WZbTm-&Sl?7Eb#i}U zGW#wu(Y`*4HC2xkJ7vj&a;5wbkJ6_{EeexZJnrK!Es2Q^F%Eo7M~HczlXm}yKSe5+*rrr@sr0K@g@zHnU%$@yX10lLkyJt}sL zN)Tz|rtCLRJ~ubv@x9aHnBFVS$7X`|I@bjsud)m7yp{kG0t{9cq`dv~XPrSdBV}b0 zCiiz^Ih_l$ZHZo-77dv@E1T66tAnp$;j;RizO7;WeejKbD8vmeSu~!6-%uqY3I%-s z)oFf6_Jx`L#D;BGSX5|7m($-jVSIgm=d}T`1DQd_FIO_^lnzC82tCy7TkoN&m@t|| zjS%$mS)2miUdj(W(O@U;S;->DPbs2J~CLM482$|ZjbeA!J< z_uWx0gK*(-y4robDXydcO(cb+rQ+`E<<`O7{4VMBE(8}l)mN3HE3ukN6_JhBPB@x2 zF>&)tr#>O(!FQ4;VtD`Y8@QHsbgiHzu#djlZF=8I%G0M?e826}s=Ws-fDmdhnmr=w zLVr2VHZquf9UFd7L>)wUk5QY6VK@qXF0x()qP+*#zFDF9SwvA^F)-)K}xWfWFzF%e>}otD4<@!{7UYADa}^WwDy z3MsT#EkLvfI?&~@UpN3VqQmVvzlrTwc+m4nMAs-Ca{sNnjVV>Y z!$Z=&_5zCaw!8FSv}-580%fR-fi3YbuOzywgjQlMcN4as5BSY-0PpZ!FeoZN{;jP* z2nA>O(_T?XOZ^tq6FK(}R)x}=qV>Ou`4AF@zw$*kIu%E{6IU=o%{GCD{c!r*c#tx% zT<0ZO)R$k`8CJKMk_px%I#Trga%opb6Ln&RASsJ zC#_f-I#h_M-;C3)UU|0$*GI+9$#*k)_U%-Pt+VP|fCbum+fHqkt|%L=k1vV>b`DL} zdex;DykEN|3~QHVeae6`v)OZ^)NE8s^=uH2{<b=c0X>1 zXOAp&9@yJaF=L?jM~Hm!WwwDJ01yzbHQUJ6^<|{Be|MVN6AP@CQbQZW3Ez)4c}K;5 z$rdt*_Q?`GS+MSFGvldm>3ULK{q%Bkaef7}^_~~{>FJB}Q5+X?|?W+~DIA3iMrQ zvaDR@w~zPz2VT?kV9dzEP_CK+!+>l7;5TjzrSRVAiCGVNBNpv9k%#B5L-Y4((nlun zb~W5AgR(@pBfQS<(}el~6pJl}qKC9~b8zVm=hLCV=0VwM*Q4PC1KHb)B-07RE4ROoFw zC`BLB+a7F>Mq@8tAka-o!Z+JNj2$a{Tgd+}eTzfz?yQaH(N)bH;&?hB)Q+}*&dRfY zYg%k2nvt5;rh*4A8Vm=n>Nq>YgCm!?NmeQS+ujnMhtT>fC2D8tz;E*2F6}OxW zP1LLAT8zY!p-WEgmgfGx*i4xWyrGN*MJ_P>-)uV7Js6dlt_Y#Xy%ziE8cwx~4eL{r<1)WqnRCb z*F`fyBS*#MsQ=SzTA}i)r;Qzcgq4@e;*Isv;mG~ChC~H=bWu%~^!CYO8pbTniIYoR(_z&SHwPJwgA_HOgx(FZ*3Nq5AjeyG5*d}Q=G_ST zU94hU07MLB#2Mc#Xx|Vm?z(CNAwg;0w=WYAU%H%+Q|F*u0hAn((J0K$ zsmt9zO#4c-4>C z)g=|27Zej3jOXLLl2BRPw_aHRO_r=W{;ibIx<$DE$};IpepNyF+E_^J!=y@c}A$>&2+$H{uUAq_`JVJHo6W z=Z(oyeOt|PKDjE!`_z_?x8*_e(K`cYuitS2*5CD~D=#fb|< zC=V~!{F=EwD}U}s$n-S}m157vCUf?ZxI3m7r1iz`vTE4=xT^2N6_U^{Q+xjCwA`Rux(Aaj6+PAH&^x18nht2?9 z8=#hR=PPl!`#?F#8Q;!UU(BKCo6V9Jg}=cTMYS$1*M66KFmlo#%0J&MI(NvGX(w>Z zwdZjzQF}K~#_er`0#4bjL&?Qn00X*nK8^#$FF}_E$eciR!{M<&ReMeBZd|NW|Gtfm zh4i>t*b%o~l3W~HHr#YS6Tv8N^D3cGQQ9{!Z$Ij0#+}zkp~9M@w%=NUBsR%hQ9SlN zOm&$f)(R5l`8{#rpm4_Wz^l@kGw7)s7lDpS9aqxkWeGl>8$61{$cDeGTzu&drFITt z9ohO8K?Pw4gwRiKg}YANrPOh2u_J+Tqiql|fvOn)O#6N5@Uw@jLBU$fHq z=IGguxeo6=+}W?OPu!b*=6~TqFwpJ0nj{K25fzK0n7wLq;ZJbwb*$6;f9%oSah zK9IiyPdthYwR!sK$?R?*d@Ww>x)nGv5R@J07*ClN?3t6}$`D>Yg7FHR6SoCFvmjjO zde}EYgk<6QHPaWir}#U`4v}s{tm}}j+}cM+E4bUDK%$%d1F(EwW+M6w)Bu1UUHDzu zoVM=%)%KC?v6dXjdvo>xU>!ebQ`>BBfsIEdXixnLJ| z1ODzCwtHkW-WKE=is7BJj4~m}6Aqu>w>3nmt1eG|f}jm;T*uJr?yH1)i}{}JJe2+I z@BYxb2W_T}CwslO?*m!vTHuKlct9*xnAtF&`V|xuP~r&w<3)1$`f#fRj=lCo6)G)& zJMSa&k&N2vhjyp$?B%3_aMpLI2_j=ayj-XMvYnjqCtxQ~mJ%+Va|E?u9q{EtUmtxB zDVT~A@x0&)bkvLo9PY}_ z$|d}>386s{eR9p9VtueNjTYXcTOgdbExqh``EyZi-yFa|9}bGZ4p)L~lsUHqW?*j3 z3o1&hiUkD*9zLV^|M%bqJ#XzJp!AdyCquOoK>2;=+U)K5ER>UUM-&5y+Iq<*Q0qWu zQ^l#vg+4t7Uio0l7`o4Rz>UzOM8rXI@Ac&`!*U4)=cA6Be(LT|{IkndwxuPd# z31X#&9v@`DeAf*jV;8;6x)&V1iV%Y7DsTeCV{kPR<88B zB4`NvZXL(J@MUr@Y8{&616e6fC27~!6S)A$W6WFW8D5>!9Kn-?zVbtTz84RAp)btz zxb8NfxHt%jsE6(h2+OIag6pV*CIRW(?h0Y?bVi(~`f7uv{}4OV+f{i9@zcW{xc*f z@Iu#P@Y6L%cHd-~(wr+OQBEz_f+Hs<@QzcC1%T!>-aTC!vH52W=nvIy2*V{y+o{+$Rj53sMRbrtl&v;sHwmKo%21d`Bbk7fU*;0at6N&IMYgk8sTNc zUY>RQvS~b|p(i#Hv7%7Aorpd^!mlF%B~60c)Mktj7?QN%kzWE&r23|D`c6mmWvFnE z=mD4mdadAlAmAs3K#*L2HQ*K3`fK%$fl=*JS~uA6Htkl-S*GxQ>am>t}o!TRU6>?xI z6mWLdoPYr+Du)E&rl1@;+1towB?E?h(i!MC>rb?^T7YJS)*Zly`9jEk?4qmm{hE;V zKM$S4b)0})JP-QT9=M=u_vi@9o91yDChu0c`1SlGoeRcd_bnov0jhb4qPi<5h|^TZ zzB(vvMBF`FX^Eb{js!33WBHix?8vY&mzV_U7{zmTod^AcZ(ZV zj2gg!8h*La(QX1gWuBsBJoKCWXm>-1|7z&u*S)+{;f;c~z{|iG!&Q%6NU&bKc4rgl z^WM?dym#*!)i4L1m35dL+#Uil9tiSr0j%RN#JU~csjs#OX$@1fN{HfG&|Fl;3!blR zzR8v(%i5yBa}P{8AB|D{LktqUM`A%M=ZSqcPOvz<1S0ddZ}7MqsQub%|9A|pYtH5|d8kEO=GI33_7I4U(NEA@ z{g7w`HcU1H;UcmQXfr>SX|wvp%Hqb*RQCyx;rX4FJCE=C#MEo(gKr11w!BW64@G$} z`ExNqb~#2}0psuxr~+dgFS(3zT;!|%{G0AJ9coWrZo@5J%rH?E(^4B~_)aWEExz7c zyuKHgXL)VId;6iHv^8E`9kXz?J{Fqc+%{nIL?kdv6TNgqECJj7?x`pBzd+$EQr|ML zj~*zB17t7&h*Nzv^d9b+v^X885CzJ5hmiMI#hD#OtL`hFIaKzkY({W>$m9%JEknJE#ADT`lEt`=~m>+8h>m%(lk00OL zXR%6`+mq8kb9Ozhlz&tdlC`l1`tP0Y2Azn&8z0@4M^Ac5VLtVVg=y#)HtA~3vOL^l z&*}d9;I7T5PgT$Ub4pyI(%>Z?9O#(Udi~}3Qwr{V)P*^5uzVWrb+DfI*coPq;E&W_2#5 zBo+!ZfT;_LzCw3Y~~LSZSnc^L=I)M*RBN57x9PN zkjl=~v#p5zg!}K)l|8H7s~g~KUm+H(viBA|{f@>bp#Vi3 z>*Lq%2q!2PtsHAB`+rWg{}pOe<}*KULD1fZb+v-s+yy5GgJVx`W;>F17XLa>1X{PJ z=(QRW-1QL!&bSz)cS-J=o*KCzTciGcCwenB-J^2x0q>_ftp>7k1Cb7(^U1ruGV?`p*_f=MAK zJ7c4c6lOkCkC+*!j8H{Zx3W$~H=S86D!Bmfk|9E_? zN~Z;01DcLtgaWA2f3urbLEo`1YVeUpSJ$oc{}tNw%G=J-F_8(oX%=chjn zp>*k?-0@$x(P0wbUsVnvj=O>`{$!&eM;_>5K+Xk~^Z!Xfc;2Mv)+OhY{?U*ePN^)h z6uvQ(2CC&gjnKQET5D5_FK-b*I}2)cZ#oZt{#5T1Yi()~*wZMYtMr{Xcs*TNvi>jW zk53KmuReWdL6m(!+c?SH%zvhZake-fYHFgbBU&?uEnWJtX%i&7U!*o0-)`f1DldW8 zO8EBB+3Kuel4qzdXvKChC3wS3m46Hzx^ouH{3YIbO#~&+ba$iYor*W_3x0arLroPzPin<^gezD%Ic|lZFa{%WbP^iVI>;_X= z(4x<2B{Y@4oBR@TbXe>Qj~yQ5F@fBTb&P+x5G=BBa2a$pbFp4gt!76=60xsbz|Fg> z=34+}$UpV6OTzj)$OeaeQW1N3P8DAN7onj4!r6uk-<<^v!X|o8;&-B+X`{*t4yS`s zKvZ`+K6u5sNeHDM+YSNe_HRX(XY_d*m)<@o-4|4-{t^rRn>i5PLb64B8LjKjubyL}=e zdRc8k4?yRu+<&_T#f5)wD=3#bcg(%=S;4rl!ourk+>Om=24W;x!fTNwgO+QvO)9GC z!FCYH-UiL%mo{g8()~97PH5`VpNXzUxane|Qxo1t>d!GzAn%}9MOZ5^ULHVw( z43$I&xZ0i}cFGI^SwJsm{QEku_r?47*8*n6k3kuH%?@COV2`L^9LX<=Pdb(>;gY}s z8lSgNO=1bl4Ob)zS-(Lwo5{R=lu`6nIlumCPQ(9nuYv=?gVCR+o``dnMJcS}=#bo5 zgjdnknuvr3#a`BPTftx3JQz(Cy8#Wq=Igi{pF}fCpS{W|Gjuy$65!v}0 z#!a+`4`U1{4T@0wBKd`|SdhH#{VwRc2GSOzcJ}NOCjSj!b{Ly?hOJxhh^jXZA@#r# zLa!i+qHUADI%wiyFP(L^ViU2egmD!5C8vb}m{vRTzgNukmiVfD9M!=A)WG!`~;6Rg6ilI8R7DR09)^N@F~hys^% zSxVVbmU(uJ7N0-O?<44AL^YBT{9&3N%j{r`c7&-r zA`5BG2xe==FJA(;{nE%}CvY04syU9d_}M~2zrP=)U~SH095)e=gn__uCe9;aC$492 zZ~99-^S%xAq8)^Gpr~i$^bu%1f?cm$Py;iI*%oK&BU&HXo9nE7E(}{Khu*bUxNA&?bU52;lVmr>i2?exv1HWtB#~U6Dc}u63E5%GP<6$RDoSj%(1(Cur1j z8a6)q7!HrMW#7EdU7lJIClP}ZWkd9Nw_E8I9IYup0+fu#z{HtOb@h>xu80dAhhowa2yE{rP_Kk=qV#k9bO9S}0Lp_};FxZW@q#0bMa+_%U# zAl}9>3JRImyv~ZWn^#I>)vY2V*ihtJDF5hf%>$_eE89zgb#rBc=&|C*30A8sv*l|O z6xZn|cuHouf$PrsqiqXKN>*hR$U|X8F-aG7+4O{<-T%?zeY&c54{5BY;*Gc%Vm43) zBG2CKcOT?^`f1s`??FWb_d$#|_~hz$L^hKwWN4w+tEqY|7aw$t>C6IOvhJ*4tyo>I z<%=YC0wML)pajXIDGPZZotlQ0XRXALa&^t?F5c{EVzmi}E}7=|)XOaZDamRg8rmhu z;Wr+SI$J038X&Su%UbJl+xK2m;G{G63Z_4e4{GP?4y)?K<67x$gd@61&?*|@!+xnG zD13Z;@n$GSl7jw&_LF*(wG8XCz2W#;suS|9WlQrVl;74FU5r`1op~W}Qp+C+3%3OJ z49Qbyq%EsQ{bu5gOzrR0f#47XCnhABfWQcB?-#UTb?9t(iHUq!GoW|8xMttc7S;4m zwyCI5Q7UfwfAJUP!mN6h&&nDvevcvPqHNZVaJ|TK+BLowCy1Mpe%osT6jmj8#X}D# zJJs+FTa_iYsJBRHgMYpM;OwAhI9s^c(pQOa&jtxc@V1AM^O9}#>%Fj?SA#E=1f0O# zqD(SfSQA>fS?O(&4YCqn4rf z{PN;jwd);fciH2etb!6LTNu@v89(Jk|2<-to6_HY%yy>%zTH+mJ+*9c4hL>=0qW-{e=Y|Y_*zqE@H#YMzj4JCbbqR&bu*_qcJ z#HCd4++H(iN)pDi)ZU$|aWWMRpN^Ydk4@UUy0eP=@+BzN{=NDyL?#ho<2OIw13oAG z+av8wWn!C?Np58f>QF_+Quy>Zvx8d$OBk;gL2ZMenY zmMiRja?yyPKt-(SSgLS?9BmOER2IgJcOvyTOoR8>zy71~0uAyZtOCmMzK~7x!dv58VMpPK^U!?h7amc!G&`QCq%LF9fY=ie%p0Rqnb8YtI*u|?3)mIwhPtTnXi%qS+GXM1G1pZ2#!S;5xL2k@QD`!X8``Z z>&gi)>wdUS`I=}Uxgci}E5gcYDsuOrtP)GwCoDL@`UBp$EOh`*M`w+TKqyE4O|XMJ z4(3oCzVgJNF5&*2z11QHEy`iR(}ZG@WZgv4a37m%3Gw{YYRydBKneUtX452w8)BEhz< ze*jd!pdClG)#P(hRe}HQ%Wja>4uHtwp)4%h{0QkG+Kg|j(*mo0)VKCWy^vAoiCWVLG z4q>riZQ9q)kn$5KyObubT)a|l0(EQm?U>hwk2`bRA5GnLRjRC!1UF(cK1E0Tl3-~5 zS{A%b^2ti;N;%T({;FIGYJ*I7C>P`ILpu!n_F-eZv#3F3uCkjL z_Za-y*x1#x?iJ~(U@DH&W*LSAeIJ`SMZm9Dl~@t0ks(a9K!EdZ<_YltnDzS}i-x(Ws)d9j``81WKLQr>kB9fz@YNq- zjFC2wTFLKw0U)>x3^n!~Dw{o<>;=--lsUf@LcPl*;33QO<0EqF=*6M^MJ#Q zNN67Nw}oINh9iq+s>NG0sOAs4&Th=sUNSu1m0~Y(9&tD~$3OJJ)m%vl%C0)AuXSsx zR!lOdM@_@)_Y(pRWp}1uy;_AUD&m}0q;#p~1e;+FnXU8-pJ~h&icz}IKX_K#KVerTC3E~X^Tk?ogtE>4_${rNAS^0E zndn{}^;;XIfc@xeE9#{zWa(r?dy*5SY+2gFM@r}?m}!2tUmQfQEpP9$-j@UnYwK1fpEuj!%yzroXywx%h)?${DlcWU}aaykQN+04S!8y}V3}swpCcn5il=g%5 zr{Ju%l;`=vf?|~JZj!JFzT;KtbMWiSt5Op1^dyrXW`0kcdNWZ9SB7JlBH9U|MHt)m zv(tY|B~9Nbz&JC$7xz4eNnb>$jv{+Y14>Y1+ovG93f6~r{?I!Ir1?fc0RYry{{e+C zRj{)oV93pjtPaU|`gUW_8HNpaXlhxmb9}+n_!7QOCFEn!-t(F8A#s2Ao-zvwL&D?Y zOr}apS4%WVVPBhtgU`nh+Q#^@YEcf#=-{pEsxr$RM=fO9qb+3HmvPH|w~id_TGK4p zlu8K81GxcM={~QdKl@U@sIkO61r+sRmCJ_JZ*{b-K)%=v+nzi;CotbDW_Z3FZnwJ? zb-as`Ro=cBSEACN=eL%h&><$0@@1miUouq}u9#Y$pg+_6H!2KyAx<|$lODc?96$z6 zITs{NPkV%xxmpF$lwsEQvdovFdEmJ(OC2@H8eTXT_m>7ZjP)1T&FjD26NV)>h0?#; zg9r*7+kEa6di9~d5L1J_-s-|Vk7xHS+B=F820b3q^PJs#gqmcOA-B;~O))TN@e4*? zFldojoBI-sJD2vQLhaxWGhgzblNz{lDbPQj%gb%mCCj9O0a;4R4QzHV%uNPm2pI#` zamG{@`h8Tt2os(S^toA=?x8HJh%G}1Vl2@1VEXDJl{4IPiP5|AXzi7dD_1ku^pXMY zciC}u_F$^(FgWGRW(eF&_Numkg*7+!d7DlVMBtz0P zy(6)`j)7gUn8_{(?YYBTehV0zHKKNKFIAo6;mMyX@A*Y(CVo~la702ajTnyp{)4f@ zuUiGoa~Zl8Xr{%i{+$0rG2h|2**iW;iynu}5Q&odl75fel%otJfe|d1#Y7FMf4$L= zZ@P!@n{EDmS@;|XbVt^vigpNN8!^-~hR{478B$O+nI)!OF?XiqtEPD!)L(U|+RtcABrs9jT4QKGo-Jwz2h4<`)!SLBpTOVAWmQ~=m zhK52))YF!|h&?Y#0rt?))R_oJM`DzeRj^IE14(H0@uY%K%oIx2I#Hm+`Ye}nsJXlk zN6M~G2z#?vd^CIRms(G)9etpjU27FO<$w`J<$+Kc%_B@{bM4oT(y!VoHifNak*@J~ zjBT6{ORe|l6yFG?9c)YiaiXEFociRWBlPRY(-uFMp8T2S4|fryrQMIUM6|kq+=^rcau?fLHi^2c{?EjrEqLu^z)5gq<z2T|s zBdv-EK`!6@yjL`R&e|8+&e&>W7-bv5dVjnC`|L!sT3$R6f#`RyOf~%gaXk!gO1YvT z$u?-d?4qF|v~xG0;3|!7I8c}dJp}C` zJ32)bu7YJp8Td1s-Al zR0E2^CcZ|Q^fCJy1OhI+oq)Tx-DAd{ANk>cLu0YJwZ$wfI+G2S--1S&jlS$SekrBTVu7)6y(m|VXQ_JtWN7a<$vm6t^LZ2;spHJIa zos?uec643)C^R^ug|f&Y+DTy#>7B~!9|`2`Y3Am;w=8g>S-4&zqgT*)3C zO-oI_j6!}+z}ojD$r5gH&!x_3AOxZ78a+SGxeYC-z0uD?zTdffNdvBkt3RT@_L(y= z+O3<;$*1*L!NRcR3B4@rwbnH?1IkoxRWYTy=)Se)e{7pDjKYd zs>+dku$9FPQ3#4NG?OR`ykgndr<<;I#K4c){JVZm%=&?udbv&h>7}3(vz-DZZTvo#370^yCBTwB z5S>I&y23K1c?c)7w7pOe>Ng*f4Ths!U6-&R|EYjFJtHJtJ7K3?%#brzl7J`xcURCz z*;&9FH6l^8c>kQ7TLQ|7&;Rpro(4v9K2EY8aBnY*o+Bk4Hc(pp%RdsMj6j6Y6LJ}E zPVI)UX97Z&>drv7H>_ODBM{6B`Wucz;!YRu(6~siazy01Kv?&QYN=hN+?`&T)SR*Mt32Dt8rj%a@_ZKUQX`n z8O~X#hi@N;F$^uZtJ1p24CG-w|IqbUQwG%do%g8t&Lm7R;Awm$tq5t26;{tB`+^Y^ zHoWrr>fZ`_bbKmVWcMR5#UmY*%VkMP2}8*PT|elAxX4#C`DgL=WwJhvZa_qO0*;zk z>NTt9v9t>LJ#L?ojfh!XuMmTE$PvM3TGo~F`kpWfsT5cs+OiJshN%T&Sx|Vl?aJ(tDE-NpWtci1U`_R=lfxe1NE*@om2*Bi7ya}?pqwwiym2#ch32mrfBn_`hV%Ke&LZ&*hoh(5-q zmKbS7l{wS7V39p@{O$p3vqUTqOTf>+@G|TkgUyFe9Dy-zFrQzu3S9@H5RCD0D|pS2 zE5Z8U8gIW-`PSnOEi(n6AD&w>rN+IcsDh}QY0y`_k6T7~+;UY;oOm;{L!D1K=X0+X z^+>%MFG3PvM*$8{2-cY~dOfR+E~<&4Y#yJ+j>wVcP2y+=Dt_5FIE$GygV3M zQeKira6&poVE@b6n!Bzurj|@$9-l6L|H?>}08CzyA(t-FHnJS1u3NqIy&<^2tVaWE zPbzhbN4q3=&*B`u^(0sIV*eT>mnnhBCNf%j&cGPGPneRrJH$QJGC?;D8HkY$4Fveg z#pAU$!h%6e44xaUQEDv?HH)?1Z7~YOv;XUF9Aq;=m{C-OV+kbY2qK<+*kCPR=^Cpq zVeq?GRZn@M6xL;!uY=T~U0%J(}z zRvWR4o@=wz1Cb?r0y1*uciOQ?mPhDSRu39KWt*ZeW-Ss%WQ9)7)+85DA+AHejLz3^^)iMiS>u0{6|vWgzc<5Kv~=5 zpu+)n)TFEbV6$6sQL7jF`*wOy-;zZf(wb!t>DOh2p$ zfG^Q)8$T3nmJFb)LY|HRMh&qeypGaqQ>@^ZFGvV9!ah4@O|oe9C#GksY|||YX;-j( z&4&ngM-rz7_T%ZjtuJ_}4Cj7#6-iJ|!0+I39d&ZyfUoI!)UsozmUNRBhZ7p6qvGko zhCPU_icWoT)=qAME<0;#Qp|*~W?vaoJf7@G;T8)MXS5U>8<>K-;6!8ZN^~Wsu}m@p ze-7UR1S#o!%?v%!8n^!)D3=NJ-N#e?K1Q-sm1-y>0gU$bdms{P#WHj?6>%fmhyB45 z0!Z?D%2Wht1q=aiOuv6qy3;c)RNh#Sg**YH{FcZQ?EXyw0|@6>fis{U>_@eNo)D~v z-bb3^N6(J7J~bvu+2b4LoJqKX`0RFNMk_~)!}f~TqkM5z-4m-|Aa7rDIdY% z9W9y^Bul~qaByH6b;!%eU{1<4Pu=$SLv2msyoErxmFxv9U zsc7H9Hw_DGF+-Jw_0Y57P_Oo!i?@}mbx)Lz@;gnlNe_sTQLRU|emAGGR{>TXZ3kQk zy&W~HGr!@qu<1l;bYf4FKBvV;tKrylR-8`zSx;*1sm?f^6yfj-A#;zXinYkt;BmK( z&ZhQi`G(~l;rbb4jm;f8`BP7#z)onvU;tSUv7kPprcqGB1!bI0VCXN^>5G(C3R(Uz zYf~W3M9knmvT6p6UTho35b8VI= zW>l}L2Iwm~Ot>q@NAcs>>iF#Tcry7did2ghJ%3B0HDO|+)*}qllEj?ZLil{?o<&mq&rdf!&34O$|oYid-C7H>^z8^c0zAVM@tR7>X{PC&Pd<((ACCN+whOpi-zTSt ziLw~ln#PglhTA2k^p|@TcGsUg@db0Qpsbf83`@12y$u?fJAZ?P>o7wU$+%W)>$Vn0 zIGQYnAab+>DDxYka`Wl^gLoeke9gOFQe2$r)IjeO))!I)Fn(}bt117?*R3}@^Rb3y zb-k0}u+HLvyd`O%&jU?eC@ktc`0aKRfmlk7=>?sY6v&bL&MW!*U4+}tv@E^L-^;d6QIgG7MruS>9qxS%s!*-5mcI zGP@bgXj5r7oP|Bosq~DXqYB8?jg_ig=#qaEsw`U42)P*_bt?*b^NzP`LGz$UgSl8D5F@wL01gb-X?e?H zVR{K}6+zQ|S2h>|pzNCUvQ|i(QRH_| zAmT|`9)=a=6XJCvcATE(g-ks^Qg#1-@?e3@{2EJCp2aoR;kX)H@>BEKD^o~c_QiO;zs~2cxiRD zboI1SeetG8Lr*J0#LXjTZWruFB5#A-3S8SYQCL@pdrW>IyGI82O|m$m2=}-X<@bQ% z;rD>Lpj3)-@6aRu(+s2^9##A2$;%L1#XsB-r zbGcT80WCa#KW2g71G09LgdRZma+OOKu4+5#hEBqR3`Uvie9Q|u@Rq9Diy>0e`Tbme`Ti{N!yr# zyA&-gb*!Bc$yQ2j%YQ}Mps@@QL#xSlUR0EeKRA6Wi4nM$)!cnhysmD*MZJ{c`bWVi0<5^`((2 zXhFhECou`TRy_llp!;==$e)@&^tp{-rp$oHfFBp0)ZcZN5L%Ue)fOB$WeQEIXs-_e zW5KV*Y!!N)iTKys;aMX}GW^0hfk-yE561 z@?U%5L&+a2=@>FBxrOkM!rmKgF+A(~x$SR_My?CzW21V~Q$_(oa!Fso!X||I5%S^YgIqdzJb2F!<4Fau}xANI*`og;Zrk# zqzF-KLNj=hs1Z-Ix7PP^|3CuYE598W^EIRW0Q#i=$8CpqU%V``wAakP((g_pYq#I^ zQToCS)!pUicP306cY--IYAR_Y;+yEDJLF{aCsp zdOKpW*Yq_&N03=B(Ie*Es%&f31!U#{x9v)Wq-XE~)=zl}QITLR8vxUUDJPBdL7Az; zW>VXOg7s@;IMeDEhn0uxZ%J0ZG^`4A?N22G_i`oNnQrB7I!NS(`yPiCxdD>VT`pznd!;V??a8hV*LcQ3)=l?MMT2B`kQ zB*kp(yo-L({r*=)BlRHIv+Z}c9BX&yZi6LvI1AMjRIM;L{VN1pdPfPW;pU=xd=BX!o`%-O*hZgHXu5Wt1|1C* zd6aj!T*Y6*NH0fdkicVOyb*G-Ue?-`+3=B)_I#|IF?WV&qJbCpTB-#4rm3dpLbh2d zdF!6I?zS4g(}TLJ*n_Z+S5!@;Gz#ouRSXKapY#fbcsrzL9O8`?$-Kc0OT>}*^cZen z5R33+Pry8#?l&$RxNMht$#4XSHQ8u?hPcKfBq)es@=;H7a~OCr&D0=z-6!_12RbtJ zy+Y06DX*8obHi$G^U{b%p1aVgQ%IQG*@edSH+{JhAn%-B-N;Sn_iR)|bmos-vJJHg z8rTd>B)i=btKlL!REh|YsbQyAK6BoTKFXBynFk5xP=<5g-I05B5QTG)*ni^8QUzb5 zqcG*@aV;=Q21_=x4{u}9uyUPF%(b4I@N8ygF)!TALLWH5bvcipq!?fRfgBRr+|^fdWX`(AWg!x#oj)gK&kw2GLE1*=p}AXK}4iys469__asBG(2y z=w@fy1C_MI0?jf|Fm`Y-P-%qNr&z})`3z`r-8 zBQB9tXhh8(OczSG=X`isRFjANFXi@NW@vE(LDFj}b`_52hR;6VNix+1!4Gr00QF$) z$_SDLTH1GieDp_pBuGK9io;YHsC1bj3V8>=lOhcRDy3I8^-0{yZ}APV6Xj+WQEJy_ zbGpNM5Tdt&!;eA;sgvciX|d$cO>J~Y-B}iOIZTH;KV6#ghQlB5wav!^6|m3T<9V zq3S?F?{M`B4-Xf(6jI2`Q-AaF)C_U^dbpXe=MmU60xEr%jC^dboOl~iI z1T|cQCV)&HJOvEMZ(2p$YG6`zi}lh}Wo@RZM$Pot%Ovm)srL|@{cL zN?;TOQK43W*ExXClA)v}PY1muV*~-%@!hu~b>uJ6+p!ojZ0mfl?U>-#3Q1SldQ~Xk zzqMeq6Os>YgqESGWzzQDcQmuFAP{R+O(^+lZJpcD+xf-4d^!6B^og_=ED}u)Bv;Sp zdtKctbpJ)Jkdix;megGh*y%x@UIX|Kc}T`$da=sGZ?nfkvBuYxU~NN_cDYl8xnEi$ zSulXam^`%BMfHAU^=id|o*r!Gxo+s9lU=1t2&R$^KmV=PZ9g!1I|L*%-4TwCccnlu zAGHn-RrH{51I^LlKv?iT1 zHOVR(!AV0IQXB|+tY}HoS+BG~=ymXf;TB#+E5JMX+UM-nQDEwiSx6uRas`>ig>Rh!}KoUB|15uC`KYJ&IRgWFUpkJdw+ zZicr3NX8j;FgyQ~4H}ZO^rBOjEnmMmo|KDjM`-vDRnn+_0q2+W<&WADBfP^JU9hXH z-dft5#+@%~?LUS7I}1RC|D%rp9qHt_79j*@k<=T~IpnzHzO+ECiFDVuMMan~iw&oKcP9G&yvc*}mD@Q4YPi6gJa9ql@deM-J2?sHv1$fqLxYiPs2aQcJCGx0ma{MYPh-fIJ+{{ z_K^|5=sSdB`cxCW!PNnlEq6iOo?#;c^@SnBL3L_6+WWKy+L-G~KRV?i`YtHPP^?05wJC4H>Ip3~^A} z6eI=O>zsheYp!b;0Ab<@(9Eu0G>Y5Z8?x}Zpx3Gdia`N_b*LfGQNVQTk9)#{gIz&< z01&Jl-pp%1x<>oK0b?v}lkh%9t4UE+Y;S37UUoF%&Meig5pYQ4dAu%`U+0mgPdGhX zFb&$4)P*`kqJ?cap~t)GGr`g{-1g^(`c28Ra1n@fbp)C4!y^AnxC;7fmURb{e~YP# zJ?8cG)nj7|r*HAvG-`vIqmx_gJl{RC&|M7_TupFWkT*lYCf zj9!_wc-uXGNAoDTz^=r(bvc_x%qsvC{yZ+3%+J}_Wqsqz1&I)LbkxA)IOwkznpzOe z0XZ5fD%flI5_sYRg}2L!ybp10*s&nDXPGSolW#Q_*)h^QLIFXEQylBZzKNCv92>jm z$g)HUkRUPSKV9EumE*?P80XKoeEwNMn#38+)N>YbVcV;Zp_y<&Tq;@8gnz2vBME?x zTi}w~nDRTt=RR+trDwz+ses56n4&8xQ0qqmmTvh7oOA@{kB^!od?;V)WCUxRg0|&` z(m-bU@};gQ-+iO!;Yy*5)c{VaWS*4ynZpj(WMYL$Y2*GuCpKb$3&XZv2$`m<=p6|@ zT<4y!!0YCAnDKIQL;vrNwnY%)$a|g2vht_48oD~bRR|Bhc?i#mkylrruLlMIO5^4pqdah_ zwuvXP`|n4p&4zwuaTx*@sZlwDi{r^T6>sI@I*))Gaw+3j{h`G14I-DW)c43;H0~Bd zdgEe#spI74U#*y>3c2^^HYZ5;gGz-fd}u5{laUVPCoi>#4P^j=aJe2|1FO+ zM}0Uv5-HMqw_q$Q)H~k>k?NXAm|tXPhR668)FbAvYNPNBR^jIdzg2sL+gs+|tHe_y z$b}8ECPh?1|Krs^^+cGLEW~t+Hj}2T^uq^njS9Jc##;s$0I2QMKpSyx($@MJj=i|37%_rVk zwUV((hU;Tz7;x6t&M zrqFrM`O|a3V~Nt{$e_>nOto9;+!e+Vaoxq%F9$so#%<%eLuK^q-Tw}g`978__xArI z>pj4tyqfm$MWQ5%7!*N3Ac_h~3sPO`s{{y25k#t>6hS(|(wi|VouC5J77!5u>AhoM zLF$4u>Afw&vUFjA|2(_v_kHj0?{($EB9JfAidYlWyHZ^Pv!bv{!O5{4?7*A6NK276ExTs++Zg6y2ze^_~1Kue>@SF9| zo%eg_YNE`>YDnrV56KVq`^D; zwOz)rJ-=vKHEOwOo2W`n4=g$i^5lg)@YdMGv`G_i<%=ETgN_FY@m0nT1z1kaF{{D2?$7f!eXRDVbGQ^U9 zC2R=hjEVl5I(08Y=jfuqi;jj$zpWaN=>}ZSWi7Q0HCCftFSA`mqL}&G{wPfRbT5UBjh(m_sasU7R(%tQDLY zV!xH|KQSD3T~l0NzpInZqK#GY*=~I?DVOARVV1S(>*1UpeLbO)&5eezr(tEzdCWsQ zUa4769VBZ{9`oehO2p8kotBp5Ky6r&rP(~SdaAZ?;$S61S!q2DYGN9{JFSdbpY@c* z9AO!3>oC&cQ+(VWHIl!yv;X04*mV)B*6F-KWOD@K>gJU@uIF-lH8 z|1|n$J~Lh8O4W;wd!fgUW%sZvG7P#Cj0ryloae0B+oT_H^j(Y|=s5@Lj0&OZ9(-#;1k7*O@U<;IyH(zo9|r^AQhB1EngI@|c2dv4R)a~bulhcopQ zv-9s5M5?MYqi%3o(XYkLKOb{N={p#V1~=~|{h3JjOtNrFy(^QWr7O0=`-*dY$EPzK zoAciv3%3 zYj&{ULLzj1LdJfrXVgy3HPt>t6ol@B1Vc};f*xj6=RUy9wF*uAJMg3Un(uu*zx>lM z@1bYxuH)~D(FFwjVk+y2-rqm)_>CLwz;e_;$!?Jt789}F)T**$Zseb9x+s|Mjjy2N zQneyxtRW6`F2d(3hEfyhr44$y)$GfRGb)c9x4W#Gh%WtBGT-^8 z=|_XHcy!u7v#hJzbxHEvJUjos5*=H8C6Jhvdp9iRgo2p#fl>XQsB!Ll4I3jq;r6Ed zn@|@FU@AH2Dew6O^-MR2s*!7{Q6j72pO)s#Osn*Dk2Blu1(UqxDd4p;I}&Mi1mhZx z9km(GGym<#3ptybgi5BQ5T2a|dgr-rE1h)3lTSAct9;57YRv6^GeHmYYy^9EmUk(;^pGE5-*?C+oAFj8i{*8J;EHFpVndr z%4INzjKy9FRG1GP-@Bdl-Qb(iy*IYFU4;V=@=g*@=;2aq_k;Id1X4@a6OWDg`@_;- zSBBz#;+9loIB7fMDf@WY%vh>39%zzBft@r4p(=I%yRroj*r1DK)n<9<72welxuHV3 z(8imqg`U9m?PGhc zaS`i0>0N)TegU2-EaFJBP-?5=YaMPTTU6cE%p`@=sVB(b82m+#N|UN=KU2BD~XjP2#JHN8 z!he|>+7b%-w5FNlz(5`?k5CqFoxnLs-md6j&lB|W%F5qs+&{yfovv{?fg$2vAkRT6 zJ!wEi15n+vIHy!*RQ4K+qkVXTR(2fv#hml}WZD}?&p&zp8ReZ5Y4j0@h>M9rk&hct zY4gmFHN;+nL#wUt=B6jkc#(5@*tM+1Du?|vyrGMMPttxd#HQD2K0dMRcOK#ad5RQy zuyLnN=#1AF?2*M{kE!kZRhEx0NN!-#J0_0Gc{)pC4k;=rwH2>=c)1Dpt-GaZ(DA<+ z76VNYmHe6tt_6?v=~2;tx)7I`%bmGoV`Q@$+BzU!2VCs!HVRsjVr=;Q#t2_)AP})V zzrWyt=i>>Ab#cjXx!(-;>%N@W_gI{Es(S4D8^Ix4D3MRtSS=B{4Kz)wU_L8?CYeY* z_%*c&SnDpuJRU9YS`dEXFM1VkaOG%^&p#xDYF}XSfG;4}l_y<7m*8o@MJKeYOh~ zVA)l*wuvy0Y#X`oQN&PI-m2%!hiCV1sZ=lbtsRVg>MkUGQt&;$pCogl>AHYsBK^(x z(Uyo;Zx0DPpSpNsFT+LOtP!gi373A1ud=dsF#gey-$R*Y2$i3|*09XEdRFozDsQ@= z>U8^F5b5(*L7@D*UcmIiq5i_E~}GuGZrzzjMR6|Yh9&+<@Y-U6Q4(v z8BjOvwk`0$iZ%oj1s>kXS^>AsQr z>`v|KsROa8QNhHWit&l2!?^%!8XqV)OdZ9QYNxBsu$Ve3@cMc7O5(BG3jS9RAX{&* z)Zwc;-CPg|d4+lXta6Wy!+-q9)41)hT4|O8QZ6=p%_Y0%THb{M!O0;Qi*x!EEm^{dKqOpmH4f-CPbnej!10|nbRsSmQb_=_u(&a^02&=#h zJ)&Q&9Rr9C=A%j$Eln9nEKd%7uFZf_l*wqvhUD+of-xSof7leyo9k7i>@2a933UYC zOM0&98h>8F^UCke2W@B9`drzc|70FHl-PX<(xzMl)4Q12yxi_&F~gCaXB~=IcT1hc-NH6OElX8Ekm5+DeI=ZB$@C z+(B>6y(^4ioiyLInv^bvy;^*(% zTc*BfKkqTugbM3#O5Wv`7Qgvfk675*m5~x!WlB2{m=sK(tv*XXZm=3{6%R8~T%d)5 zS2(BX3|>^SoNJQ&$@++I>ImVhwsoI2fLza~emZ#hYgsXKbv01NKaCAPPn}p+;5eAb zdNEZPfejqSzbK03WbmGP(JyJjGR_a=5i};rxVJa3B}qr28KQBS*qrSbi+oeP zsZTR>_+yV9Gr4e>1#i53#5JIG#SS4?KYTd!2*v!Y+hjTRH09nP=C?Bo75jP#S)6|dmWRiTd8Ye5$8{e8VYtLz2Uz6v4 zawu*MnN4h|Izrykx()bF!_NS>E>&=^rTaLO(xm!hv7@B-J-@gn1K`>X53@bx5|=f# zo*|VtX*3dtB~B%k5v>!jm@JVcIM7H+)Zry<-PLSRL|DN|qn`ydlRah);k7y*B~?-w zWRyBHOh*u0c!Ek!lzvBt61j_2aT(*v5J>LS$gRFC9Ga`1_#X!Lc#qk}wNEJ>9--b3 za!x1tu3L~JydxUxexcITxlGIT#Q&d+% zCpteyMzoeb`bH%}#Sq@abs{nFM!Hok3E#(r;S-#CJZt1B>uj_6?BEa9i>>EJrRC2afK!LMUW@y* z`T+!+!*_DG?GBYC#KullGf$l3gNbW#U>_qZk@omd`*fbFC^sbJ$;SzoUuxXJXgglJ$)S zP5Xpk&Ldtr>7BDS%2-7@AmYX*jy0Wuf!!IDwv!whVZIXOl_hn8;VWt!XH8}Q*}7Rx zk(?$m=%N_(7JziynuDpimKTtrzW~Q7DDQ;<9p_zo>9mDGIT)Mhm+vQ4LM7!{DH$7XqubUxe%^PLI%4_bR z^!|-}$$={2?=P7T4XVs-#E~$uerNCfU*e&%PtIq4w?0(%@#7bQI+d(Y&zUM_+&MoC zl^eZ`#cx4pJm>v^MPHZknp#ZNUDN;*XJ^k=DJDEO44zvVxQW2S`wsrJc3(MCVf=eD zquRZnA8qvd_|pZa*BSz;g7qF2(}1s?Y)mB$+RX)3Qh2VM!vR^M<;3vMhLGGM%yuLW z{X|kszAFk%C%jlY;(GxRv_iEPGA&5U5~oPj0!?pUejoX1;dn3CE?uxyoVq7;ffg^ClRc9t%lX(U}pMEU)O6*O?K>a94~0t?Hj?Oh?yUmXX#Pd!oSntk6PNR zCXKcWnBPm4!5sCezuyiPf}M!t4MN4}WK2`v52l85^afxF&~9F>>OVY>%JZmh!iIjj zu|KG^H`ycV5Wmy`hCa% zS-KQQ#{B7o1x`p&`q9!R|74+TsOLovVMT@joKgPPX5g^YZ4Y^|N(8vtLp3Y*63ljT z-OKmLYIcOh@GS?E)A74r+Ua$c$NOLpC)sm)L4g5zibj>#s8q>#wMy#WFmqI%{wr^V zSR`0YuG~p5bkQL&4z_)TivV%!q{`!+Nt)F!aR?S|<-oP?I7xk%Zw&m{|G?KXz8kGe zOIm~ZZc~=n!XQn`-CF=9*fM^~U1e&1in4LFOG3=b&jnMKm(>^Ew_G{JsI?&Okyg?FPCp?3{Vk5VBo%c*Evv2-|9 za~xQ#Wo~aq?)O~I<8ROLvS5x(XQJD#h#CQ3MI9Azp}a!rM=DW1?a6yp>I14SisRZ! z)I8dSBI2zJmnIb!W%dd_R~b=*#n_BIMe2#YnIU#`Mi&z6!g#$#B$GbOnr+f-2D*fb za66>4fq{Xi<@T8vSBzIbAlD=U8KB;9k!)Phwgi_G{VcGFP+nZLrD(N_JK^YH+h={b zOkI(Vw;u8p{+BSzKh_nv=zcJM#q)0B#Q2e7~I&y$l zsG0}QAZ?wSVyA?LA9!Tpx%?9+$~XlyD4yN{np>CeC8TwO;JuRi!o2?V&31mQg3q{q zLWOh^nzvj^ow2EQs9aQ19I@z^ZwPKfziXWp@V!JQn=be-6*lhJP)Iq7m2YjAF_cN{ z*^gcTRM~ZqinaL^Q)Z$J&z6(I;LD!^ftmD#fl0Y92^Z{V)p8jdu?$M%KX;&5ku*|t z)kI4E4f=3&PYbuXX0r5Mkn+Yor?JkI$TmrN31qVImD>PYC`&C!XAr><0qY{=*=>791$Mr^<3BEWlqfN1%_tJ?-|Zc+&H8t9TmPgFYajUvNaN^NcO zYq7g-^sYzex0dBj7OsKH`)Ac7Gikqv-FINi!BPeLq$*OuE|TUlbOM-4%ezj+I+mjF z?Kevh?0QKHau-9Y;$G<3p;oTPxl@v-zD#!fn!$k;> zkMj-68Xuqr58IsE*$oNJB>#cc(-mqpyO%1!EiVN^-Mmx$P6dKM@iBJDlrGXJ zxf*wDJv(aUke7x$*A2~Kiu28H_BZ%w`V$z{zICf;;0`ucbVSE?7CEiPYDSjkSnxVl z!ZK%rgSwfm$*xxwQes9R3nP_lFdL>vU}!V$dzfeQzd; zYaK(pt7ITG^Y_K1h#HBCL3{h%O;fxP+~JOU@2c(LO-H!3u065*PC`O0+wj$^zaF@@ zw#;XJ-=Ir0*QuXBrRwNn>Iga0_14EC0|?t|q4o>&bG{HmjUN`@^1b>a$`0+c^sv9y z!m5yW`QA^}@}M_A`uC0LhV|!gs%ag@6Cp{{<}*GOB^ctL=XSovamK^KfWT2!f@oTx ztr}BT5OV}^|__Ev{7ldvuOdt8;zceFv{HQMnyAM$gpC_P+- z-G55LF@VnF9F0Io(;>9^^-ZjI3O7nNVwO@NTzT)l1dG?4kZ2mXHM-m25{~CR?=U3k zc06Rfh1}0nw&&yR??|rX;taztSnn0v*ts4<|I-=%Ng0;zty(P~bk&xuu;h%2UJeh5zlKbFvRUU|*+apVI zivDZUPUN=6jQPwm=hJRXo4EQp?5_9ey2pc1&2Tz=)rw-`+Rjv5mV{}ooPEx-Z{wQe zKulq;(if8%JL@@{``S1*U8Do2us>*ymywSM^uQ55opJ2Ry?xp^wpQ8$%`N9FifJtP zToC9EQbf{N)tBwFP$d0S)ANhsi%biHVMGP|>oH!M;!q?>Iasx1ivk-ZEcy`YXhyla zCMbbb3yDaMc7a<)fm6YqIOY893;Ec7WvRW(?ls(6{@&7e?KtJ)leKvmU9dgyqobB{ z_jwBh&u`g^jdKhQ_jBz@#H$6cy_})$PB{&=V}~agQDvbm!)b5I=3J1FD;$~~-fin} zEAcCr^3j*!gfXBWPqP{1-0Pafal*#jT#0KYe%86<0fu|7rWIusK*oarFpN zNGNj269Gl_ngwm3AF2vrp`=PG|>vg?oh5lfLvIBjX z%~LBE&25Xk7^WOU-V2xve|Q?3+6ici31}FzLINrjSXoo3%mQxQ*{*O{(+em+OR3w(NAnpc8h; zD;z^Q?=??eyy5U4hMYtrWd;ZzuY>*{LIa!R6Ed5KtX#gOLEASE7sAn_gwiD0lLrey zu~|F#8ceHoPu9Rmwof5z`IWiLwfH}-_UVRvQ==#@DB!lMbCkBV`>VUt#0k4#b;0ixjosP`f=K#YN6T>|w z|LfzkGjS?I%;fb(*z$J2RCa{@UUh~}@@o@O^siBEt+xYa-1ih6L;Gwq#852_FDU94 zjWP^?>D5U+8r^9Aym}X*A+Z!6y1yzrSr4#1=1OV{ zjEfyP2_YxO%H-olpdy@H^n9_mET@(abEK2bWMR`K0Jlnuvs5;0cNWqw$1k*O-6R7S z89(|4{q)eI8Bd@2l=R6{FLM3BgGdC-4bd-)t5<_(%-tbND6?^V#MJa6$B5HcLSeH$ zWMeQt1t1|FGFvG1yzfBqb1Hm8>^hCw>+(7b33(V_u?Qs)?X@8><{H~sa?bF-fH`tl zbgX6S=?U&oO`dDt-`4io4>d+7{~X;h#V6931Q#S>8g)JUGf5u!#;Ds_7BDBFDrd9L zNqqMWM#MVNWn~%>oR1cbDADldci)Z~SO6RNf8)2LSeSqA`hErtpF((b19X z-pgG2n=`4qR_F0LdV(6!e~`cKJS2avX#Q+x`JkDxKa2Dwr3MPeoRt_eYP}7GYNbia z@y|e!(E8bv8?gH-<}l0P^=iIwlY>D(ggPh;nwAlpw`9J1jt$ZIqZhv$=G_6| zE3)U85bazGQcZT&6s0dk(WnCRMVdvQTdr5F%FX9@hG8dh}Jr5 zD({Nsmhpthcgzr4MQZ)(E6yxFzD1XVioDBmF7lY8otH*MB{&QSKL@O?wo+8k zJF){vuB~>-^k%+@=^1_uxu3=*8%mOVcSWR;`Vo!DjheXuj9WMixGMUE-w zjba;U+>suWli=Winp3nQuyP~57dlp`*VI=rXwN2ri8JQ}`#B(JC zzT$KQ1>#VvoIC@oBdEgrGshQ0@#i9u!YlLvf%_kEunkvAC6t}33!xqcejPmaGr~(P zrvN#*?8&zNC!@XtO@e}?jANLrnCmz37(-a1y~a7M3uE$Mcn;<^7DIb~OHqr)4e3E2 z5=t#6j-q!W4%k5@)!L-jZ17Be0_M=`d9pK|iQ-{mIyuiPj1{yF8sAFLP7 z)UaEc9ki?#jXsPX9lG=)wLj#y0JaGUbNa4t%TV;va{G~hEFhQ2Yh6W%v+KtkF%|Re ziCjc#sQkU;Qpd*{dCZaiPAGBZ0#o;QCf_2kj4zIUIUBy^XvBqqvHspSl%QA(J%7G? z&RHn=Y5CD4BVlT&Z=MD}>&%CnXW3&NpRH8AhvYruRM~SwPi`Ks`3&eJgH>P|yC%Uw z94NbbC6;uJrMdEMm`Z8Pb(G%3Y2Lm3>RKuA-h~<3e$k#gAe}&`*hH(#J9;(6>+m^+ zO?x)fdaXP8Y<|w@xm?#jQet+&@9|!6p4^K`_Qg!xn2G31G(CT;V955T;#aV^gV$%N z`6R7WmqGcmDI8)ExVlff2%07u_})uM8U{_y_BTAQ-(puiN#%v+I}N&;Wx$!qbSVw? zq#IB6>N11ov(Z<6GA{2AKi-JA5j)EMe3IrpSY2=$>=ndmW?ot%YY|DSgGeD+^-npG z2fIPB+fVD8z$Q(%XU-Mi`)nLR4O&{7n5-;7)GU@=DQA*HE%36=lKEuYSDAl zXCh()-BBU@716>q^$fAHBm3Q_#7LwYDwN0WWi?LmWQ)naDA=y)o$7KrhITqUDlN*g z$N}^WHTWaqd%Q)wjS^E_6H@p#Rft`DlvNmXa%p2?S1hT7_~=3I_zz-cwUu77ejXzh z1jhT!(1k-$0T`3VE3P;wFzDOFQb|Pf|6zJu>7H{)cbP{wqBPx)_1*d0y#3i6aYoav z9Nj6>4cjn$N@$J$hLU(?rM4C7@TQzVlUZguRNIoH1)h2f0W>3#1+)~ z;v#}_eJ=q78Jc9{A~{Wy&`&MbaZ~A2{oG#Y)t+-ukbx?k5;-s)pHfsIU_cIJQ$^t) z6jX96j6>YM7^6Znf*+y+Vp-|zaw{`G1eSdJ+|cqGDBB9Ys!s2~<;r{Tvp!yP;s1+h za*cy%V*dJw<TvI5I>7Q39cK+jz7_ZKF?ucv;TP_#pEqEx_km|fM zGzJiY`0hW1v}2-vV@Zf`YBWy>Gw-iPV~(_r=dTr#*0$u>L8O3GJ<#K(i?rXr+h+$` zo-1os6$8xE^9R~Q<23D7s=4o%TNo_=m%h?WS@dy3_S(6%+lg{Wo6pkx@iFFOBVn)@ z`Spb^Bp1l0(&xwlsf2<7VKiM8o*LmR0wDc&? zBqV7>JPJ*(Y6n84`-1yZvncjfA? z{*Y0Ah@Ir?gr87ltZ|TJ791`;_!nA{Nbjw67c<24&qF&NkH>g(*<5Jt>J8>9yLSqs zrI;wvHP^tTVd>Mn_Ykgdh-fImI<(^r*6$k7CL#-_{i8h4a+6uQnQ~^SOEakuaDifH`t=T7gIQWGOxY=C0H*3#wA* zhV9#Qf;63LoRRX8NzBw!*iPGbP>LIE&w3l}Il)+0{Ern?w{F3mGKXQ3?_32Tx05c; zdrQ`Z>-Uv}_wH5KR@+i@+*SZK8~i<2RSAs0oxi)`ibJ9^r1CJ6$fQx})6nA3!(Jz` zlDZh5U!DuJTCwS~(FDyJHD=)1sI-@JLX@u`x4TJ+{xzNepwV?P;YmUM8}s0wib}U! zd#Cyx^*K{F4B^Qs5T5)Vwc1FXzY*^Zyqy_LFe$)yX`=EYw zsoCQLD?scCbt01Cn*3e3c8sJ+^ggd)9H*Ihh%48mdGaX`*OL8F7~vCiUf}Ib*xQ$L zAY7i@f%Nn1;Mgm0RNk41i$gF0#d0csr)f7EvLTN8nB8+;pv%__!P~(F38}_sq+*CR zYHOa{wdA@_9%M45Q5re~+`BW8wo%McEiHOjv(*yau6xbUhI?~d{Zu`vHv0?|=R5QN zSDvK$)t%MoAvp4A+FtEWC3qBq1D&ws))z_PfWDwypN9yU8`!VO2&;b70a1p?(YlcX z$u}}aq`z_!2M};bPPNP*|1T`dD7uOm5B7>nj2Rh=M}V@mPz|zKa{^<|7vfpjlSv8J zV$t-0fkXod*0Jg@$3N6Xc>klN7qgCsi%}kbzIf%IUPc`?@Q6?kTWs6f99OdgMG_SoCL z4?#4NqgRbg*p#5OVbaZePCjq^AfGmEe$CE%0*g>_VAUjr@&8Ft(c8AdY( z(aN+JT5KE`P{~W;)P@}?m$l`dUj(mnGapQTxTRP{d`7(0gj9t zr>8&sm*$eTTG4M`c7{0{+Sl^#0AGywyhdrOa`5pL?D5vNa(X83J8eNOMd+Pk6Nm#z zK%PymB6*^6FIw(t3Y-|z_KdTmahiUz+ z2u`l%&q^1(=tC>>Q2WhWKBKq-N;(hLpUlgUVR!k9%4;H}^JgppDGqfP#!UL2kYxv5 z8FSRN3aQ6Xxh=XO`&B*3C0_3jTyg6^4OuD-Q+g%2;fA=R{{$Rbv-_`hm5wwfR6trM zwP(;nOlFkDGc6kZl`+x;p)^}P2`@FzBemH#NLtrP6nQ`9_j7K&La$%eXrds0 zhB#Dm#ioWt&yvVVk&nMP8zQ~q{3+yHf74@7uZ^Nh-Af7l6S&5I$Xo-6mEU$p01=Oz>k!;=PzzBsnfwM@9umgX^4 zF}^;~+yhr|nH`s_kb=Aap&9R)n=^!9!%`@Vh>W`@p;_JA5+Fz8a)fq#|9oGhu>h&E zYz9N8#-<@msg?0YK_gcSeIx=Pv7q~Wsja9RMM&ZoZh z`R6X20nE|YCVCe` z{7Wn`K4Y0AXwN_30cF}^;og}0{%(THj$b^srbC@0O!>Mhhw{m*N1kFtfBWT0=#mGY zsDWvpMxWbDAqFCPaiqmz`oieDf0s|1Po8OVwn?x4Je$sUw5YdgSX$DEPhem^>@rs6kF@Dc_dVGQk`#5BYF-SdN|p>x38n|^DCssRmgE? z917bjY}?hR3P}@>w%(sBZuPF1);?iWQFguv+4&9ubk^iFA>++BeXfC5=%VB zDBdVJEzSX>St|%XLUlG?Vj7D<(;1GgA9qjF7>|E5^r1VUIp7=q_xwE>-Fkq3znsN(#?mu>XFIJ7)ZP~g}Nxa&(nw4CI!zOrM8@YIKQy4mtB3z*(nbsiMl^3 ztsYB{dhd;%SrGsD%<&GS3-K`#O_jOpDMtd%Hw#SsKRdoUEC5iO7F2&iDOw6h+D#dk z-bFLt`*56~=96QMD_XuZ4-zspVz&9vB*UdW{|lY_u;oFf{_QnoC1VT{;{r&YjW3SD zMSSB>2M2oC>O!SW|1%TEGVp%yIO)fxgrBTEb)<%4(N7##R))37%R#Y-Rp~+e#+#M{ z*wnpeU-*dg&aIUll^0DwAAUJB)(?{0N^sc>noKe#@0e{O?TK%g7QSdtH#rB1sb~$Lxu%_^HL-TSaJ}l(nU#2bu7pybSae19F7ka$s$# zzm==rJ@dB-%dwy%@sypvRDp*0nD+-^!-3k(Ipq8pk}W~eYqX?+mBuVijVqR5tXVQQmi3*sJok;sNnQRmCIvq0?XIOxddX+ zm~@#)jiW0+vYd_!ohfbodoZ(r5-O=HN|&wri%D_lj2G!xmz+B!vPDH+dZukPJJ47l zO-xN^o2+@H@c4#}W71dFF~`7PUaMMN3`rW2Vy|^=Uq16eS7)y7Jp}*S0&{ON;YoFV zVWk*`2^I6)G!I5W**8Ox8l326c`FC1C^Cq53v~Nv_no@%YkyvAcm%O7SU&YM`gJ!2~zQtOMe=mETdA;PIgA%v*u zynV(=${5c+-i{#Qk=jF1)dJ`8twcp7JMpz`6-}OyC}lBl)oO44pl`9Q z%HrK00CUE}&Q$B_C0IL_hBG$S%9n|lD11vjin4t5hu}L0WG-btgl9ISaXMMZ&VOfO zUZ2#&>LakYSMNOA60c+REAzoBE(5j+*%})NHCvm+P%13EgjI6C#nj|}d<*A|m1B<( zN>ESyX)My7t9QF{*R7FyPEYmX)*+e?Dx@zJso)#KyWPu)u-VQobslEzATy{evT#Ft^9d3o_U2)(F_ zF;*So2tnPPzJ$DRyED2V@R=;;ClvW&=3NFy>wZ>OW=e1GA29BLsam(vcKM@O}McAzOfQLNi-H^b{s?+O#<%zV?_-y zMznaKgT<>vr{zF3>d`k+gfhlg0s9wrA2KaN5<8=)-ChzwOU* z{{uIMp{q%2&I#Xc${js*0xyKyHI+Wihqr&H@mFBr2Wakd0S3ETK$_2n6CbF~D+R+e zbE6LL-Ew7(8Ef@Zamh3^kT~$4H>Y?r;w*^c+XVVx!%%r5R<{LO+ix zDj@NmQ0n^#=VPNws-`lfWy%#W%8!KlIZ2vHauZE9s^2P0H=0fm&w%vQ*(VIIWQFKz z;N$S%n*7SYuCm^n#)Jz;bKqRniKR0^?n@j&HIUjcp@alOW?czLBS-+Pa9x!45UXzW z{wk^{FQ}g4z*3lcXoylx-wj@uw6%)!`VuLS@24RYdMg+r5%|y<1XoNNFo}Sn}4*?xa z^I7YO#_|cS3^BEZhVqT=;yF!7*1znM423sr{ zO$h5TC`wsm@Sfz`3~f@s;R|%YTH*UQ!si7zib>f+A&Mv?Zaxu8UNEsL?U3&NS_zEu<-PbA zjiy&Ov%pk)O5A%U{VQ$sC`?Q-!&qABAcAjha!a!VH>oU#VHKLk)bEkZy_Kg15!D7& zRJ%Z}Sg}D{I!w#j$Y8qL(?ak4GF%y=ezryd@wM_SQ#JrbSi?Dli@~N)Fj0vtqDKs! z&`{YxWvt&7AdM|^hw+T&%gI0XI=4SQZCq7U5seOMKnoaDdD`*sw}eN2?H_`(1Ob12 zre*<>vv&~Rvo`Xy5Vl8kY8O;7Pnm854X2=^TA~(uj-!3s3Xctx#r*twI32d2sriG&da@paW?!0jv=tuCT-Y#~r{*h>Os_Q=Pn2s}f*bDK8Jy1Y(Vj|Mv zmc@AK-#a-OOneQh$_iKyNIk|r>+9D)ipOOXe!bogN5@aVSK10Y{)f=o&4;KG<-3n| z-blg(J4>kZEs4@CSQvh#gev;yhx@G&j8aE?W6-I0LJ&G*7bS4qA>M z>6{cME>XCKzcF@xpUSMvq;m++*-Wqa%XIs<9}Z8u zCNBG-c)FM-sHo>NIp@s2-8=#HxM*3cG~ zYhSM@4rN&wRJj@XQ~vQDv+#N3DIqUkc*g%~;TadsjULZ5_lbFOU*wZB5^%HRVR2sS zd8UO}R-Xr)Pn=`}Ct9eZsE-3xfVrCsK5Ql4jH*b{&$Wwz0ud`RPlYhm1YAH zi|N&txFB;G8QOsoK^_jycu5`KzyYq2#2`cg^2>TXyvChq8s5a((Wq9>ATHHiGn(Tu zvZ9ELZ>-SCSquf>Ur_tkxx$#JX@WhCt}T|he|zJ*QZKf#BEy6_8Sn9Jzvq|E)%Ol% zVyhqH(5Wo)vT{5TZ6Xlfw2|af!R5OWff04`43R*gQ8G|c1`3{0I0ujMfh9$&Ar^F-0I&!(Nz-)2{aw974XW80ua1# zH_O6#L{SrtZlCfOg1|9}>n-;1alTknR&)|VFq=qjj*1vwC%xov5DhoCHX4fQN1XTW zn<5{m-j_X`?5l2NFbmfd1A(9|%aQ{coL<#>GJm(G>O8Dl7H_4wb3f?YY7v&o~QIMq8cTgW?dzj=z!iLK94>=h4$f5H1B43$gi8)XI?_sNrE-=I2AgiK2EH*dikO;{ zoZKdO!CU5L{JBi;MZB_I%wp2IR^8#I8qL z40Qsp|7cLsv%2MqX#_*{U#?9Wvu+qxmea^}Z20CS_pq;qOa$+gHgaqnQ09&14Aak% zG6zg+kIUM+E6`<{rEFTv;ae=YbEWqT;UiAfN=RA8Ms!d&WQmJQw9g=9DY5v&_n%Lr z(xRzeWl#I2?!u0!f7*aTAYzKqAVxib3nYWo6~CGJX8jLHvYk}FlAT0%r0lY-%YYCx^yypHvGp- zvy}XcIX0(JD@(1bZR|)}S!W+DPDEP{+^KowxDD-iBCYYF``@XE;)@{4v#p?kwC(M0 zWO6n|+liq18o$6&@V089mbk-FR9WL)cwoSD{<5 z)P2#GqP{Ca83IS`om07MSINyZGG_X^E#o@AV7)mHhd$lX8Byo7c^Hb~%d zkS-SZB7I-Za&ybaLi;NUH6BGhKR!4(;%-{Z%8VS{;*V*jCb&}W8=PjTjz)yge|MJ5 z)2GsUq1>uvLmbYRV`AKdnh`9?Mnc8+Svy`xzaRn%P)~=me98x2^;*RqBU+-c0ZU5( zL;*PGAXocX*l(-B4%t2uBt)DP$Aia6R3{+$B77ejM=@DG$$*OK+@9hIQyZC*SjiSg zSD4TCmcr?rce3aAiE|pt)v<6cMSHhg;8JQS0ZIv|00j}em{klsMsdjHJQMsZs#co@ zrab;KmIllZb1H>6?p4E%Eu7G7$Hhe71!XOx8YtRmo-fn~;WI*+FRxLqJ{+XpN2rB5 z9RpXcT&Q48H=looXj(JsJji~XYtQMQDm6jFMyqAR^&d&)KEU&lCkW!}sY>DyEmoRv zm)|^#GCq0g1u;U<5uqV>iR_`}de!GJ%IB(y^BLg1h->X_f$RmoN_k9n8}%V{G;vMD zJ%~Qwrp4sS9))4o&SrOgbc6Lsz;}o=-Eav(7)8zkG06QEBcK^9Do$c8Gr|f{fb8*9 zO!O|cu4tgEi(ZVE=h)*z_!a_+GCF)L9m--6@bXI}JY+-5)EWp(f*7Q{A(R{UqVOj2 zxFs5X$$c0Hu`UJl5MD zBbF;=#}g>UxJ6xL_36lKg~+6iQeQ5_|96!E3B(Vh^R_+aAQMnH=gh{MdU0Rdl&QP| zWrb5;;(+%+j|;4exAQ}!?7%|3q+5$Iw)HH^E-W%#o}EizjT*o`Ab?;0z7(U`lu-=* zB2stI^Ryu*43Pl%c?*mO}5-0ZRbsT9r} zhT??;o9bO|A~p+H(kL{<0Nf0sz;lAZavRc0$4`BUeDbeH8ZSktD2aiM;I4lEO0oTR z)9-`&oM$x?Z~q)78)5402OT=E4JBG9=QfuD1#jL1WK-nK#N#70(!$|UsIQDv*gQAv z<5I%R%%=^edp7Z=SpHHuo|+R-f(t20BQa=BuLFt2-gDDVlysZ2MPA=KQ$9vg5c9rR zk2XTNP7&G|uhs>uz^06voJ zD;Gn7x%-7wpFaFjjxBQRWyPTYGiz7ZCcLDJ!_Y?ui}m)i&jo~N z@Uv3sfmXr$R`7+Qk})6WD+DUuKz$+TQ#f432ETWd78UYon?Lm!3@LjNAFVf)Ql5tR zHKGrv{F#fq5I!&H%5kgL@F~R<>aRc3&bVW|3`S(R*BH_r=}kWSawmVpyz3t34lG^W zY_sH#Ze$vJtQGtoDI?!B~<(oz8j9xf=L!T0K#{_X-im(2s}z`jvxf7|7vu_{`zy zm&lGxJZ-Wv&lm-GPIJ>Wb+2;vfUbA=-+$=l%EVKk{>QUjzLSqJKbWCMDQX|vP$o}g zAcDDFt#N=C+o;E!+EA9d)rw;aD zi0WCvS0Z8@YOW1Yf&?m$_SwH$_63m}8fGL)Z*T2fD+);ZIpQ875Wa~FQ~6a zX<%m=S@{jj{VI>F{3%SJUjUfbqd#8;=Z3kxG{hFLI2|1Kf_RUEWxk)!{h=Xz*r|}d+$Jw+Kbf`qTgcbx<9X(se?UZgIwv}wWza)x$ z#5|G9x#=r(LBJrv#D=XJ^LPGH?nxZOR`3W>Mxpm}suL)Y%dF!4uxc zfeOf;6Qo2HL8_~M#@+%?RrDlRPKo7DY`Cb}Kq=T=(+;c^{xkb@Y@sSVF*%R6V=aZl zX<&82K{~daq`DpiXsdbR;0~cob0_${5)%`WC}n-h5~>hGdKM)ipo!F5lF!O}*j*x& z_v6o{E?RD+2Md}_lMQoJn~EMm6ke46VQ!FiHlk% zIeVY~_jjt83eSg|`Ys{vjob9*n=`9kfKOd+J@04TD}nFznE7&|?|NLg8N>dJPm3U2KnqnTC5Hu<9^VgO}{x_fd|#Tov`#g|t9 z&nF6oXJBzl8uz-b{y(nXJFbdk2^$_|SMRETh@ui*P*I`^0us+%5nNC}kRVw>K*>47 zaSbE^T?JM$x=79-Ij97YtmG_6jt3;CuX^Tq-}n9ahyA(COm~H+o~rJyzT;F1*s9Qk zTaxbmTm24ua7!X?woox^OQp!7s=j~1^DzpCQawcPFDx_DzEBh+;Os)1Lc{Ts@EH{| z!VTi2R_7}N7@!XslG6gWP=M`1FRJyI&c(0>p%xzS$FaJh)`dnJSp=ihA(s2jKdM1_N`*B>I)}9>65>5f zzrE#sXa5btwramWmvF~Hgy7_7N+g|s`voI6EWRHWN@67Yu0E)RCR6avGjWnBV*l@- z^6?N>bu3y-->>GVCgcngdTkwS9kf3P^m~+TGCPfG^k*cg14?ci9mYNNiHz8J;Of4< z&a?CDh@suP$xCY*4FB=7TJd;gFeXUqD1##E-(hB*GqvPm))*Y}46QX5sU`6)gDgEXcCdbNst*YlJJ3u|zf0N&hAU78zuGYxJn>|MkHU zm0B4nQbLNJ*HS-RHUSGxu(Nt&)dn^M12po~1tGhGHOs?BBGwhhRV!lfRtc?3V`jLx^!|v>q4IenLox-Iz2v zf_>c(Aa^%?dz@qI09D96FZB)5nDYavfu&?JBz=TiRUQpUmx{4xJ+RWQ~aTa%JRf0i&rtbU?3|e3RhSsifgM%ZZgL7aL0O$-hHO;&MG7B#~ zQpW<0wRtSpl6QhvA0sq2eE`&*rr}-D}DO(8*xCF|Oiplb|dw^}iA? z|9L>+dqe#cn3{(ohg9i7-ar$yOKZUrQSYNC-*Jl|Y? zem991K6OIc8!;}TiV{zRvzJQjUC(jlyxp0Dc>G(1E7&3)^!x&0oyKVYs^bwVcRW~ja zx&m|l*)>uXIEX1~1l`OGMe8?0Q2!wN!ZC0i`6oCUz-blZ8?HpQL8AKWCH4FIAny~L zoMoB0ht$lc&@-I_J#0XUe?D}RhuY(i%3c&W;Pw|k-}(Ae7)Gf{I0{BMR(j9)91bKN zRUaP4FuU^LQ~3FnvwiN??N5DcAkD;{X-G8_51Epi+yW0@13Av1dMN+@7a+4qca-;k3@&o*2_q=)@pGQ42y!vNf zmyPFqI6&QR>90gjM(m)Bz`=j1(CtrYQauIK1r;8JfsR z0aYxPxp(4>B=@CYzt_g99pT~B_N8CyxS%ctxE|KXZ4!pg>Vj;FEIo-i{LzSdfswxu z$ool`a~F2zh0iFH8kkX_qf_M(bgmztEYa)_!>2*!vkL0i(k(RR2YzWON+BYhDRVRNLEP?ZJv=5;?iUwq!y*iDT*$^qjk_etEE6cQoYq(Pz z_KdOK5{p1X3onZv&mfp;MaOr_RXl!^HHcEu!EYDfcBkLag3F{Un333AwI$)wZNi?p z$nH+yIz#%r)x@p4S(IPEYr zPZbHLbghlR;TPAa5WaMld3*~J|Hy>SEVBer?v6b|1W6C|*&_}Z`LFf*%`RANLMjHk z4n!4l6ramZ?>BvnzBEQmIx@^h5xoD((u9yAVE+DIu~uMG=ns{cUgi7&|3O|PrqGyT zED!>z$PMT?Zh`{4&4Y+1ZlG(JQ^&oVERFlnV~vC{h|Rr|kc;;Boj|=+Ez-v{8ml1r zf@jdi+msD=9FZy>E0vA#Gs>%h{`^@}&j2;C=LwiZ_xt>3o6_!^VuUNO8zX+JcQ=sW z<7t((((rE;qMx{M>)70x?lTXIa&{eCn<}3=6OybD`p&}U+TT__k4UHcnt%U|E=%w4 zr}ViRGGC`C;qp0dZsI9NUpbseG5yu#&FZA5W!a%#`;TBYI@CPwTaW7`9t34aI_|s{!nb{Ie{j@MA)v*Q$Yh)PR{lm z1T`Ycy854$uy-y!-=9w-ymPtXm$%eE)RB!G5t}5~jbVUJWBEP)*Q>9=oj!Wry?shz zmy6$vHy>Nr*=if%@5o_pL(%U2(>_T^Mehjycr4a`o2v^{Kiz9m?mx$uVFD*&DWOKh z90X7Ki{f+GMa*H({9Q(jY_id~pl$IZW%|J2DK9)tA%{;Kwf+kY<{@Dx2bx)!*YC*w z$cFKEzOr`G$Yvx%W?&&HfxfMuEc&k9n@d(j)B8R!u{gmpfWS;-uUmr{U{E^{y z;V)S8xdCm5E!N4=2FBqolyc6iwwa`CR88Ytu86sj4*m^GOwpMWU)tP?iP*4`ExB0y zD@IO%d#0A`7b~@#c4NikLvo_gdc}W7?FzL2IBwSKU@R;_LpE?-Xp|V3|HBEXmZV2u zN=az4uCFTkZ(-SdgR1rs7PvQbvNo+M#_IiAFNNj3FSRZ~A~?Km>PnHY3(~ zioQXx+NAt*Be}Y;REq6#ys;@ZFR1Nl?TucLL8L*0j`jR`<%bz~(cnwo&G8p{(K!lz z;j#U?iauBT{euU$#4hHEAGH(Uocg)KjzjC*R4Z*Htkf}5#z2Jg^HJo@E|$s}sU{%B zl6xM)+UcIVS^p!LYF+&zK-&7flb(#oA?pZ9Fp!E2bq4ya7LJgHX{1eZ5h0BNW_8Ek z!H38l%Rd&hopxtdMFc&)%Z+6!3e-Ek{v1T!BW{0Re3PA?l;*OCVpRb_Z86Q;iOD88 zEbx8D(qw;*^i)$*OlPzG28{#x;ShBOgc8EcLVmaQLIThvmaGPOBDxn{$m}Wj;Y)g3>fTj{$mI)r9PQsqAwOr%}d8{`si(DFLuP z>|E!H266@k*^+y`zdDfLrf?2DD6E=3VD@j1vJ%K*{*Zc7$rADfU83wlPPw_XUiNY~ zrlJOWZQ1URJ;{20jAP*>ZL`C`bZTWU!eZgZIW~zyqHGi+Ni6RROQ8%7RIz7EmXQ>7 zHPr!kz#S7e&h9tT`**b}l#c{Ly$myCp~jsz z#g|wZwva6Kf28gbZ~ekjBcH>F70Bh-M@|1?_OB2c^mXeuPbL4s-M0B8;W$0#>}RXj zd{<*|!ym6nVd?s<0uyD9r4jB{%|EKl$7gCv8a|M(u({?}3$NFIE$gwBUi?<@E+jTE zb80LXQD-3h_tUQqi3y@l17QX>wCs@vPaC{K00|cxC;a|lKHdn}aVlBWwFk+&lPEfq zEqT;;_9N%tR7mIvc-)|moS*VMPE7p!CFa;#lQD5Z>|X(sEpA*PcDWfwl&qqcSbPn+ zPkHaF)i?_ja_H5Oj;6SvpEBRH^W=)w)^7mMKW-jUFj9%oPcYvl%YGrC3)OzG>%`H4 z%y>nCD=~v+|%g-0p2!Lkfyj(EU*KI9&{W>&uY=QHrha+nS0WfO62WL%<;b^v;uz_5VPJ#S>@pbduI@MJ@f$}N&=gEz3ewamylgT?Gsc8N z2r5Sx;vFOCIeS*Q9)kA3@OZbq1mLyX2vqv8FIEGnfHM zjhMaeL)Fiw*#Mn%DPyn;DK1DUkQPBMO|ZVUe@J>DlSK!3)DVA75QL9R_1~;r(EK}y zi#-RK4=jnuFoOTlVdRhFYfB&kLoy=}l;5!FifKG_+#CJw@bYiHT@_5F+w+|}pMucy zW<@x07 zlXskcg?Er%P-pPQ>qtzk6+CajB;uacJq6%TgNT37Yx9H=GmMdRu96o_Oc_RVrfiMyQl^tRmLJUUKx4i?0kE07r)l#A z2*79kh5F6GAPFT0&Y>(^@k5UtX&e&Y9AbEJIXZ4v_#G!Nh~mr>GhZ2P?OKCpu~wxc z!JF$1bT9z2`S%eH_-z>W@(iK01Iau?LnfjUG{*+V=T&kQ5Y6Jb$v_$0MD*>;t7QjJ zJk85P{rCx3Co1j=+*>LtYu$}y(uca2c1~+Tw89tx>V>O2n0~sRX~9dEm0ASed(3Fp zvdqxu`-YZ?&-X6(i*7b04!uG%csTp_)R>A+4LB9Ek(1YXGYnQh=;Z6&b-t52&p3TceG4Sn(&~ zg92{j6g2~X-!VkA=)i#z1>u-u_-&_jr05@}0CK(bAnX?V`~lA)3U#!VJ5Nx!n11a( z$G??0RBnoZ(l|_nwmB~S^b?ryq}A=5qXsjn#t7%El)-?`T}|4~dZ~KX6n&kQ8ZV1e zUrv@y?*Um&XG556Z@I19j5)3hRw+4bEZ@r115r^LhZ*saCx_;vH5RhoC{@_k-zn?) z`aZ@*ecub1=j7zoI!0kqUqe~uKgddT+|o$lf0_>6;um|4j-KK5*x^*7na z8DeS?NF<^}$TBeRX*M=FUC7Hq=?iHiFfIvsX|nXv6#jM0={aHR>}TSsA}`9l2hIga zsfsnQgT&+LQ;HQ$ma-Q$6{ZGisIvzA`<+}qjJOcH|~H3gSwJ9?-X{_L7Guz zW_||zyTj%-?qI@Sqy04~mnE=^xkV*elr^f@squ-vzFxOncl~?>a_(keGwDu$1Qx;o z3{=e9XW4NlL!l4k1=xS1gn`DO6pQ(E{x zt!>khz$Y0+gMzE)lvqJ>hGf;ek}CA*Gy{>{NU72Wd-HG>A#~bXif-bX1WRCp#|ls~T>l__ssikc?NgO-~6} zu1Cps`VsE=@Mas0_x4<{L1QBf0CYq|r)8D$n=5xAV6vX%)jQf8*CH?FVhC2jzOaedU1pewcFa>>9$fNT6Gfo4b{@$1$^7jb>K>FYI5OOW zT?~`SGKVP21fcFET6IH$yNJ9=6GCPLump&aM6T1hS7`3iQX9|EUSwa_ zJJPcElRH#D>}HD<0OERMZTgoUk!~K!EF-Sq>4~q-ee-FAb9^MogW%0H97P_7tc49gOsbYzQrNzK66U?Z;&cXPK!twreA!ETP;Rd^mfW*FP4#H zfIMpNfSz_hj9wS+QJ(iv#;w_Me=Q547(N-G6;(m9gf!gClPeEB04_+`}Fe7N{7fS{A7-W+b#9^kk^b^zF|90{}{ z;v6D457pzlH+`sLqCUwHRXFy9~ND%Z)4} zQBuTyg(apT9X^bSU89cq)>)wQNLZ8Vd&X5vVa(sPr|MT^$D(WM6?e2Q3D9J|~Dg>YGUEi=6%%vhm-sfemK-%v*VD99)`HoJ1vj^=QoH_&krKFF5_ zHIv;K>FWWwEH;-o61O>$t9rPgKM`W#HoHIzzTqrqrkcCNdAw->+UxF>wyr`=i#iPMA633CO*kLXcs!~UesR$bjg7Ssxa4{fQ)-OL0`S<;ZX@>kKX58 zg{_XUG@yuJ*;iO-qNF9xOq4I+QpT#}I}#s|U6Ftg4+YI%&R zR|!I|#(0vb^oLV)SnCo@Q}2jjtg8cYgi4EdF)Tw|K3!?6NYfF zx(HP2CDE=vp~HXodUYhpa}CL(p*TAKJAz&m-xEMv`$t%uYH0JxN&+0~$giOmaGISjKzg&;2Ftmn*k`iT!7 znq`;r%e{nH79h(kbx-DRB0rg5&v-FscjSacMi2iokJzd#3 zkLTIsqiclV1AAS^STs0?%241aV&-7}tc2;;>}Tmi15Zij6sTv3{ip<4r@!+x4rIKs z3t8ZyTO_oIK?)=SSL=0kY0wa+qACAG!D;ur_-H#+3p#lR^tA)VGFIK0oQ9TPd_8}2 z(|vbr=z2&#>1fQL* z@0;<-K^rSDmrH~JhZnB&f5~{gIe=S@@I?#YQ;>aTiWY70uwNkguoZe)oZKGlY(XMR zOrCrg|B?s30v`_}3bToE-!yg}GJLCpL#;a3=-vDODw=X|&+1=kI!^9emNmU3-Un3$ zJXyn2eN6qPr_ARA@CKF3RKZ`)FCAOwc$rv+D_-;k*T z`0pO~@AXomn`a0WXcFmmVoI{dIfzfOP#e8g_!nK?N&qj^?6AF`?`LoX>uE!sTMnAGx3J!z=a1LC7tgIN$eUVy~3lhQA2J5VDPbj zIbuq{a;3kc5wsHJ9#Wus{JJ3!OHy9}xE;{airK<~mOyKPbQICH`m?yGRd<>nI{em# z=+TSB61R%cQHca;4u&QaC0c8LBm(ZD1%To)piArOsL<%}Rw@drY$r~6c_rBoZG$G^ zN1uv*fl)FBZt?!*_}pI%e+0;PZqn=ekJ_K)zVi|TsLBD^zPmf}xd+Mg=&uP*TtcOn z;VBAJ)`<8_8oRkbdBcT`Ws7IDT@=zL<~eTjDGJocar72*6z+b*g=5d_r8t}dVfw^Y zXHr8{+0^%Zt|33%hs=T@k7JZ9eg`GTW)}mO_e=JjNkVv`YERNo%PWZHbz>G{MalV(w791a$@Y$+}qwpY!hHyLK3cLJ` zZ@yXxkP{!W$jQU{ObVoUHkQ%a+JR#k7D)W1_HLYSj3F>jq1WyXQo=5U+-+1*1s6;qO0~@gP3OwK z)%v<{BLAmL=U{6@2&A3CQLZ&m4?TVVtq~Ng!3!zO6M96wwrUruyfpT@4kZ!xkRG&i z4?(EeGgWntPgZCuYDNN}hD|d^eu-VN&rQadfShGD<|gET702fK17m?7T7o_|pQ!7b z_2K#;`fL~Z@|+uugW01wL4#T)%q+4^U#85%^%7#io%1T26bhe1`#K3&2K=MGbTwa4xu5P!!rav4vI zqmVo*+6YK8`^T%?%^P{syQvyIlF#W?NN6hF>HUL9@lQ95m7TIi76UbRb^;2YTykHb zRhFw9Mo{?5ij@UIU-}2&;Pns(Ofli=sz56b^A=l`PCqDPQkEzDUhE0D0IO-5Z>qDFpy{^dV$ycS0J1??mfeoD}h7a@~0sE&5aN*qk!I;C~!zSC|}np9yfGj7>{>S=Fa)h#Fp;2`tL*>AM4 zmkW!1PaVHSNzV2+-vSg>o_)JMYy`=#`ug%0SUn`AH8jF%n}p*#92t2XLq$cTL)ma6 zY9t_CxRZZuAeZUJmM3CEPgts-;OhkBl=;@b_m5*4COHOGACDeIl2q{f2go?8z^Y3- zfCX>=juyw84XH-mkpada3dUd-a!3@SQ{emuxURs$l1qXnHk92!%Rk;q5IG0b(JKRo z-+*&i+<3CSqX`BKKOMv-huCk8{hl9RFi>3Z;dn~{v$;+QtO@~=p}qcL|NlW5Buk;W z!tDq`mb$2)JD3+utp9?y2^vPhS|VU%l_+Wyr<3O3PFekciYBUlzGxW{7i60OD$PJz zJwu3+jvNrcEyK)Ej&QQmx?BjYgX_jyJ7~O4&gR7?N8SenWVNh>aZOkDBtVNza9mhb zTKS-D{f(OZ=~4+Z&EV!*HUk64&llOkx_*HIDuhtF-JJH2((3UXFiR;W96-!4AlZM% ztx3vynI08Z$u!ip1@f_=)hXXj{3XgY@=tW79_?A{{$K~1wJgajJFZN`P1>+S-d;Fp zhV?wPT8kj~rW0`_t74b!lwLw~u&*-8SElnLf`fqJX-@dTZkFG$Jlor4jOtFmKwk?E znV-d8S@oeerj2>t1ZS?8CGtu!(z^N-UOL&B8HGI?X8y2Upz?l3479=De{>YB)M*hV zUkmjk);Ez{_xcj4@GiUM*%!efz8Uxs67bb|a!PAj@~T_S5eG6yT563@$`p#8!@*O0gr)#bBe8ncV{6l{F6N#ZYQHl z2=qEaZ-97VHB?xE9K#Cip`CM!{Zro0Ve}A6W~ncU{hw|}V5#NNW#492nc{4Qru1}x zoay2k0l^x({4hka>>R|lo9UHd9aO#K3VH{t3IPCnTf2&tr8PLq{zih~IPK#z^p*mA z+K`34YHBxZti6R(T51!H2wDHV(^^Z!<^Pd>W@gaeC@U{(~gEO~(J zx!AmU2R6l^m;}pt!_M5BgNI3hk}~C;+b%?8aVO4o4Pp}BWfroP1Gt^|Q)D>l?!#+?gT?2{$M=dF`dCFD3mA|V4+RqokQT?4OIS!h5o*PL z`JZyXv3+HP@F0R$ps?lM$9Tzt50#PQsbU9BND-R2JUHFQ%@M#;7LF9!(QgZxLip(W zwW@LP{RdbLWpoP<$>^7&bn~V{C4@3kl%yA~Pkep-e{Xp$yUBs{={}Pm^z@3m!$}F6 z&L>EnrMa-KnQ2Na@@rX3IYC`{bWw_=_fmB$f#A){R1Ew5e17Y;mh9#kTozkB6K~Kg zJlApOUzP>Gtw*cWMp3p~tg+I`E+*;ruvCL50RMZ1?Y74Rq#uIF&)jFIg78d(V>+l} zigh{;jQ`v#qMGuuVCMTx0QYi@ywBd^-evekH;4%wgsuC0nv`29zf$P|QK~{8^2gDn zWZ$OJ%x5s6De8pg{)zUTlJkN50B(q!ydzq~@i`qS*l>s7C(rGKKO-(~WUFxva zd6n2O*7>$+)9!ajOeJUxJ7620%XhrK(msKg8p|~lTnD0@%Wj_nS%AN65j4c+lZEVx zCoI(<2?>@Ot;2@2%0O4O6t?+Kl$85Nq4=A4(%H#tly+#x%8e6@XqRU5gNK6;)|4Dl zKvc{V<0`z{KZ;QL!}%6as5fxKH(;}a)0G= zT=z!EwXFryAeAwS!Yh{t8Ey>4y>eIbg2dqee$%ZZJMO?EEA%f(UpQ?23T+9Su8@)T zzEp&A*-S2je{>FbKYrhME$~1MQQP*Ne}ee0%_oAmvEC7K&f9U9_29;R0@h4xr++cr zJ1QbFykF1(>Q+wQw_Uxx-z)Vw*ZkEnxtm`6A2G>5v{06sxOcwWl++J91}-`#owrQz77_jI58%RWcXxt$f~ zxx%{_Uj2E&{q*mRSb#tjU4du2k3K#DmNeWxe zeXX9-9uxf~pxZuKUFWaE@vo1_3h1ABcJL1YPU5CjCGwacCd4;}O|x zZmuWeb7jihJaB)J1RTFPXgfcyHLyc$iYGw@7^Z_=x7t{iZ<75!r-%^mrobfJrik%< zY1{h*ws1>Yv`GdF9*_O_n)YT9mm(WjzVVJxO^}6%Bif6B-6QmJFm2J2!`GLB59W3z z+`zCq^Q!apYc--u*WNZ_E?QQ{qn^IWS%g!RnR|Hk^J!WiP*O`bf1~<&vIzI>hjflRS&Rjk{cH z6oeDG2Nz2!dN9um%A^LB0}R{Co|zL~Ph3a~$g}nr-)8wU`9p zj6bI`0a}XutGvXz^J_M_NLal5;J~pcI8puh;<%$Y$?jI@PDVg<{`N9b2^5d$@$iOu z$+A;IZGL6L%t)6*qT#Z{BNcaME?r{mV70w{EK#N-@M*P2TbQch`Rw`FGvuOYcjvA~ zq321Sgy#&(AF!O+Fp=FpnL3GQ8jE#$l zK$*~aXdSZ8Jn_p5@m*xqC4b^p##RnuGTTuPW=aj}IMb2ks+d0vnH}eI4>;gIJxRl5 zYheY~Pk{n;g(R7wr|@q7q*HZ6ANtk7FT%B%)-FB_OW)|A3Wp;G9go2VxwU;=bl^x5 zSzG6ZKvflf`=pwUT^w^vrwrT|00)xN+2Ec^?C}yuyF*oSD0D_4ztw0MqDRMHq39Vy zu$Wap5$l;^fq+#7Tu41-UXF0i%!%lvftl4U zU76hYojUv+3YMr$IOpa~SA9=+d`RxPnx>I$UFa~$uW&_-w_VdW=<9!qB-Asqeu+<8 zzVL99_E!*BY|>rVQT(tgCPOS5VKQxl?;LktUh&`pGbW{3&KZC_#jfNB$2^@1V)ovB z@8%*jH$4vK_;{%|udn6Ca?3^XqcZ8tyzHM=Sf@!rB3ga5AgNn{Va$#3o_#IapW*05 z!uXauhi~l~I)BGlm_XkMbd0!F z)!AH8(tRcw4qcoT7ZK%%DL@^7n;$vR2BSL#wEMJ!5|&fJu$yxie0BD`TlV}NCILT7 z#Q7+4%-OnZ$+`t+bS@+@Z!ALx=9c)NiB+1(T?sBW$HG5d!(AOZoO~!s%;(ltxP{cF z{y96}6HMH_I zckai5ZBvai_Lb+xI*a?x?^LHHVlUa}$Ka`_)BecJ@|JfZ+u{64;sXipw?jfcK>%#w zmFeGF;7%*8t(i2+syZ)7Q#flgO~TnE`d<_{D=riCWbpR!<0+fhWqU*5%t>shz|53i zTN)htA<=q#FWWmb_yd|t#lDaFN5?m!<}@6Zy-mBcBpVu^j+to>Y%FxFOB1aw$akoq zbh|5yOXm}pw<&I)_xbNqHXY63;}_4VH4OKyu=)em?iS9Tl9Mwko1|yfN{v&18)M0D zLq@uK^zaO1@Y~OkO(p&Cyui7POFw=m*UK{ZW#sKga`R~|wX2)YAqu$+!NM%fjfO?IzUE<}iHq=N%kBVY+p5bk*r7seOu=u zPQiF#0SoR7V(YSCq6Fb)^~2s=qv}!=^iU@=ziL`^shOoYuhyWJfYBO;!B!!&c)oxD zcW6+r`f0% z%#Lfp8R^u7C5P(pccCaiji--~Zy4hz0x^H$R3rHcZdBO-peQmF6?|bcg@PFE2nUB4 zdq;upfyloil&@98X*KAwq4h8X?xDf1pRHREr9EJ*UkOseGS3kBz}LMbs*xV#+k?)M zwkj|&lo!N7<6adb@9Z&^=@`_y^>AxC1AP{`>OSvXN@QLN@|!5hI;-;S>audAbC9_$ z;nA69;7x6xa`OL0@DQ)K?smsWUI(=HA=i4jKr{UEK>n}cB|6j`c^rL!6nNJIs(q#8==z(c>m!JtFut|yek*hYJqAZuMTmH))YTliEhx*>flinu zhJ^A39JO@#m5sS2W>$)IfDK*daJT{#P~hr-F5PT@T-w*7k04w)f@RM;4JT@RUL~Sf zqF-vbK{RYRjSY?NC_gRYl#6V`B0an&Vz!q<-gFFX%yCu`fbe%`$-_+Mi5YO4CTTJ0 z$;y2+s6^s~6L$ZOq0SENt?wPU0zyJnnabTv;8sw>-&mufg7fs~m&w8zbTs3biI@cB@I<+O2$ zb5k4$EK2;G6pOQx5<-0D>6su^)bPUWwCly}D8j$ZsHshBJ)$L7Doyc7q!4xGbeEfcohs`vOesIyc##@w&l24K#c>UP0iPm8P;^v@FGaF z)`8~Rznd8R+zWurI5Ft~zxkZ6FK*Q;ih={J9JfM?c5Cf}>)hm>Ieh1Wl%cKpWTo?I zC1@p*gZT9mo<4mE8omU{bauoT340SJ+BISK({(@ZoZuYAC;S;v&JVczC>p;d^y*_e z3fEjX8g}52o%;X>ev|Bj4AxX)J4_J4*inI^TyJOgE^ho)Ulc{t0+h~v~MCY3r7_Z6WDDp)xrsZgY9BA??+Y zc3plS@Gf-#j`+gc$kni07k*d#{i-QDU%s*yhukl>1gbKuCxPVfW$D0B^j268FglnC zsO@iC?JzPzN{G%(7HZFju5Xwb(+mDvURMaLWDX-BTygY^;s)L5^DSE(EW34Yu^n}A zM&{B9jKF0@YA;v*A3kp>A#aS%t1U&aGnwZAbk|Kt9krT~cuC|a)x?g?iobdCGzX3| z&=dZ}7vR#?HTCA@UAXn<)biuKN|ov>=$;_H7kXT_@m)Wgd*1zTyQXN5>z{=37!FQicIftGQLG-UB z^WneLqrg1wE@W*4Rr;*3!RuN(k>P>4;87uCCg{jrj>|M!_it5d?#W-;x=dJa_`{4% zH0ex_>}f}a=fLX#eEB%_ooAnz@ghCkwOe}de0336a_@je?Cs6Pc|Rb1W|u?YZZWLk zM21OQohpFIuzp&5&>%@p(H2O=fQEb@s5O#X}PV(wm3|&T@3w1pG7*{glXe^IR8;q@J5{ zT*Ijhe>|VQ_w181cdJF4uSt7$+}TZS zaEFBxT}H4vfruDSbJ^8LqFA#^;xo9)-sgNtnMNtwt z_o+@oMZQ02t#nqDpO5WCBGYacNiz#JkjRm7-1F=zShJ_$$$ru?R`wo;aYN(D&J+W?Rq0x ziBf&I5VY^bR|-r1jGuL3!2!o_RKjvgR#*2HB4xIBDPc#Ytha!QqxTWZndBms#?N6t zBZtO4^T3WsduWY#B8$;}Kjn$_z)_s#oo#Mij*9ey58%J`=KVZ-QGf-C{D=rfj{h22tm`p!l_FaT{gBeA%|VpbCM!(oIf6C&%0waQ zdaLx{?cZa2#%*}Cv-t$3;i$6KA=l|z@#-DGaP+!O1HuMd17mt@t8a#?8^nN$4bSF= zX1mm_CCEdbKY2KoZaO+L$e`R&S=ZYEF5nUllmO-uHv#CZqP27Tx@PMAvjCuGS8tu& zhW--0=c>U@tKXDlhjV^(1_;qy3^Nq zKs~42MRm;MSnmjo|J`t z7NgBsE;DQ^)igpmN%pa~LBRO9fjs-$osG_Of@>Sea>54b0wt#j9c_vc9zNMP*xqj~ zAL@Mu?5IN3b?w!b?SFyq9Ec6_aQEQRUr&>=4cy<5d9uvQgR^>6a*B>=>XLc!o6?tv zt4iKl-X^Mdc(yP%`%k-|Omq ztsd%<51wS#ePkPaNmc%9qc*!9D%Gq|CU*9a^xS3_H949%dr%H&n3QU1=~vg(bBtf$ z&)qVk>#+aAzh@bdOVIw4bC=2w8c0avP~>QSDY`oce3SICc42j^A)+`KRR91iV~G9D z(67xDS5>K9I`WIPZ%R7M&U;RC<_%!Y8+bBYfIS*juQebZ(sh_<3rR zTa}g1x0bto=kM8KvA2P9IYoQBSxlS3WoE5Ok0pas=$}?9f)n(bT-#6Ilm5IVag@Cm z3%J;vQTAtQ@nU3Fc!PcnG*3+%;+^naiLH$9W(>^=^*mnp|n z2T2^OCjW6(bFoAA(O0;?;G_G<+a=pS2PQ%L|9#rfP@@hw;$3WM?cwaf<4AYXd1JL! zOi~EC8}6I3O%XT3>j-4Itb;c^)!|Czqi8{dbeoFNXO3FVm7n624#&p|ZS|*`r1+!X z0Y%%Va>5x7jHFl%uxL(8ALAaCEDjjWs{@=mbr~I6|KhVJKfRb}5Qa$}B0%-9lA_~w zAcHL@jwa@{IHcAT@=8Fm_UqsBl@~v950&@ZIeV-(XC;o(@qf`BU6e#29`byRvvos5 z`shUGrRau+(z66mNvcxc-1xXhnWd4lSQ5S3Zk#V{$iF7~_*8cfdbN;r`9aMYDb|b< z5QFKa@g%F32w(uakv+ba6W#vxI3(;4PlO*y4z29f&%AvSUIRb>d;OOs1K18N>mfzF z9%vgcySp5Md8J+Z%%B{O`<-r@OrU3k4+F`gsG(cW}}B>~|_d_yeqH9Q>1KjDXZ zKN9Kp87Rtd1q?j(ecTE=?CQRyHZHGztchlr0m`~hh2#o#e-BQtkqGCSjb-*AM*D4^ zD@Nh}82Dze#X#EqxJ~2pP@%ad!rEW<$KT)fXOp-fSb{!r<|Kg(`^;?=2O4gD=RjTm zGIa&C+Kz*_y=pOeM925VBf7?vjxAtkC88LIhg!%>PbMZ!1qanwK-`5gdg?_z+%ail zp*^Ndv6=f0KS9+Dv#4&Dn{mw%A|=qW38=7Uawcx+5CP1Qf{ZPQ}s`@ z@pFaLmZ;d7k_VQa-fXu#q;XBUHFnRsd@N-7@C#ewV=f_kO23rP&=DX<-clm$PUDAL z(!brHzd=^BxjmO`Cg|$;n~lQ4W{l6fr5!!IXCfvB$C8jrLB&np5}a>Qq~}Y30^QKk zn3eD!d+(1%*S=bPI5!g<)>p*6z4pmZ>)dEO$%$4%cwfRD0@B7!lG~=+h$s=uLhy~W=OkxqC)Mo)FrmLk`2Sn&-~6c2q(Ide-~ex>3<=V1*JPg zg&~=Bu|xQeU0GRfXqqafu79)=O?oj}qti0BSBR3SVd2);*Y;}OCheoI)W%7HY~j%X zDPU{{+oKOJ|2TfxVY2liq}*qZr~Z)b3iy+JrH;$VbcS(GfiUGfDyo0%EZb@kYD@hw zi7er43BX#(Xyn%q7XQ)O_c4c_uEl%eZSm0XhL4d40Og@gl=X?ivp;3foGs}-Qc=-` zw`_$12=oy_c5HSgBL9c}i!n+EvO86m_eB>eMe>%ue@}%}975I*JjW4q)O&GuHNaE; zj*F9kboB;MwX~1^O&!Fg@a|xw*rK;f#BU~|_Vy4kSR}7iaoy;$6(FVU{ zni(yQxLhXKcOub75f+vz7T4*=Zf(Cs(nvaRvuK!qEQTQsZ1_+e*HHB^BV`>(bNPCj z`_NaPpeiWaIx<~1eivS|BwqtnrZ`#+gd2x7qVI<3x!oIhPXs#^bLz1F&FJlPRwv+y z!~-j4N311wo|=jNu{X5VQ%%UWt^XtC0~Iwcf3;6~VYVCaj)8G;KO*LhdR+{r_?q;Y zw~|)k;@uliZ$w6%Npx!k;)<7>heWwPBsA|Lzg?=os7LV$mf{ls+|Tq&Xw!FSaRi)l zbwp=2NEBM~c-T8!fR6M>0`GSasS^>aUTc5Kaj6Pod$n=`z1{4p^gXf z=EHr5CidCFr+(4gytxP}E+r9>tGW4Y%E&;l??d7fu;^H_^H&aDG(Q~s=S)m^V0owW zNw0~weJF_zM0ILdS82U{WQHoJ)i!b1(u61BPJ=6BX} zYyrLAMRF(N2TWfj+CPn_tJyN++*XY@1Eb2zr3X`yR3|lU#F-0koUr)oFS;lzE#?V zmMIHRPPh&9Q?bm^*~4SUM)I6cgm}PTVi$yt<_F_T=<1Ex1)2G9*$;_gOj&!Mw&hKf z1F=w|ksx;ccAW0|lJ7BPaOG#+kP2+ipEs?p642l6XuQ*Ef!Hj8vCFk0HGLwRED6Q{T3|Xf^Qq6sIB^%{(Jm64C)e zGd9tgpnBlCaZk zee&~~I?fLXa5+wybxn1D!BCc|oN1Si4{0lT)V245_;Fa(u_>8nao!rdu>NUUcT)IJ zfysASR7Nn(&^y8ly^35;nkbBXQFMlvC0$1TU|8tFjRZ!1d!Zn0uF-eX5|>l0P=`ZR zjJ}Ois2^wfFC$04^GPfADBrdF(c;0ULggzRKcYHq^PUYHEfko# zA_R;6UFajwA~RB36=yLOc6Hqw+h<~qudVsIXiqX>WH(zSQ+JQSKgTK?Au{3Fz%G~0 z(& z;0Hy_`VSOXHqocQ5&WM1M)WT|t~W^W0?7{Y=4W9oU*+(kYh{Mi*2Jq7)T|sc6K7w7 zEs4+qh8ZmkOqJPumvRl&3oZH;i;YHEIz;o~r$NiB0UJS&3Qw!tbcG(u=h@IUp0>T5 z8u_8a6Dh@LZD!a{idg963~q*PG=dy#i1LVZLRooN?74+c>8#z_Yj_t@aPOZceK90> zcKVaXPK~dNE-uK$*I#*UO-$WOj8-1}qn-G+ahKR#?op;Y0EE-bUh{uBS?efD7J?LQ z)lDU{iiKb=5VyehxLy|z&eLN@QHfH$TYDHbnLq+?xGE}snIc0aL_d)%_no!(kNR{$ zR?k~!Q~D1w#J5Vpwt>+ubIqz48A_zfV${Yk#Qr3E?Ed8VvJ8)^ioKtLyD!3BM}R(t@jWr-7`^hvy2UWs1Cdfu;&^FPl@h0o#2nr| zYFR2OM-WGq3{o$;q+>K@*T(yd%dMta|lcs0g8n`R^##uPP3BO2RBkGdNd&0wDX`&16 zz{4hQm=^wjT)hWaQ`s6Wywx)@Gb)$?MX6&r3IP!m>2-#tFoJ;eI-r1}v;aZ6qoXkh z3`$YDAYDMDcN~Ezy@PZ@2{jOq4&h&WXLIiTZ=Po!=gcuXYklSY-mk2+Ib4+XUu+JI zPtemh_(EZW|HBKl@{3xV2sx$?Im-NAmuCgXHaJ?BEfhxDzP5+w{ex znabEd5?llt*`N{&mXP%0deIGPG@9IXqwK=Ry!d_MZYQUP6`yIq4Yk{uzTnq;R{Qdv z--utN_g2ut;BhZJ6g3Q&@!Y(y&by5BH2tXhv%C-B-<1Kq^w#+~;;L~jvG`?;S?>UI z6v8o<>5-~d{`Gi9S2_I|<2k(J_I~CM|B5|YVwk(v$rU!*??toqv`3rMNzk2(z;A`fq+zww`)?sG^tqV&ePdo zdTsOlq04S?rEvgU7*VU*D6rG?_Q5;@$INBAk1$h$&FXKCfe*}^ou3mu5ov#$>vgx- z>X(>!yrFn9QOO&;+*-xb^vkNuRYguvMh|esDPogzBI?slE#_wyD7IR4@Hu!Y$$(ox zM!39Yl?QXj^T7zushbv{-c|?tT_7IJ4Ud;O?!_~!2{*-B+YIgO#`CdL<6Qt<9#H_3a@n0z|+IOk> zUN2B{CVbBic3rG@>wqDBGxwBRJxJTq*xA|kjzOCkKm$shY~^S%uNj2>_o)%;*5=yx z9bLk@j0zj>F6QKq@2IYI85gQMltmd<($v;TX;i%^O;O}yu*jU`cFycnvD-cj}7=2vs|oy z8npb_0-PS~ecF)rD6AhSj>;%3)&T1&j3D`H4uhOqQkQ0WHnJFQldjz_luN9-!c335 zxlx^8KGHU?>^ICAy1Sv!q=bN_5Ezx<)G_A{n>E9@)XX!GqQFl{<1LJ36~(jwO54|u zL`hLL)-I6;qWNh>=Y7n~lPijNvdtPhhV@B?qN2(xd+Ty%-y4Gz{VL4l|6RieC5kqE z9Od)-ZAt}HOTZ^Xn#ov~*^l3!-)|E0cbnY8Y>9z44nsmO$$4fNexFWRBwCL0GIAQz z1s5zrzxY8XAe->w9CKd&hn*>uuV7{%9l9xKpZyTDI(EO5fSlCLaa*%ySn~1%AY;c2 zcq&z8xbfp|WUO?a@2{wDi=cWwd$h!eK>#NYz<*cKi|_5=T6(yfwz))&JI#B?MfWgt z@mVNb@=b%AZ2pa_VQlwj_d#P2(UpVJID*S;fENaMstrYhs!vh|Fq5tMzB+4#*|^fA z3JLJyY*1sO4LGyyAKJYBQKr4Tef=P-TB>Y<9|W+7IyVu7667D z(tW^`D>vw|l&RS5lp;_lJ_I?MFuRCrLTxL%ciQ|Ja}!L8lr+NR!?mBqOLN>G+}>h= zs{$OBvP~3qZV~z?!31`s$PXSNqbNG%eGf@`*96-}q(2nx2Qyn3Nk5|a^Jh$4e4sx% ze}(}~e7+^$f4|X19KNduJAo`-60es^o)-xUTuOMKvb}>Ql58O%iy0IMS8jU|ux|j3>5a zZRGXTRt3C|t1r9c2PleRgB;QE73YkKA`GZtb4G!_P6}_cC4hn~zY0{iyJ}C(!^99| z2iMT0V7S1_@oGbGSuQF3wrO4JUiO5Y?!#Laoh5Rxg3cX`&Si*<%E|Ta^rA?774^m+ zK?%A=Bf^RYyfzZ(gsTNq-#4o?U5F*h>&-JT?>qwC6at+@(Ar%CLlwsR^N+2&5HiV! zPQ;iz`IJ*N8mfSo`~k9guHbaT*l!m{Z3vb!N}hZn2!{R!y1(&JJ>bdb41sU4QZD8M z^Evpi4J3qR8mq}WG0>@Nyhss&x5s7Ziwll+nG4IlBqM^vY!-0I0cb%kfBu*k`eLnG zkU6W(flh;7>}-uU^?aMU{gU|l+VEkh{R`Z3U8(^bWnt(!uhEThyd25RJ#7?Yay@J`M*=>v-19YW5TdlABn zY`^o-%Y!d1j>ZGogAa*$I|!uHQE%=u%8#*z+ga_$%gq|;D>wG&;eyJ-3Hd&E=6Jxx z3*wVtLL0o>AlzD_GdZ`O zx##!2JWq?Zyh~7!4xSbhNgsI@f3{5~|Cg%N2zeH0tkk!EjASz06)At@*NR(p!5U)k zcV!5ORTZM-#N@w4`QtUh*uAzPP&kQCD~X`U3bK(|T4g2pN}N3-UY?VK+GRCF9+$C0 zA4RYuhOrrpJov8yZgq*NQX7ouyT5^tmf(Slc_eG;5-NAUuhD4*x?ye6L-Z_ zjxf`SQAHK{rqApaI+6H8d>meR)i@%DHD-mldbRrg1nd$0Fd_BHup1zxVoDs z4Rp(NqOrD3?JAWUe>ya*>YnvF#{oHVH#MbtPi94yNkA(&QhX7;k$(z(26OBOJY%KF zAZ5f*K?3XC0$fE!%>`F~o?Dpy_E|h8I^kBx)E$?|!%)s*zUq+7_cse#v)^#3 zSONlHg#x;U@TzKm`Bv_^n4>OyDfmaW+C$(T*+;b8((mu?`7OtVxP5&}>NpLxf7B2; z0`}vM(*R?CkfY(@CnQtiwhg=Y6$A!rLPA>Sr*ew7$sgz#Y=rg{8OxJwvn+ zR~M$SFcMiiw2xXsD(u{u$ES6mFXOId76W?O@lvnk5mOmJ-HnIEyoAj^<=Sjy8Njeo z!u*aie{#*vLf6FZoN%-{sGSv5=gIT+*IXnVt#vb2+g*=Z6&Y;?YX+ZqW^)}1ebtfQ z7$}BSN&r?8wBrS=&AX+6opOX4ca}59n!W10st1%L`@-nxXNO5BK7Dh(gFa_HnF~K7 zNQXHa1CjOGe&4`jDJ<|pWUkEnR7{*t&k1Hz_A{{X(U&yxh{OXZ<8^*_ElXJ>*uGLEjBqvmWE7Ao@vMP9B3t>}ScmXT={Z%y<=!y(p z-8!zkQX1@u-YukG?lIr{NU==y|Nks0IVnH?ca$7tJw8WEx{*!w$obKtQM49Pj)}I1E;$PybicZk{2EE=!mR zFkc*RS8hj#Q{rLSm?${p&II?}S2(A%`9WfWaw5{?n_+AGf1twBTzwLm^~7{5B%?zr z>1%kZ{IUYMzd(+8Ss-*<%3yTE979iq5%6N}_z2DW6YewJI99qoyG`L7NZMoNe}WwK zVp)vqvYh$v0rrb!JWR{qhaC%6d>4~msn`#exWtLhS?ZFARb}R2O@70v9D`4d>#cX^ z&eExDii)jyxg>Y3vI6j4>?``CU6oZc~;uxH60wtKE|{O%0MJ6NrZm%)0$PaE5myKAZo!`S8*VBguT z3g-}){{{NzTVt-fg1ccL?RZe?Rnz9kgvy8bm^NNSjYG_tb13GI2RrRy$=5hF)dUFO zeh9KPz~{~7EN`-^ZtzBezlO!fx4&eUH^I_BUVQ6lvPde}pmr)oed0|Dr%^y06O%U8 znF!ndMB{>RpV~WVSZ=@O8ANTsu>z5svBL7Z{wr5c-VwM8&72X4d^GeEq@5;22@zm- zQjP?E20oj2(8s*Xt#O;#z*4$kEB%ruk}5-JY4qMZqVs}HdAHe{f%}{fu#IpU`tanb zPdVkSNHhqACcoe)<%%rAE-1zgF;65zj{4Eo30xt$4H8(2AZ%iee31#X(%Y)%mAqRU zyaylaJg1L;GO=3k6@v<6!y9cP^c%rpN)BgHO$C2)=&b{hDe9hs7pcNN2uGq0V!HYh z7CKn;4>)Wqp9LmQ4zIeqCct+Rwh-94g}Ad0shFS1fl=J#=VR)^UjJ828cRU!{}uN) ztG)YL_46=iXs`6q!WADsQFqEAo@al4oO_}k0O^fAe^~x@g>Uo7ZSF~;sn=@cVT5Cb zr7<*7Q8~7`aH3~F2CMW2My+Y-?ygh1W;GWWy8s_5T9pJ60&LIsZg^5#4@05<_GZmf zRm{s*D)Zl#Oozhzf@tVSePK|Om~P0onTHx`<+89*1m+faLxK%TMm?ikClPqsM{se{k+}LM+o6WYB|{?SI`X z8h@NPTsEKVBT#)3lkL6%1R3DWpR&;aGpVJ5ReG2&Tb;wkLRjFNm{2T%2P(`2W=#7} zP`$f(rlZAGscPCyCccf$M54Gvwr?sPU*bsZG(ZFHdU0-vd_rNsjosPDy1`+Jltc76 z30)!}uA0WUDV-xh#T}9Q3SN$P0G`yh3+dCp4{RKxX|j#c$))^(+uR z(V7opIE>}6IR~yShtRVmr0b&IKAKq)rh+F%t$#7x%kOM6NILQES{^SiH{&*H)BT=P zKqcTqOAM#aol5*xMt!TUr*IxN$M`!*6(SAKSnT|~#ktfmql#C#tp@_dol6&0cAL6A zILeM30#;(gf)|8_TyWr!(MWNlIqY5Fvw;rE7nVloyA69*B(N9E8e=KHmH9%@%pa){ zwg!RLaLmw_x@9}+r&ulLDa5$D^r@6ye8kP>ZGt=oiZQY-ZPXrJwRkE>ai zMaUl+W0dA_)K8SS@W(Ww_#B8L;f3P++>BO9`3(h0NiJ|=W@<WVMAr%jro`OA0g8aqoeL%=lmf;B!}(`PitbC5N(1U*=X0$C^@lMxt{e^ zTCHvg4k1ClSNc7vp5G}TRmnNhMX&c~nGo4wBTKXLg_b?tnSne)Kjpf|Nt9v245qDPPZ0WV?~+?G97gQZaywW@Q)Qe-b?P)vAOj)@&^e z(d+y##FpfFtmR$5{K^|t>}7RFyj%+h9(@^yRZ_a5^nDujQVMefK1k}7zHn}ZbKjl% z`*I>!z6e;9p&GKO{oSLSvD-V8mnV+SLWMQqb1J~%?bdR>Y0P#;ybMIzK`OD#$+sY> zTiGZ0cfUuz;*4yhZ=nha?XhH;EeOFn%U$KQPL$)Z9wEpumL92IcKL@@C76r07|OCC z1}pkvTH};Q$2$FO<`5DCYAGm!NENO9HFu*gV5K)$ATsv_(VYffN^NqyDwTuHv`m5T zqkGwJa*(J?q1+kVR4ycQFNEklfY5NJnlCc1FM%BG;3(+1X!xpzALH_67{qAp@!ZGX z-vE#Ibd;-hvyrR5EXg}6<1Mq^(ua3ATszElma91)a_!a^wle1CuD-&gc^^Cu^w9(K z0ko{hb{*A+$vyum{W!%BAXu4T^2gWv)|*A^Zm^_J%(J9TII*zSm$0>#zGPMLO24=i zB4P9$=6+^@z9YqRfnRx%q~W3{lS4Ym}4HgHAlfg5}r~_5P_;CAO4G}P=B}yG!bKe4r(#6A!BuI*Rh8^M^ z>r1$)xI8N&C?*^^aSSs)YY#zkX2!VsG)6U0If3j%sCpUD_36!P{CVD>^S78Zo{Ob% z>U&-IYTp7Ht}mj|f99mQSjLFQaQcNrJq|jZC`6?Jlec&86Pd+_V5@zBbn%WCz@Hb8 zKM9Ufr+-fI01VrD)|!ud+sEAj;>q;ksINC~%?pq~gOMMzuCBt88Dh9k8_?CM7S`V_ z83LvC_GS>l1MW<%Y(_>lEqUiyanL`{mX*$qdH4nTTyj=YVBdFly#To0m8iq*B#mq! zi5vlSI%%M8c@!p1;1i0T&Ylq$VDBlhB=k%+U@6Meu%{a7>)_xBnto|%@9(}1RDo%# z5^i0eW;fSAz3F#~V69aYO68!!x1Hx;tJ0;c_FfI0f}dMUXU+gaypDHLS2{C?E2K5* z9AQ^=^!&ecN2o0JbyfnxkYWnO^#WsU*<1+t-m7b-2nRc?m#78Ju>hdnlNx5j}tsaLMTx5ZUDiUj62N)|?#4uic`&N3# zN6Gn3d{|<0bG;~d_~Y5K*O}5+IF6je;{{eJK3w7HLOQTXgxXIPN^jTPdchgib zVd2^u6Qfn|O!Y#vWhdPXzEaw&5{2q(mWg4+aX5z7(hJJdMT|B)>W|Q-d;`3G+XHVM z>sKr}=?nBND1py+2vC9%vZk&1*>kyCG4meF&}S!d0ReO+cyWd_OtkUm(NL_pie3&e z#@T(LchqmO)m)6EF&jgiX@QOZYM5_D5+COBpb)JzPDxgtzhe3{r5Mc7JaAT8Z|$=i z-TfWJZsO;)2DeKrU!2}uIWrXjP-m#;j}#%rfcf>gnrWuJ9-Q`B*48M_*&{pU4eb3z zr1--rO;9hWp1E~?Opv*2+Ex`X>X$;y{M(1eBx5u{(ckOb`mRS@fX!PB*qiOfkRQ+c zKD(ve-#J>dj)*!JB2}4O(yez?m-sW~=a>-J?#B!yK^2l$tRC(c0q3X{>U4rhJhYfv z5n-E=E&``s-7{5vOYsjl@(G|TADb99IPJp!ZYi@24ukTi0UrLT_{@?BTYqc9`=xm$ zin2tX5RE6TZ{BU$;qjV}04rn2W^e4@-+40nCTjfzSbOL5U8?y!slAWXrOeL0h;TQC zb}PT<&%5xHD-e*@S37zrC&)KKUzjnQqFj03K540t=zSY@`5=LgRXk^JSpEH!Qo9VL zJ|Wv;$Dzx%HG4HK``Z>N#BUlCp_g|o1Z;~-{o9p{uiED7ohdqUS^q2u#LKJI3W=vL zRqd{He__V9B!q0`?DJydTN-0wZUieAwra!d+SSyxzfp2YR#uYUO(W_IH2QLV)+FlE6ia#Xk z)V+pJdiaO>)k}U0n*-+V%uJvqFG3#nbja~UQNEKAQ{3Zda_h!A1jW30H zRt6k!4H$2&m0?}?ig!#g5kt?<*q zTUjrlyM4XTA3oQVW}gt1TzU>hSSWZt=Ib6{Q0@*YOr$BR2=C0f{Cm%mXdJ2#P$cDZUHxw;@$jk`Ta#H%{eWBPN;m3;67!hysHwRSHEG>Cr6a<)w<~oO6^8!)Tv`Gze4O&-hZNYeDl-y`-p#?vB1EUD2bqT zslIEef?+QVYfuxPIgX0Wt-!O=VYlz@!7PA}B?rA5Tx$(erP@U=9i1tipeU*8-Zi|< z^&SB(-9b4i4^L*jBni)C`VhJ2i`rUXI@auA>_aPBV%DiUFVg5NN896le;h&YMc%O=0h80{Db{8CCU{ zxyt;;rr>M)639=cZ+)j_nh25L)du(v&kg;gA}>r)?Hj$h*TSrKt2m&9@uL0F~U=o>x0~L4adGNDm`F4V_hq#bFuFNoHjWpf!jToq;`kLjhqy3UofeRFm#= z;yhxd9)B$XvhBhj*9u3R9dN&g0W2!1m&v7np6d}C0S*DzFu(`JgqVL*yyC7Zb_rRY z!C1G#DsHEF0pldUkI+|e_VxsuuG$^V{X5}ULqjhwT5dUscCxO9FAhFSE9W{kfuZLh zYF^AD5}mxjI|}jb7I?%%D4jPA0TR6kFY_%G7&DR9Ju}~+wfb9j?!Bylp7ZNgG z=SqV>qz#ut2HI7C{CZMfJF6+YEza3)D>Hz14bhlymxJ27;rc%)Dzg9kBj^i_1q{j} z@bo@d_Y5ibs94ubfupFl z&&sxBhw*yGDc9yX+^II6HyMm2bODhs5G5`EI5kyga zQ11(~p5K-QU&YYh1B#%D0wWI&ReEZ7!_$3XtfDlQ3o&}L`Vv+hGFzGhh(y{xlx@k& z?Zbe(INk`scHR+~=&5ODqJ!&IRPa#}fMf?^>Q|X!BQ6YqE6I3*PgzctZa#Sn?^;+N zBgVy>=l3hR>kc&eGwYn$T=q4nJ0_5f;8}a~X%aSf5DaXQDL61Y1((*3C#`Yly^HR? zkhOI1!xs;J*pNG~T7*PFCKjNp1>7$3CwDkusx);Ri2N0}tSVF;v;XjR@=7Sv(;+hR z!dl4jt^oVzKrWmW5+ajK7l$Mxfw(%mbk2~b?t~d1(oDZLD+x*%%3qj-$2HLV88aq5 z6tL@21{D)#J-%hS_IE|4nk8Ubjj0oA(cV^C)Zq1zT_In?3h3g{`7di z{R~5IK%lf`5^$x~bo?43mvm;*tAvuL0E(D!^bqHodP`ekPAI6#-E^V+J{^?5hT5O7kM5%F~ zPQh&=u-afD?18nhzoBA7`nE>~}gP3NEg7JX9R;G;0`;}zkW-#Is*+A;x0CLV!mBoE!57g$K&Eq5-@C3om`iqvaJq(>HR7-hFF{ zc}fm&w+)7DPzZ=XEwngVU-+I~&*+N?##I=TYV~)9MgS(sH~y?ScWAGPLZ3GR&A%8+ z5+Q)r(0I&J2?R+{F?Bcz`*k=?hzFAD=#v0uWx1Wc~O19?59BMNMEbW zAjm$7MCdLyw7zmBiZq0Sp8=5{gUjr}M}>S1cM4c?v}PSQ5|u9g4P#Sa8tW7=0D1)b zQ`-qrHBh94HXV#CeHPRCx(UCQ51K)X?keQ7XY;Brsr$gAG*D2z*IMpghtR^r*tPeI zi_ab6O}@q-x|)wAm4N1!HQEdv^G3BOr~jaG<+K2ZFG<6GJ{z}yy`HV{+%BIH@%8(; zR5OpCmw$bq4c1vu=p-)({JTkZJq;o*xC0Lh9v=jC-ci=JNwC}xMRI5M|AcEkN!L?v z?b3k7ZlK+fNi-4iDD23e<3Ek75<(NO4RY&O|1$QZ^Y3SAu-RP#W*0}oQtp6}DG?M6 zC((q&qY@q|3FFwmjG|#^{qHHnc`scctF&nSI*~Sob4M#0fyAc`IKr*uR+Bxq;FE#|tBR zi1U;NhttQyPU8|dFa?O`(wd4YHpqS{pnh~?@vNW`<$YumF#VQ0mq>*vQhHl92U|dM z1y^Yea#kXdD5zfd2b?Pe`Qq1dGlza^@8(nZa52Hn_B>F5#k9VbE-xIl4!(`*z?Ds- z0i4$oN;rc{L$)v!&wrz>UYd;;(3cxdh6GuwlG!?;^a%MM9Qg{=NrHV1!u)74tNlIG z^B|h~1Ha8IZ07`)VuLK9VnDV`jD#ipa5bF+lQ&#?PFQgmR-@amr!FhW8SSYZtO8~I zuKXHg;l4EeZmjJU#C6*^)axWGz#v>unkSgZ>90iCjKX@F#$EFV$=h!Z6oF1jjr|Dx zalgz$#~e#}hDZ^Mg*$T2Z{C0;>&7eqQ2GmY5r9C`ZrWv5%6Y~9GY#l7a?nYRu^%7E z)~vK7kF32Wmg10Av|a}{deCn9mQN6*7t}YLB$G#W$qSYZ}0=g>mYYD=*k7kM^42^^9-(lqp=1 zDt0zTWomR_7su~`%#5|AElizMgJ7jcLOjB-yB_vF?>Uph3W^gkpCbW>o}ebyG_d^v z<3W%e>KU#tE>$i+`J9=)@Sq)Fdt%S`C zUcnn^fyEI$a13pz=0u&oHvw*40uwSY`5gQDc`5i)ol7`XT^5P=^w}Sc@cFdnJFT6++8}bqdrEh>0rl~~l z#fB4fqM-;di-)}T-*x^iFyW*e#Y~cucu~Z>7(Sr3CJ}D?U+e|M-*a53lZ>IC{xQ_T zh{^l=#~Fjkg~O9Y(vn(K7hdjiIVOu#sX$qz$?t%XiAi#$u3{;gZvdwc+9!`xvGn=( z5g37ip|`Jl`906U-xfSK`SHIeuU&)i*MGdM`O!Z#!dsrhsG^;}eKf4|Vzl+E)^*L{ z!{+HtAMNB8qzWx!QdM5vIQG-AV?Tv1_Unn4xSA$enEm`nKk3OeFN*d;e^l$%F5}k^ zQ!h`FKPqWuB?EFM#GjnUZO0RI#IG_xE$;++-0x6KA)E^mrsKLuHa@9ye&3Z1~F zU?O+K-a-qLr-V1GT<$)VY7q3%x!*rYuF`p!BMOZ2JXIS0w11tqd zZxuzrpEKFmcJEAj|Eb0!49mnLEssxzV}mE*V*DWq``^yjbGOQh=9&~$di;E|^-~<> z2i1@{dF^M&Zko~ITj+-qtbIx`0zCq@m9R|O9~OsI1hnqvf5`sDC7^SbzB||1iBq}! zP*-PhO*LddG*uh<{}`v!k_Z59V2NAD6gtbUPIG6ZKgp_$`}l`eq_ z;yuFghXjXk{>LZ-$68>9k4@az)ebt($6h-${CLwRANJ3wZ26+&RoT6#6GLmIV zQ>Cf!mTr!$Kle{%AA91v@=~3?eylaLYuiUF9h&l+9Gkpd)nOuO#XRX4#E(+DnP0i3 z;(Qz_Dr-N4ugGh`yP6sb^blrjj66=27<($ou?hrb!mawPr3L#K6{`*%D& zkI%Eg#r=rQ>@6Qj-H3@7h5Lcl8JOLP~4jauQSWxV6a^Y#<9 z@-r&}iqdJ7Wq3Q57H4`OgVs>Z7u8^w%5U4;*Nw5?w5~b44a@bd4>)Ew2wdK>XF9|IAQCRqv7D9Q#mMD8AvLlcAnCn zh}TsVX*KCK2Rf$iSmyNNS)Lg?i@>l6WFdfx_4N-&V@3A8gzF2iWKKk?f;uA9{<}e~ zJe`sHAkIE2oqiq`Tt94?iVt$H9*Puhv&3&@t-+Si`adNUDkU zfo)D__O;1bxZDa9pq5_1y3c}+la0@?QhtfY;Xi`4qr{%?2aJECPo58kO=gnk;i{n0 z;J%CWeVMhJvuEH(L3~vQ$iNdDp&v@TVK>;YucYbYGHGH`4pKjv0G4z!`YhrS6P*Uv z>5URb4S9KH<8!jjE}9@pvPnAiMWdVSXC8rt#I<|4kMKK|h^S)RTwt}0Z6cs~7l7vS z>-ee+>5+g>-{}9s2$3)tZ(ya||DG!m&~jj0=oL6nLI1!wqwSs79ZwW^UHyu~mcX&3 zueQuXUd3ikzHWn)dwXbiWeRipdAkX3gkh z;d?D})Bm^7N+cGzE)<6>g~Vwa*QOX>$7$#;hSiiVFL+ZZe*+`vbhn81$>#3OG0)HQ zKzbAqIj;gK=|NDJoyXN8tnEa9@AC?Lojlg|x7iCoOvX*Jl=Yu{745?WLQ~>WYzyJx`wzIQpVhN4eqzFR zJ-RjMSy2|@w_U1WJm3CSC7Gio@pZn7GQ)kqjUDId~tnJm?&W_%q4aCYrW? zkA_-+FR~*}|GDZT^x9k59!Gcos?OB{$6w4UH}2{ZgN-lZ;*WR`0f43U%-Q&V&a6N% z9Mst;9?^(+ps~8FzOGwpm0tJfH%r{#m1w9LBXTA?C-$4m9SYDO5sQjmO^ha9KH21} zVD_KgTO#T{do~5-W#|qC6Lg=$3xuYh`{2h0@*l8|w#qucAf~4J0#~aZl>bH&TaX7K zIAHE<(`hoer|+zT*qmtmVUH;P@Kx=(&qbnW2!4Gw5)Hx4aXu+tPR8f+K+6S2qo6Hk za$WW7d%!tPQZLbhl^?E5Oz0-8cu(NRsQv}nB9;m=3N~o`3_}TCvxHMGn_o8dngvg| z@-0|z(*=v{zS@G~ZSh4JVvHF8Mg(x}g2KdPJupVrR|3utJUtbiTFU1}5eS5_6lHqN zs?iLyMU^T&Up-RcW$XZRZ(Fpt0&W|hKBr2&PH(m7=H^axy;r%DTwr%&zw=tA2d4c` z_t45Mc7kCbNJ38SXps>)iLaJxvmpO=Q$q`53wP1JAqw5@C{LI!`!xPYlz&u-@!m+@Uk00?Uk)BW zUGCMIkN@{KQ~TCeoMNPouI-73d)ogl@Ob}czr82Y>Vv)I+7ikZZbmU{W>CKUUTsN3 zLqp=Luv;UX;npU|lRk?7`U4- zF8@Obc+{4A=x&r{V$R-p+Ko(0Ib_x`sP*7!x*%y(yFXI)U{?f}&Mjd35Vq6T+N?zb z^voULM>eckYZr-4#tA&!Mwh~-6#0HS%on+bnZ2XhGN7r&l)ry_DcYH{y z*mKuZmhu@hy9<*%apNJFxWX9RjKQfZ_|H-R`~6BEn$k|Lc&R0LsDLc3uO*ftoi!@N z41Ow9v<^NN4f{7AH+M~`zf6^M>TWXfK+gO8qvmptWNq9C#tJp%SFOAoNiueS0zkG| z-aYKMHu;zP^O-DzS*g!5r2=-Zs8=7ouD7FM8% zsH}G!Km$U(JvyOH+tC_fPSo1`CfOD9qufQx*Kkvv@avcXX}rWFau8pKD%*cu{$J^Z zfPfKlpGLkc2Nne{Fy=^;EjTv}uWx`~)=KWG!g5C^0zi-ldIvGY7x}iK_JN%_IWbZ| zi6^{O44$_sXlWhZ(GnEb{=VTsj$x#BoRN`jmCelaU=`o-KVLFfqjdG-%HV;g^B(N9 zd#>eCh4NPTbM4Uev<;0(&L|pi_ivPW7QPot%HD+@M|t1(7W{f?(VC}i-kOW^k|Iuj z_E($S&Dz`ds**2%oU>u3Bal5h4FrXLO|3DKKZy}5w;QZ;(F|1%CMI;=0MvID>{T>g zg~jaKAbXo-zD)0}=!UIePW6v+ENN}GNZ+4QrME|4>Nlp^A(DG-d9cPmfJo;Xigo=i zmrSG)WwJfMAc;rTSFcd{jRmpz-&n5UDAuBL!NJk{o1I(iFoFF~^Nmp#YGaM1{Luaz zRD8|oWw(%m{n}cQ*g}8){+r0&@Oc69HJFsls3lhKtMI(O7ulNh&)=4jrH-@7rQTaF zz1KW@vl5lrN0v#S1YtN9Qoh*u7W@YW(!?=C?l^Sy~1vHBGr$hmN+ z03A<($fBtc0+fOH!G@X$cb`DDIDHtPyFOM{5&^czMk3P$mM_o@`db1GFb->N;N&ps8J0LynB{F(R*%2p1ZwWIF$U%}H4U=S zP2{y zTz~J;+zu3%ib@<+x{w^i2bOcH0wy9yCF3m}UwJn!OMZ-BMcn>^w@ z^l!q9R)FLo`$!(#-nW+w#;AFf+>NMEgpAubqhx&SNj6Lm?pIC}KiAbHZK&6+{Cgen zhu{6(MnCoYcPqJGxVSVM`Y7Rtd_ZCpod48~>+RzXvo8Hr$Go4r2`G?y=#OW6xGCd0 zGh*h!EI>DR5gSVTZ3561vQ5KrkgEFZEN)nK_uL!iz_eY0aYeAvtFJA+{v|Efq@#;> z?^wBA65+S^elu;gx{U7^i3ud_>DsvU`XT2q*3kF6UZ`VCAE1GKce$rXb;+HklHTv0 zqJi3zyYfivE}!Co4_3I;cgl3%Bj0i+KVJ0uqX@6i?@aFS3Qbw$c{aHC`aZR@Ou`=I zU#AI#dP=TV-1qjr`r%=>mA`Ultd}S91jS}Trxb_tci+|!1Si~WtSa8R?2n6xomJfX zbl~;q2n*C)8Xk@hRjV_UcZn?(N%b~XyC@1-<^MMrX5z-s#~5i{ityz{}z9qwV$OV0;A1IZ=0g`4d$|yl;H%-43<6w{p_fz-IOml$K5)-gBgRJMDB~5uNIT`&uZ&b%b*F&J&4e*3jpFel_ z+uWR-GFIs(lK+jVY2yMn9lu*#mC=`Awx*Ko(1bum)3n67zM8m6Alx6WI*+Xp!0HIY znt;S}^c7yaGamccjSY0-;75Z2Lkkt)rl7YYa6&4(FFnFYvo4zHf`6ps5pEPESRP~x z|BK$>5TnK#_p?FY#8(0?p+qkj-Jzg~e+0;${yS{S_?D^cYBMIef%tR?v+(0VPVrv> z0V>aPVu*b4;y2T;i!~&o0dwa(DbFJ)`CC8)~;S=ax-Op@&XE(&1`3L4BObGVtq zxd5m+f3VB?g|mkntr9e|qB%@6S4cw^ohqFbo&LpGv#tZCClC~7bA?)J-)Gs=u)S8q zk2-&lX7)i6#uE%@yiQB~QuME1=zSPBXBZ4Y)nk=SmU3S8bCKA=n(U?yGbZc$D>lU=`Fwg{X2^QB`bgMg3>Dk@EQ%BONcI- z%{QoVc|2Tvr3ZNi4;xxod%Xs7hK+P1C2)Y+2vPUzK>f)yK!t_x1WcC~(--=n!o@+pBv%)sE5h8r*OrszqW8C$ z@JC{imzWD=KT!L0p^sgCUzA~XTdQpDbD|M*TSoV$zQnSXY~)BWE#4*=ti;8^z|CZy zhj_I@ZMcF7@rr7O&g)xOw=-L*{2K3!`?!0;B3PNGq(eowt?={ObZzhBSFdzi z!=*LVDqwC4EoV%AakFd-_wKamV(J;hUkGj{L1GqFSrikSCKtJ2nWua*;KmbLc}u!rYa(PxpGm)lvK z>DRagD6WWOyiRAO^7Ji?So_=i`?sL`2}OqtAlJCLwX3Hvu>|L`jmME%Q#Dkg53-%t z((Zo3hMg_|_eX_LU&lW}S0{essfJO&&Q{3W&3C0&u&ju$2g%ZIk_z4W9I~VThri;M z2ext-9B{_C4Y!63*NA!+F|b%^1m0`oUfF7Acdli5&Kvn1RKc1LDo?J5k6TvnCSsGz z0Iz=IhD$CMm0x&fF@vX*Ul#y}YR(R(iHrWs+nvi{_ z*JLTpwPNMnr!>@X;;x~tRr^yh+zG+B^^i+m)Z`gnUwT1wh=zSD$aFGTwln+b)9l0p z?_K?$3{-nx9QV5mf`>M?vq@kj0SPJX3HRt#^9n{>F7S5M?Y7LHsNmhqu6&R&Ds9(L$&R zg(IQ+OqfJWAya>AmFO6S2;t33Yy&pcm<_fBbY*CbNrild%XDjzcm^cawyKTvb)rla z08*1-D*6i1|QD3Ot*TW%n1z^H^SU+F8<-{~ccrZDL*u+}~!Y9fhRg4=rcY11>lz--tAngt(Y?&rtgRif9;wRn zx=Z>#K;DW(BcH2AWgI;3faGr6gXl{A~tzB$M*l@?qjZ|RDeit_ZBHIG>-A1 zx_bX4e&nTOwTvSi6{$|ppI&3GJNbGUSR!tT3I_G>=q z{{BZcf=us!ermv`UYC|H>N^rIvM8-tr>zZ>OYwcg_A>VguA31{QO?ZWg`x)ypyop` zO;D?AYH*JA*41%)pr%lSEE8`Xy1A2aE0@n~w5AG)U*K7a!l}&V2F)4(URpMvJJ$vK zhix)~t@vJl+)9t{y0MrzGfW4S9fbAQc1-VJu$R!P?zn&IPW!UeGcEzICXIY+(pxts z#?K!q;*t?TLS1d2?U8>I*Hm00y;=$*W;YZs1~|0R(=lawu>6C*iKxFYG|S2EwWyxU zMj{~ikL+l<9-1!oN!bn|I?{%u^3P3`N?}_OCS3b|Wsms%sZW8AKN?ZT>aru4^?W4J1X4nO6v|K#=4Z_0^b#T zPz+@|K~<>C6{g>U4M$|j=A3*om0K@6y7({hGEKpQ6(yu&4lhE}Qov~o;A74vCpE32 zv6j4;s?-Yb-PfmIg-=wyitOd)ZZVudt5Dz=#sO@2q}k)Y`Kz`(3MuQ^t0R`41Kli` zjPq6SxH*w_CqIo3M20*?v3x=n=sDxen#YxKWw@41e*|2yN67 z3l73*?d44AZ22f7C*3d(V~x5nr0>0a%nQV0AWS7sNAEFv)G^0Q4kXG`(39PDTg{^6 z!C;v4!q?%vmT+r+jJ6g5n0_<Yi$3?Xq1`WN zTI#^yo^anYQU?Cu1!&Yut=vkSW;cR)&8)Lsi(gz!2H%IE`2{r1f_@2(1)Bi0{tek%fF2nJBme*U9WP~Gmg;mgwumh) z!u>!4jLZWxna%?#zyxTK7*pdk1t_sddEn=5@-??9+FsAGXHQw2(R2pVI`}ElKq0OO z{(s;=R{8Ad%qWsGia)OA#O3}`)q@9Jl6j5)ue~e(YUlp#bdNeDxb009J& zcS3ULy{rGgTkGBPi?SDI@9+K&pYO20>?5u0$ywhG*@Eh8ZL1a5W~GCDriaR5HbNR5 zhws_Oq{qGlSGyst^McXf6;s*S{P7dTP##R{K5a@$zxZ^b`)z6hOU%M~fEC1lT*$}l zs9AjJA|*h=zqOFK_?fZ^?-KtrnKczcQTB_>tF`t75U^GYTPoj`<}U|WCzMEC2+cd| z53|fSJ&cKD`%aVaYPp)dph9Yv-V}(zDjrmv>;U};CgS^KvPRcssVrU%^?KgBgkUEY z#S6SjqTRu&2}()kxXkg;fi;lvY$v~Lp3V>J^xhPlax@crOXFzJI9`2|pn0M*3Jl*Q zOD`4;cPIwxx_apq;a<_F1vySxxoPZsXiPdWdf-KwlB51g5%6YIliKBNdmY+N4PG zP##m|{0&;N<6GzYXb0=y@jBnZWcO=<+ia6E2_ho@s#JPlR?R)ONV2mC3p$g2J4%zzPP^ME^-(FxS$|+mgpIgE3`@`;T;y&8K*>AW0B)zWUIccI zW|3XB3kptv-$Tx}wssmb0QK#CEbp$aiPKa^bc@7L?%n{?3uW^2{`1<(SZ3E*&`(vd zSeC|M?MT}91RAJaC3tpkh2q1(bG#4az9Xd&O8IDr$I%Nti(p~3y=iipLT7A~h{7NZ z$7H@9xaJoVWDN=D=A}^&W)%w~=TZ?y-h=_X{ZLQE#P>SbkHZhgu>%kDIfs|}rQrhY zi;d?WZ_I*uvHt<1eP`qi0f4!IJPQWYQf1}bRbv)0tV%a8_Uq{t^@yj2wo;#^I9G4N zYZjP%wfSNu0J|$$UAa*M=})YFd8lapbe{mMtKAQH9%l1>_62Lt*Qdo2kwEX6KuB9$ zU))gdK2M9?3hj8HOBp-z8y0Do_q4;e@71?%I6}kq@hf@3rA=uc`+l-o>{weoG&STA zoY~}>b~S|A(9S>03Slx-eo0Z$|3{vIExuZn^#0M*r_T<&dVFx**Kc5Cf1x$4u47z0 z*vr$f7#<5P=G7am-b2;|;6RP;v$Da?I*~$oYn#nA>&_G2GHCEKl%Fos+E45M#Jz+!v$;6C zSbfbvoQ4;c5hs5afs)GE_slUO#(CvUI(plQjK#?gqG)c%&x5uJK4)!i-|oqUnGxm_ z!UxxHM=rM#6SU|TbRED;w_2y|;GDTeJ9cB>GRbCKO%`+MkA5iYRs{xbp>I__!zUy~ zuKbp5h9M6!83?V`;swwY^zW%ssh)vtWcDJv?Tvp(h76f;vY1d3?2wd#LOq3I5b1cS{{)v+u-Bn)t?EA5ln5DBsaG>pSg@$ z+fU_age-zb$os2HElJ~BPu9~u(U4L%f!iS(;6g$=-`f3QccyN-^sRId`H}0**zhWbw~jN(As^+w{M*)yd6QAoYO7xsZapUomk3Wm3Dp3kSiCASdNNtEf6-l^wOvhmhrqkBgr~ud z@zqH5c8S)8!?x>HNejg21}o_83|7*nuu!Y@21x#d>pAnT$CLz9&F+Uj$cYK?Di#1` zpGCxBZmd23z{&h86g33Asa*OLxyz{s49wlykRr{o=9oo{=WIcn4-U0qhqNpx9TA!X zz(92@A1+>bQHP5J%^Z}Te`tPfgwWs$lJG4_JRj|b% zoC*Le_9zDRt0Mv^lDACVph5_607HUYbSd3KArnqwb2_<^nOwgn_BWy5CoI@%aAh1V#uyMy2N zswC!D87Y=BRR;^Nt*$22rHUM(fN5ReAf zH?1E7wANvCe@PjG?2lT@*wy_}q2Dx5eI3-Q zp{YV3X7Szw`Y!H6^`z4&Q}uDn6;=@VdI=yj3HMmtLv6=TMoG329WhT<80GO_y!#;} z4BY(dLktobO_ekz_s*(A7?`s0CA9OsH#Qe~lSv-;#r+n8ZZE6%-^R}R6Wm4w24E2L z2bE+xOyr)DVpV|L)d0&GkmRpUnzo3juo$h@<-GR7?N^Z)%ZCgHO^$+e<(3Cnc=8qO z_DJcbc3xA}h6jY8Icx|@8U)PhN_7WeEFMwVsoc5I@6xLZ-w41{IB@{L`{g^A`ue~g zC*xMW48&5Dts$!K54S6C*T7;d8aCfnQ2ky%51Lig9Lx9lS}Lw7Dk!dYVq3l0Si(Zn z!l~pb(Q%p1#6tK6_*J1 zz7@%_$vV+k6L?9m^r7WJP^y1wvZH!2K5%<%6NG0UeyxVM%6 z1pr5qkk(&bUQ__M_v9S4B?{g6pofL1ZLk};Q*|xN{@dHVTH|V9^eTOLd5~(weG?wOV2g}i zwO8AEwmkZf5n>c|oc{dHm@@Dnl3?zEvB@Lh&NcbI)F>m4i$0gV-tr(JO%_|E#08FI zeX>cIcZdKlU|;&gSID5?4Ibdxc6Cis5>l7{3FmxAGHomJ8`X8asv3%uWxzngE+ljq z>xYjmBcrv(Obi^me~RGW7#$65%EpHvEs3QK?H>VWpC4i{+|i^V%~MVZ%ePf}d?s$m z=4Ld+iR4Os|x}xY!E^}O%?S%V>K!*Ziboz;7U8S9IyDSvk zodGg!n#$jgxorkZ-OK&^j0=@|IB`~Jn}VkAar!>O=>@&_0gvaANU=eq<%Sa}_F2Cw29MRP zr0!~ZFiaj)ro_xp9I8w+o!;jwCVFoP=`LX>;R^6E()9ON_wAugih|*sJfopWo#s8cOm6UM-0w`?;QxFNc;|_j&gKS{TmP>=SZ}YPRpWb zB3nHOxATQ9Fc>g~_7m_#v@qvkZ!m7AtZGq5$?ZWKk@IY4`;kc+$nyRlfbaq-El9PR zMsxEqy9JdU2(ghvNP;%RSY@xB7*tXcQ@3L(vuD)p0z<2)3h>r1jFg(&j{s8-=`eOJ zwFJ(|yg=B$#*#wLM2Sq%Qk)?FLpyN#Y>TK2wi(YG=)}$4jOVtpKX05O4o_YS>eQtR zqn-B9R7^9c5!ikWG<>se{b`pph-|cwCEq}-H?*;wz3(=AFXJCiwFbquoM}#&PF*XH z472M;BSVqG%Ifs@y}ED|tqddhCYD;FXwfEI+JO++p*ZkX1Oc1Zr?Yz#H*q`xtaY(# zDT>UG_eLsTqN9;hg{2K=kEXO%alKG#NO~88n<;+6*@uERE;!4!MQhi9_+xT?nS139 zetw=jzwJ3#(|>c4QO(gn3)is1N3iS$(<5N7XBo`9jB94Z84~==xB1`$=CMGWoSJX} z6lQp(&q_8c3z5RcDf(}h7OFbtQ-knr|Ikz!u2yjr#t?L{QJ;h7?U8s%wog@QdYNDF z*3*hbP*Ds+6lES77&s@7H-WyRI~XgT8q0*?MCLc>#i7ejh`~R?Rq(-=B0}yNzSr{h z(5R1&k$0d$Q$WP)F7VqXsv!_jFAnX_<9+K^kSD6HHU23VRTzp|S5)`{CL}`^djNjB^SnLT9PAu*mR>W3#NSU>b7tE`g`()U zBj;`tCm;BH8>I1G>?sOGFyz&RIQZz7v1To2NylpB6K%5V%-H>b3?z``{k%C*itz#la7wZaDx5{}c~ zWclss`xJvrx`rBKFEAAX4X&E87Nw{$EYg=v_h--q@UA3F>e4`y(MAe?_l|nK#Pe8h zEDgOxzs-mb!Osz@f`h<|P3%j#n@CZ%qhhIF@KV}{x5}Lw^ReC8lAvG!P?|hwOr*m$ zasD=VhD-0QWbynv%E-oQXat(NI?m`gr#T91ZRqa=crWfz<4%;R{aCi~C3WLVFkJIw zMNiC@OAX*#8Ib^Fj9wRKQnMXI1C^68?De)(Rz!$yRH9?e94kls9V`g3VxQ6+aKc|w zsQNj4vmKn0ED$GdUX}QO3C)C>EOP_i8t>9*IK}O+Jfvx|GQOtX6?1*;GOsVH5kAU{ zKVy$D8l_BEz&Jl6_HrMUP)#2AB*RzF56>5R=qHAQ81Z5@{+yQPUpsFX#T<1U9d#KsE^|&6iB`5;@R}j>d;R`3 zLfwc%9ini(;2f{!XvHkbv5uMFsR}XyotMp*vLA{{fIb!D$*;5s$L7i1+}AkmEVN#} zn`e9Nhakjx(34gf;HiPe4Ay@!ldlM)AM!xjgjj2utvDd3Fuo45la7 z!yIME0|SQE2--GsvExzL59WzWy}e5AQ@J{GZD{AKSm&$YcIj=5HXVQO)hJ|^rZb_` zBx5Ak)1EUQ!nqS~OjNI?-XTqgqi;08?qGXfQz^K}>(@D%j~*GYL|zaF|0G|h;oF%W z0`ib(KxMph)8-yxKzM~kX$MzmI^AEvXsgSst16vvvUMhry6`KSjR?3cVMWt9qDykf zCF%s-TGzLj5nrWs6rLM^CC^Yyn5Amf@IM+OpJRG6?Xon=&1?!M+Ex?GC)DIc4cZ3e zy?~rQ;-9=7jOXd9C{xLtUWXM;?d&rn{dJMHo;{JC)UsNN4jSo+<=avd%P6&3`3FaX z^w4yCexg?Ay!jR~zw^6F(gZA-b)QGTa`#Gi`3p zUeSct#;xID_dJ%Ta$$&0ZYPP9Ho8I9#@lsrwH?Z)rz?}H7)OzYSAxiw46a}@vWbS8 zoU%}Umz$&gXsA6bssi3W#Aom+)3He2N~AwnCFKi+H```bUT0^kDW%JI6K)ClaNulh z{F9ZTrWm=9fv}oDc~uS?0RY2W@)TlsCUz;$r8idbpK7-X z_9RJrxBvYKvlAT1!607;0BgES#HfJkow zQUW5qB(VTNs)%$*BmqJRgiu0ByW#upy7#yH58V0TJ?~m)opsJWXFq#CyTshEvywO< ze*gdgNL;&WVGjW86$b#skpJ2znpv4KDi;0r2VT7w3;;-e+5N=G@OKXY0LA)i7ME{_ zW-d*JCFX2kM%aC<3GUxDPS4IC`c=UL1g^_?G3F6_0%V!=_UjwtsKsQ%68hU~NvFF{ zMus?*(GMY3p}}c318=WIo2Nfocr3sFhBb(6sG`zfxUc!drJ<_t6f$dh4ej_epr#3N z1*Y5QR5nRvjWQ1E&vA#=&^hq)BEf#2Nr8v~0Dn9=ERy+>sw4pL)B+@$k1-YvM}kDd zNt$T5+A3O<7`+z&I3e}V!hfFU{|_iYv{&LtA*S(rZNa@t{CY_yB8yLwJ`ibFln8-+ zT04KMbFjkO(1#Jwa-R=&*l__k91Q{lzWGe-GrbV{WwxiXH;W3eYfBc!ui@yN@q+hk zJ{^Z&4+E4N(f~hiWZ8MF&3;z!I)#4fKR(;1X}FO3Fo#$;7yuiYuW7%KCEEcx6KQtt z11`-zuSQdW$8oP(wQ($5-(WSBZWb0INkJ8-r>E-K&nDwjAi$@CmLLG=vU-NL%mFXq zgRS{ua7r3`v@E@6s0dLUe5bfB@Lp|kWwU)n5z7nK)jsCdq;aDIu6xEZNZ6pzW7)0S ztrLI>r7gC(KXO(X+qBhQrXU7v;U$$n6YXMnR8|3S`QH2h;O>)Fv5yMh>Y`3jTr`fu zM>m(gDlacA6W&&q$=B|f{aCDhlatZo^fOfF<+1$RXP!8gxv~~YIW1-V<-&f3nNUW;{_IQ}O&c+)@)Cx}4Agq&AMWu~<7fKRqP*W> z=NtnXcIsH%k13{WNyC#hQ}YAs=3>TsMXzzhj_`6%_xqRQj3ZAqqq zj6or|^x`G?cqi%owXz`D#^1S(*xDI^iE=aNc>y+LRUPorTI8O+O01OSNtj&h*3sHA zGaId5D;4aXn~Z6s+T4RAfn7-^WVP&?@#wxUn^Coq2@ky>94Ye)s@1$(Sh`h#Q^YplGx9e zM?})5;epJZ*7R5X&g$x$R|;;&P%ye=X94r*O*yL4&3VYSaw1HnV-w`?R{_H44d_ z?&#PVS65fhpA4{SuGiHea8o~=4b^l1V^R;!KY#z8MmdT`lntL^(KShd&~7|Q!+ImK zfOyfglE+(Jn|RFXm8le|sp1ya9*`-y`z-7ghTG0^Hsu*LJtL#{)K9!O0@#{C421fH z&Kaqe5~QlRc7mwnX4R%}puj0lRF zPW3IJ7f?jx7a6Ev8elxR3x%KkD8$C`rY>Zv<{*v9yxl}5jg&uJTXR4!&I%LTF8A$M z+)SCrsAP0I&Ytp^&Va=T7(&jk@4p)mTLnx~`?aH-@veNWO?5Dg$q7 zlDPd=NCJJKj67>McT&vQWB0J!{^7=8{z`frXBqPl`1~qVYKMd54|p>c4<&?xZ+Z!7 zw9iw{N)L2(brJT*-om92&?C`F0>791K`d@g&Unit(mq+*tKdSlk+fBB*ko{T zpFS|H*4IjRjNmn#HJTc+W6>`8F-=Vp;LvELG`6<9TtUG>ZS7j*_g&+Jl^Etg5>DE3 zGHQ)kWw_nto1a1ga;9B=uC^4g@H7cUBtV3!Vw`;`Q~9b{%;BTja>fH2?adRCpAO z`?&eIE^IrmCLlNbo9e7x&6&x55q% zU_80$qou?vuujn!WYBG4TS-i4ROcsgzoGmA(<8cmywpdopI4*$W6+@O&=1tuy-)90 zi-fm#W=$e58|Dy$5CP$%EdM7PZDW=Ed&wLEsNZOH%*ba=kN;ZJV~3|HIZ~FJ^f{Me z1WFZt)g^zd#$s0PJV)re-#j3+?a`g)eBn4XdWu0j*8k+A_LU{iny4Xiwx*$FRh4Yd@~63T z)%&@(aP5UcdXgTm8)jK9=X@X*0d@~ib=vDoPs4KNL+3H3pqcHGB+9eKSMkMJ@tPvb zDLpB=Ql1rS(%`jiAN5w5c8eem*k8(NpQFO#KX+521qPKEk070PD(04rOL$laDI!d%t38%C9&tS1>YdW|E7vhPg;FW^g9`j+A z+u?uGZC|t%vRl-Zse>8q2yIj#Ak#qvaDy{46!16GA4zc4I<3)Zf=fnR6$zsOwj5R= zms=39{w|#2oY*QdM1e2dGLa(jzD9qlmD(8luCxyu=x9UbdsWf7SV$2S8z*Ynx%SamX zH4x+eEvTbX{*a0A!J(EFBzM!$_>vNqg?`NA&e@^qvj-a+-x)bavHo_sh}K)>j7DyK&n^jd z_cQOR#szjR-+T;HH($G-F0DRVB`AqXHH3g~l*uhs zP~L!rOY?d~NvSPHr*uQTY#gjSCL?`mvB*@9KC~JH-8aClH5rgH8C3=rx)TZP?|ADO z`;dqC6JaLCHbL{L+&Wgm^_?cV8Ur6UKimK1RJ^7F^}{~#k8&!zXtN6$s(BqYlbd2I z7{+W=&3#20_d>9Ds+BhKszPZn;pJTlGik3$guke3kd?`Cjt&q`p-O4Emmb8vQ38o1wk+-Z4}No?~`)B!0gS8O6q zQ~7@-NJA}$HT`W{fdXf#@wEARA+a;EU7Lm-?mu&_-VDvU^J2?97J69G3+u#phCcJl zqG$y7qQLjvu{b=UrGzBEiQZb>+U~<@W}^dO6M<9SXlA}d(0!<*llhGv$_mX)`@%Ng ztgxW-2S@R%Pe;u$a==H0+2zaCOO78jLc!P%+jY+ArdLc7OfIl3Mic;`)y z8t9j&DZ93xW_JHV1_@c8fY|JPb*_2myV-PSHbX5u%8hG@(Ub1O_}aMfvfm9c3cwi+ zR5mk?{qs7VJql-{m!5=0*Eq4^M0!t9SLC7x3@;__R_|Q{4vIh;M9@B0ZN+=J#da9E z=`7`pGphMo`(9LsZpp|b6sb!qqR{i&cmf^fN-2~A*nvg#&^cW{=7;%X6P*{x!&bR< zc#bpB+t_8SYQGqALCc1`Eb?^(tnJIeA{w%eb?yG)L36<&`Z$2McF@uTF1^nx zoznL}Y^8tAY9QsA=>!ps&>FgRJ2|#3l+~2C)yU+_Y#<(1`jV@fJcSLjllH&7-w{Pw zcitV2#1y*EH@J=KI2IuL)^^#=y8>*QfoBP!sAk2izkXVbysV?_ z2qDttK>)90kq)(_KFpvE=TPPF zy#BXQ?U!fi_hdtk$LWd824~RNw^s!Q{gy@GfTOtiH#8pj_s2MuWf74Vk!BC+)^u=o zl~|ysh(zwZyQRU)p#`~}?|}b=J2u&$0DZkwL+d(P&7NV;tGO98pc_mpK=aUg2}RcL zQRtg%XkR(aBB01(uE$hnearZ7oZe>E|t*16H?m995Mas|L3_V_u3s9k?!X`SIF~XOqy7CmSuo2ee#! zjrQxcPRvpRN!)Y4Be2sl9{#m|8(u(}Y+HIGNi9YKq@bo?RV?*HI=;a#MB|0#OikWc zRS0s!qTnW0RhjxfTRTL4&T-Tn-0aKxp`tp=VL74S&U~I>{+dF+>;1mQ{ILn~_wyM& zE1K8EAs>O6)u#xaQ%{z)N^h4wa_N%Y1Mo@|X&s+lXquHiw)xe*#N|wx_0I;1{WH9%e=0Ug7BwR3_h z{Mo2=BD+(@AXRd-_IzBV?~p{>VwO{cpoh0$WtjaCxaX<9D3339AEq=2*ikI%c1Op` zTzknpfeRPj%SKbOEB9}i35*BKSz2dOX?qxMvbIb)j<7L%AF8l$`ndZzB`qXH z<%~G5s(-olD%7zBxiwOMY^GjcLb5#OYY7`aOflwceGmtHl>2woZeJ4OOCWApG~P{c z;BIk_7=QDtKJJKDe3?P1(ODiRg7eEBcK|ioD^0kMyN$-#uhxd!{%8aptkiLLbNbd| za4`D05-h!oC?Fc_ts<6XDy4>>+Ya+$@FyDKf_TROAV zIqiZD_MBRAj*X41dFHexyL&G)2?<>5vI!Ww)|Am(#g_YcMii0u?n!B+`6mrxjMg`S zt{1`JTBaz8+H<>llUH1yrOc9L##6EPkxb`u?O)A^!pjjY)~B^f)t47}4Rr zzqB}aq34T?YW;YS9Sqr`85bQ{Fkzn@bs0g_JKx9>&N8rnnv4HDw43riD}yU#pw?Gd2o)Z-AY^(gi)E$IuR ze_@B2?#xc=mh~mjyTO>UA<5RO(o#pQ8VfbRecpx(OYQD-D7+`$e zh5tzcOPHZ3D#NOmGy80yPz&xaL&^^@iMF#DdYQHh@Wwzb2%6Fq8bOrq>(+Uzeq`yc zUn?bC%`;I=BcwKQkRS3*Zgy{)bo`l{ zt*B20;YlvB!maM>Y?7N26lxHDr~0@IaHH+`bCasjzeEabb3X*cwNePpMzH2bUtHB8 zPJrHXyCs*#+4d^1sH}h-PM_*`E-q3p81!kKirbR_6>JLP?j6!nI!o@u-99b-{rC&= zW)Fy$oX;C7&;mgoQ<~;_i4e@U!8p5Q>l9gePy*&C3X+n;*q?O_peZt}%t%8wlAsO` zjE4d@fY^Ko=jb*j-6GpPkpzO{KQ0K?hv9v(o+ni8s>5XtniF(;Gl* zA6jiAPr91)r(kSsmI-QLQcv;p1Hivs_q~Pm#bN)5=}#uq&QsGla`G+%rY8D9)(PBB ze=8s}eS&oLy!$(sgnEe(GBC5*u)@vgSTNoJ)G&5}yM41vx7W@t9?Kj925c4FdaU~I z6!)iA9s5OpvniI^TYO=Oj=6yLFF|j~P5#Jl-mQ^T+LAW!iImF_%n3#=f$3fqN86QAfmx>1>oZ&DmQt4nL zLcQxRJMJJV=0K#olVhUqIfbhCXPe*r+BTfgvs1?`+r*EaT^~8_cuZc?@GQViQv}vu ziWjPKHJ4&D1}q}F1h|npe?d#QKl=ldu8l`obG zxmz}QWsF5f*Fo<0&IH)eb@xkICdfJ_F*fM z=Lbe|&Y<;a$L9Rex$=ASYk<4{B9*BaQr-&`H8GNa_ecI|^8C{S`=|5wfA>4T3irzO Y1Qfm9e?CIg7X@6qVrNld_Q#+91)iOieE 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 +image/svg+xml + + + + +PG2PG2 diff --git a/src/ClientUI/ServiceClient.cs b/src/ClientUI/ServiceClient.cs new file mode 100644 index 000000000..55bce41f4 --- /dev/null +++ b/src/ClientUI/ServiceClient.cs @@ -0,0 +1,354 @@ +using Api.Contract; +using Api.Service; +using Api.Service.Helpers; +using Api.Service.Mappers; +using Api.Service.Validators; +using Api.Services; +using Common; +using Common.Database; +using Common.Dto.Peloton; +using Common.Dto; +using Common.Service; +using Flurl.Http; +using Garmin.Auth; +using Peloton; +using Peloton.AnnualChallenge; +using Peloton.Dto; +using SharedUI; +using Sync; + +namespace ClientUI; + +public class ServiceClient : IApiClient +{ + private readonly ISystemInfoService _systemInfoService; + private readonly ISettingsService _settingsService; + private readonly ISettingsUpdaterService _settingsUpdaterService; + private readonly IAnnualChallengeService _annualChallengeService; + private readonly IPelotonService _pelotonService; + private readonly IGarminAuthenticationService _garminAuthService; + private readonly ISyncService _syncService; + private readonly ISyncStatusDb _syncStatusDb; + + public ServiceClient(ISystemInfoService systemInfoService, ISettingsService settingsService, IAnnualChallengeService annualChallengeService, ISettingsUpdaterService settingsUpdaterService, IPelotonService pelotonService, IGarminAuthenticationService garminAuthService, ISyncService syncService, ISyncStatusDb syncStatusDb) + { + _systemInfoService = systemInfoService; + _settingsService = settingsService; + _annualChallengeService = annualChallengeService; + _settingsUpdaterService = settingsUpdaterService; + _pelotonService = pelotonService; + _garminAuthService = garminAuthService; + _syncService = syncService; + _syncStatusDb = syncStatusDb; + } + + public async Task GetAnnualProgressAsync() + { + var userId = 1; + try + { + var serviceResult = await _annualChallengeService.GetAnnualChallengeProgressAsync(userId); + + if (serviceResult.IsErrored()) + throw new ApiClientException(serviceResult.Error.Message, serviceResult.Error.Exception); + + var data = serviceResult.Result; + var tiers = data.Tiers?.Select(t => t.Map()).ToList(); + + return new ProgressGetResponse() + { + EarnedMinutes = data.EarnedMinutes, + Tiers = tiers ?? new List(), + }; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error ocurred: {e.Message}", e); + } + } + + public async Task GetGarminAuthenticationAsync() + { + var settings = await _settingsService.GetSettingsAsync(); + var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); + + var result = new GarminAuthenticationGetResponse() { IsAuthenticated = auth?.IsValid(settings) ?? false }; + return result; + } + + public async Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetRequest request) + { + if (!request.IsValid(out var result)) + throw new ApiClientException(result); + + PagedPelotonResponse recentWorkouts = null; + + try + { + recentWorkouts = await _pelotonService.GetPelotonWorkoutsAsync(request.PageSize, request.PageIndex); + } + catch (ArgumentException ae) + { + throw new ApiClientException(new ErrorResponse(ae.Message, ae)); + } + catch (PelotonAuthenticationError pe) + { + throw new ApiClientException(new ErrorResponse(pe.Message, pe)); + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + + return new PelotonWorkoutsGetResponse() + { + PageSize = recentWorkouts.Limit, + PageIndex = recentWorkouts.Page, + PageCount = recentWorkouts.Page_Count, + TotalItems = recentWorkouts.Total, + Items = recentWorkouts.data + .OrderByDescending(i => i.Created_At) + .Select(w => new PelotonWorkout(w)) + .ToList() + }; + } + + public async Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetAllRequest request) + { + if (request.SinceDate.IsAfter(DateTime.UtcNow, nameof(request.SinceDate), out var result)) + throw new ApiClientException(result!); + + ICollection workoutsToReturn = new List(); + var completedOnly = request.WorkoutStatusFilter == WorkoutStatus.Completed; + + try + { + var serviceResult = await _pelotonService.GetWorkoutsSinceAsync(request.SinceDate); + + if (serviceResult.IsErrored()) + throw new ApiClientException(new ErrorResponse(serviceResult.Error.Message)); + + foreach (var w in serviceResult.Result) + { + if (completedOnly && w.Status != "COMPLETE") + continue; + + if (request.ExcludeWorkoutTypes.Contains(w.GetWorkoutType())) + continue; + + workoutsToReturn.Add(w); + } + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + + return new PelotonWorkoutsGetAllResponse() + { + SinceDate = request.SinceDate, + Items = workoutsToReturn + .OrderByDescending(i => i.Created_At) + .Select(w => new PelotonWorkout(w)) + .ToList() + }; + } + + public async Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest request) + { + var settings = await _settingsService.GetSettingsAsync(); + + if (!settings.Garmin.TwoStepVerificationEnabled) + throw new ApiClientException(new ErrorResponse("Garmin two step verification is not enabled in Settings.")); + + try + { + await _garminAuthService.CompleteMFAAuthAsync(request.MfaToken); + return; + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + } + + public async Task SettingsGetAsync() + { + try + { + var settings = await _settingsService.GetSettingsAsync(); + + var settingsResponse = new SettingsGetResponse(settings); + settingsResponse.Peloton.Password = null; + settingsResponse.Garmin.Password = null; + + return settingsResponse; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error ocurred: {e.Message}", e); + } + } + + public async Task SettingsAppPostAsync(Common.App appSettings) + { + try + { + var result = await _settingsUpdaterService.UpdateAppSettingsAsync(appSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SettingsFormatPostAsync(Format formatSettings) + { + try + { + var result = await _settingsUpdaterService.UpdateFormatSettingsAsync(formatSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SettingsGarminPostAsync(SettingsGarminPostRequest garminSettings) + { + try + { + var result = await _settingsUpdaterService.UpdateGarminSettingsAsync(garminSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SettingsPelotonPostAsync(SettingsPelotonPostRequest pelotonSettings) + { + try + { + var result = await _settingsUpdaterService.UpdatePelotonSettingsAsync(pelotonSettings); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } + + public async Task SignInToGarminAsync() + { + var settings = await _settingsService.GetSettingsAsync(); + + if (settings.Garmin.Password.CheckIsNullOrEmpty("Garmin Password", out var result)) throw new ApiClientException(result); + if (settings.Garmin.Email.CheckIsNullOrEmpty("Garmin Email", out result)) throw new ApiClientException(result); + + try + { + if (!settings.Garmin.TwoStepVerificationEnabled) + { + await _garminAuthService.RefreshGarminAuthenticationAsync(); + return new FlurlResponse(new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.Created }); + } + else + { + var auth = await _garminAuthService.RefreshGarminAuthenticationAsync(); + + if (auth.AuthStage == Common.Stateful.AuthStage.NeedMfaToken) + return new FlurlResponse(new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.Accepted }); + + return new FlurlResponse(new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.Created }); + } + } + catch (GarminAuthenticationError gae) when (gae.Code == Code.UnexpectedMfa) + { + throw new ApiClientException(new ErrorResponse("It looks like your account is protected by two step verification. Please enable the Two Step verification setting.", ErrorCode.UnexpectedGarminMFA, gae)); + } + catch (GarminAuthenticationError gae) when (gae.Code == Code.InvalidCredentials) + { + throw new ApiClientException(new ErrorResponse("Garmin authentication failed. Invalid Garmin credentials.", ErrorCode.InvalidGarminCredentials, gae)); + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + } + + public async Task SyncGetAsync() + { + var syncTimeTask = _syncStatusDb.GetSyncStatusAsync(); + var settingsTask = _settingsService.GetSettingsAsync(); + + await Task.WhenAll(syncTimeTask, settingsTask); + + var syncTime = await syncTimeTask; + var settings = await settingsTask; + + return new SyncGetResponse() + { + SyncEnabled = settings.App.EnablePolling, + SyncStatus = syncTime.SyncStatus, + LastSuccessfulSyncTime = syncTime.LastSuccessfulSyncTime, + LastSyncTime = syncTime.LastSyncTime, + NextSyncTime = syncTime.NextSyncTime + }; + } + + public async Task SyncPostAsync(SyncPostRequest syncPostRequest) + { + var settings = await _settingsService.GetSettingsAsync(); + var auth = _settingsService.GetGarminAuthentication(settings.Garmin.Email); + + var (isValid, result) = syncPostRequest.IsValid(settings, auth); + if (!isValid) + throw new ApiClientException(result); + + SyncResult syncResult = new(); + try + { + syncResult = await _syncService.SyncAsync(syncPostRequest.WorkoutIds, exclude: null); + } + catch (Exception e) + { + throw new ApiClientException(new ErrorResponse($"Unexpected error occurred: {e.Message}", e)); + } + + return new SyncPostResponse() + { + SyncSuccess = syncResult.SyncSuccess, + PelotonDownloadSuccess = syncResult.PelotonDownloadSuccess, + ConverToFitSuccess = syncResult.ConversionSuccess, + UploadToGarminSuccess = syncResult.UploadToGarminSuccess, + Errors = syncResult.Errors.Select(e => new ErrorResponse(e.Message)).ToList() + }; + } + + public async Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest) + { + var result = await _systemInfoService.GetAsync(systemInfoGetRequest); + result.Api = null; + return result; + } +} diff --git a/src/ClientUI/_Imports.razor b/src/ClientUI/_Imports.razor new file mode 100644 index 000000000..873c1ed8e --- /dev/null +++ b/src/ClientUI/_Imports.razor @@ -0,0 +1,7 @@ +@using System.Net.Http +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using ClientUI diff --git a/src/ClientUI/wwwroot/index.html b/src/ClientUI/wwwroot/index.html new file mode 100644 index 000000000..1c9f98664 --- /dev/null +++ b/src/ClientUI/wwwroot/index.html @@ -0,0 +1,31 @@ + + + + + + ClientUI + + + + + + + +

+ +
Loading...
+ +
+ An unhandled error has occurred. + Reload + 🗙 +
+ + + + + + + + + \ No newline at end of file diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj index 2410023cc..bb2496bfc 100644 --- a/src/Common/Common.csproj +++ b/src/Common/Common.csproj @@ -17,8 +17,15 @@ - - + + + + + + + + + diff --git a/src/Common/Configuration.cs b/src/Common/Configuration.cs index 6d7395463..5f75d9a7b 100644 --- a/src/Common/Configuration.cs +++ b/src/Common/Configuration.cs @@ -1,8 +1,7 @@ using Common.Dto; +using Common.Stateful; using Microsoft.Extensions.Configuration; -using System; using System.Collections.Generic; -using System.ComponentModel; using System.IO; namespace Common; @@ -68,31 +67,23 @@ public class App { public App() { - OutputDirectory = Path.Join(Environment.CurrentDirectory, "output"); - WorkingDirectory = Path.Join(Environment.CurrentDirectory, "working"); + OutputDirectory = Path.Join(Statics.DefaultDataDirectory, "output"); + WorkingDirectory = Path.Join(Statics.DefaultTempDirectory, "working"); CheckForUpdates = true; EnablePolling = false; PollingIntervalSeconds = 86400; // 1 day } - [DisplayName("Output Directory")] - [Description("Where downloaded and converted files should be saved to.")] public string OutputDirectory { get; set; } - [DisplayName("Working Directory")] - [Description("The directory where P2G can work. When running, P2G will create and delete files and needs a dedicated directory to do that.")] public string WorkingDirectory { get; set; } - [DisplayName("Enable Polling")] - [Description("Enabled if you wish P2G to run continuously and poll Peloton for new workouts.")] public bool EnablePolling { get; set; } - [DisplayName("Polling Interval in Seconds")] - [Description("The polling interval in seconds determines how frequently P2G should check for new workouts. Be warned, that setting this to a frequency of hourly or less may get you flagged by Peloton as a bad actor and they may reset your password.")] public int PollingIntervalSeconds { get; set; } public bool CheckForUpdates { get; set; } - public static string DataDirectory = Path.GetFullPath(Path.Join(Environment.CurrentDirectory, "data")); + public static string DataDirectory = Path.GetFullPath(Path.Join(Statics.DefaultDataDirectory, "data")); public string FailedDirectory => Path.GetFullPath(Path.Join(OutputDirectory, "failed")); public string DownloadDirectory => Path.GetFullPath(Path.Join(WorkingDirectory, "downloaded")); public string UploadDirectory => Path.GetFullPath(Path.Join(WorkingDirectory, "upload")); @@ -109,26 +100,12 @@ public Format() Strength= new Strength(); } - [DisplayName("FIT")] - [Description("Enabled indicates you wish downloaded workouts to be converted to FIT")] public bool Fit { get; set; } - [DisplayName("JSON")] - [Description("Enabled indicates you wish downloaded workouts to be converted to JSON")] public bool Json { get; set; } - [DisplayName("TCX")] - [Description("Enabled indicates you wish downloaded workouts to be converted to TCX.")] public bool Tcx { get; set; } - [DisplayName("Save a local copy")] - [Description("Save any converted workouts to your specified Output Directory")] public bool SaveLocalCopy { get; set; } - [DisplayName("Include Time in HR Zones")] - [Description("Only use this if you are unable to configure your Max HR on Garmin Connect. When set to True, P2G will attempt to capture the time spent in each HR Zone per the data returned by Peloton.")] public bool IncludeTimeInHRZones { get; set; } - [DisplayName("Include Time in Power Zones")] - [Description("Only use this if you are unable to configure your FTP and Power Zones on Garmin Connect. When set to True, P2G will attempt to capture the time spent in each Power Zone per the data returned by Peloton.")] public bool IncludeTimeInPowerZones { get; set; } - [DisplayName("Device Info Path")] - [Description("The path to your deviceInfo.xml file.")] public string DeviceInfoPath { get; set; } public Cycling Cycling { get; set; } public Running Running { get; set; } diff --git a/src/Common/Constants.cs b/src/Common/Constants.cs index 4459dc7ac..daf618902 100644 --- a/src/Common/Constants.cs +++ b/src/Common/Constants.cs @@ -7,6 +7,7 @@ public static class Constants public const string ConsoleAppName = "p2g_console"; public const string ApiName = "p2g_api"; public const string WebUIName = "p2g_webui"; + public const string ClientUIName = "p2g_clientui"; public const string AppVersion = "4.0.0-rc"; } diff --git a/src/Common/Dto/Api/IError.cs b/src/Common/Dto/Api/IError.cs deleted file mode 100644 index 9f162e81d..000000000 --- a/src/Common/Dto/Api/IError.cs +++ /dev/null @@ -1,34 +0,0 @@ -namespace Common.Dto.Api -{ - public interface IErrorResponse - { - public string Message { get; set; } - public ErrorCode Code { get; set; } - } - - public class ErrorResponse : IErrorResponse - { - public string Message { get; set; } - public ErrorCode Code { get; set; } - - public ErrorResponse() { } - - public ErrorResponse(string message) - { - Message = message; - } - - public ErrorResponse(string message, ErrorCode code) - { - Message = message; - Code = code; - } - } - - public enum ErrorCode : ushort - { - None = 0, - - NeedToInitGarminMFAAuth = 100, - } -} diff --git a/src/Common/Dto/ServiceResult.cs b/src/Common/Dto/ServiceResult.cs index 211c60d14..fd0f59da0 100644 --- a/src/Common/Dto/ServiceResult.cs +++ b/src/Common/Dto/ServiceResult.cs @@ -1,5 +1,4 @@ -using Common.Dto.Api; -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; @@ -31,28 +30,4 @@ public class ServiceError : IServiceError public Exception Exception { get; init; } public string Message { get; init; } public bool IsServerException { get; init; } -} - -public static class ServiceResultExtensions -{ - public static bool IsErrored(this IServiceResult serviceResult) => !serviceResult.Successful; - - public static ActionResult GetResultForError(this IServiceResult serviceResult) - { - if (serviceResult.Error is null) - return new ObjectResult(new ErrorResponse($"Unexpected error occurred.")) - { - StatusCode = StatusCodes.Status500InternalServerError - }; - - if (serviceResult.Error.IsServerException) - { - return new ObjectResult(new ErrorResponse(serviceResult.Error.Message)) - { - StatusCode = StatusCodes.Status500InternalServerError - }; - } - - return new BadRequestObjectResult(new ErrorResponse(serviceResult.Error.Message)); - } } \ No newline at end of file diff --git a/src/Common/FileHandling.cs b/src/Common/FileHandling.cs index abc7ca2cf..e4b05cf95 100644 --- a/src/Common/FileHandling.cs +++ b/src/Common/FileHandling.cs @@ -5,183 +5,182 @@ using System.Text.Json; using System.Xml.Serialization; -namespace Common +namespace Common; + +public interface IFileHandling { - public interface IFileHandling - { - void MkDirIfNotExists(string path); - bool DirExists(string path); - bool FileExists(string path); - string[] GetFiles(string path); - - T DeserializeJson(string file); - bool TryDeserializeXml(string file, out T result) where T : new(); - void MoveFailedFile(string fromPath, string toPath); - void Copy(string from, string to, bool overwrite); - bool WriteToFile(string path, string content); - void Cleanup(string dir); - } - - public class IOWrapper : IFileHandling - { - private static readonly ILogger _logger = LogContext.ForClass(); + void MkDirIfNotExists(string path); + bool DirExists(string path); + bool FileExists(string path); + string[] GetFiles(string path); + + T DeserializeJson(string file); + bool TryDeserializeXml(string file, out T result) where T : new(); + void MoveFailedFile(string fromPath, string toPath); + void Copy(string from, string to, bool overwrite); + bool WriteToFile(string path, string content); + void Cleanup(string dir); +} - public void MkDirIfNotExists(string path) - { - using var trace1 = Tracing.Trace(nameof(MkDirIfNotExists), "io") - .WithTag("path", path); - if (!DirExists(path)) - { - using var trace2 = Tracing.Trace("CreateDirectory", "io") - .WithTag("path", path); - _logger.Debug("Creating directory {@Directory}", path); - Directory.CreateDirectory(path); - } - } +public class IOWrapper : IFileHandling +{ + private static readonly ILogger _logger = LogContext.ForClass(); - public bool DirExists(string path) + public void MkDirIfNotExists(string path) + { + using var trace1 = Tracing.Trace(nameof(MkDirIfNotExists), "io") + .WithTag("path", path); + if (!DirExists(path)) { - using var trace1 = Tracing.Trace(nameof(DirExists), "io") + using var trace2 = Tracing.Trace("CreateDirectory", "io") .WithTag("path", path); - return Directory.Exists(path); + _logger.Debug("Creating directory {@Directory}", path); + Directory.CreateDirectory(path); } + } - public bool FileExists(string path) - { - using var trace1 = Tracing.Trace(nameof(FileExists), "io") - .WithTag("path", path); - var p = Path.GetFullPath(path); - return File.Exists(p); - } + public bool DirExists(string path) + { + using var trace1 = Tracing.Trace(nameof(DirExists), "io") + .WithTag("path", path); + return Directory.Exists(path); + } - public string[] GetFiles(string path) - { - using var trace1 = Tracing.Trace(nameof(GetFiles), "io") - .WithTag("path", path); - var files = Directory.GetFiles(path); + public bool FileExists(string path) + { + using var trace1 = Tracing.Trace(nameof(FileExists), "io") + .WithTag("path", path); + var p = Path.GetFullPath(path); + return File.Exists(p); + } - trace1?.AddTag("numFiles", files.Length); + public string[] GetFiles(string path) + { + using var trace1 = Tracing.Trace(nameof(GetFiles), "io") + .WithTag("path", path); + var files = Directory.GetFiles(path); - return files; - } + trace1?.AddTag("numFiles", files.Length); - public T DeserializeJson(string file) - { - using var trace1 = Tracing.Trace(nameof(DeserializeJson), "io") - .WithTag("path", file); + return files; + } - using (var reader = new StreamReader(file)) - { - return JsonSerializer.Deserialize(reader.ReadToEnd(), new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); - } - } + public T DeserializeJson(string file) + { + using var trace1 = Tracing.Trace(nameof(DeserializeJson), "io") + .WithTag("path", file); - public bool TryDeserializeXml(string file, out T result) where T : new() + using (var reader = new StreamReader(file)) { - result = default; + return JsonSerializer.Deserialize(reader.ReadToEnd(), new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); + } + } + + public bool TryDeserializeXml(string file, out T result) where T : new() + { + result = default; - using var trace = Tracing.Trace(nameof(TryDeserializeXml), "io") - .WithTag("path", file); - if (!File.Exists(file)) return false; + using var trace = Tracing.Trace(nameof(TryDeserializeXml), "io") + .WithTag("path", file); + if (!File.Exists(file)) return false; - XmlSerializer serializer = new XmlSerializer(typeof(T), new XmlRootAttribute("Creator")); - try + XmlSerializer serializer = new XmlSerializer(typeof(T), new XmlRootAttribute("Creator")); + try + { + using (Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read)) { - using (Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read)) + try { - try - { - result = (T)serializer.Deserialize(stream); - return true; - } - catch (Exception e) - { - _logger.Error(e, "Failed to deserialize {@File} from xml to type {@Type}.", file, typeof(T)); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - return false; - } + result = (T)serializer.Deserialize(stream); + return true; + } + catch (Exception e) + { + _logger.Error(e, "Failed to deserialize {@File} from xml to type {@Type}.", file, typeof(T)); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); + return false; } - } - catch (Exception e) - { - _logger.Error(e, "Failed to read {@file}.", file); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - return false; } + } + catch (Exception e) + { + _logger.Error(e, "Failed to read {@file}.", file); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); + return false; + } } - public void MoveFailedFile(string fromPath, string toPath) + public void MoveFailedFile(string fromPath, string toPath) + { + using var trace = Tracing.Trace(nameof(MoveFailedFile), "io") + .WithTag("path.from", fromPath) + .WithTag("path.to", toPath); + try { - using var trace = Tracing.Trace(nameof(MoveFailedFile), "io") - .WithTag("path.from", fromPath) - .WithTag("path.to", toPath); - try - { - MkDirIfNotExists(toPath); - toPath = Path.Join(toPath, Path.GetFileName(fromPath)); - _logger.Debug("Moving failed file from {@FromPath} to {@ToPath}", fromPath, toPath); - File.Copy(fromPath, toPath, overwrite: true); + MkDirIfNotExists(toPath); + toPath = Path.Join(toPath, Path.GetFileName(fromPath)); + _logger.Debug("Moving failed file from {@FromPath} to {@ToPath}", fromPath, toPath); + File.Copy(fromPath, toPath, overwrite: true); - } - catch (Exception e) - { - _logger.Error(e, "Failed to move file from {@FromPath} to {@ToPath}", fromPath, toPath); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - } } - - public void Copy(string from, string to, bool overwrite) + catch (Exception e) { - using var trace1 = Tracing.Trace(nameof(Copy), "io") - .WithTag("path.from", from) - .WithTag("path.to", to) - .WithTag("overwrite", overwrite.ToString()); - File.Copy(from, to, overwrite); + _logger.Error(e, "Failed to move file from {@FromPath} to {@ToPath}", fromPath, toPath); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); } + } - public bool WriteToFile(string path, string content) + public void Copy(string from, string to, bool overwrite) + { + using var trace1 = Tracing.Trace(nameof(Copy), "io") + .WithTag("path.from", from) + .WithTag("path.to", to) + .WithTag("overwrite", overwrite.ToString()); + File.Copy(from, to, overwrite); + } + + public bool WriteToFile(string path, string content) + { + using var trace = Tracing.Trace(nameof(WriteToFile), "io") + .WithTag("path", path); + try { - using var trace = Tracing.Trace(nameof(WriteToFile), "io") - .WithTag("path", path); - try - { - File.WriteAllText(path, content); - return true; - } - catch (Exception e) - { - _logger.Error(e, "Failed to write content to file {@Path}", path); - _logger.Verbose("Failed content: {@Content}", content); - trace?.AddTag("exception.message", e.Message); - trace?.AddTag("exception.stacktrace", e.StackTrace); - return false; - } + File.WriteAllText(path, content); + return true; + } + catch (Exception e) + { + _logger.Error(e, "Failed to write content to file {@Path}", path); + _logger.Verbose("Failed content: {@Content}", content); + trace?.AddTag("exception.message", e.Message); + trace?.AddTag("exception.stacktrace", e.StackTrace); + return false; } + } - public void Cleanup(string dir) - { - using var trace = Tracing.Trace(nameof(Cleanup), "io") - .WithTag("path", dir); - if (!DirExists(dir)) - return; + public void Cleanup(string dir) + { + using var trace = Tracing.Trace(nameof(Cleanup), "io") + .WithTag("path", dir); + if (!DirExists(dir)) + return; - using var trace2 = Tracing.Trace("DeleteDir", "io") - .WithTag("path", dir); + using var trace2 = Tracing.Trace("DeleteDir", "io") + .WithTag("path", dir); - try - { - _logger.Debug("Deleting directory: {@Directory}", dir); - Directory.Delete(dir, recursive: true); - } - catch (Exception e) - { - _logger.Error(e, "Failed to clean up directory: {@Directory}", dir); - trace2?.AddTag("exception.message", e.Message); - trace2?.AddTag("exception.stacktrace", e.StackTrace); - } + try + { + _logger.Debug("Deleting directory: {@Directory}", dir); + Directory.Delete(dir, recursive: true); + } + catch (Exception e) + { + _logger.Error(e, "Failed to clean up directory: {@Directory}", dir); + trace2?.AddTag("exception.message", e.Message); + trace2?.AddTag("exception.stacktrace", e.StackTrace); } } } diff --git a/src/Common/Helpers/Guard.cs b/src/Common/Helpers/Guard.cs deleted file mode 100644 index 8fb009dea..000000000 --- a/src/Common/Helpers/Guard.cs +++ /dev/null @@ -1,127 +0,0 @@ -using Common.Dto.Api; -using Microsoft.AspNetCore.Mvc; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Common.Helpers; - -public static class Guard -{ - public static bool CheckIsNull(this T input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is null) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be null.")); - return true; - } - - return false; - } - - public static bool CheckIsNullOrEmpty(this string input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (string.IsNullOrEmpty(input)) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be null or empty.")); - return true; - } - - return false; - } - - public static bool CheckIsNotNull(this T input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is not null) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be null.")); - return true; - } - - return false; - } - - public static bool CheckIsGreaterThan(this int input, int limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input > limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be greater than {limit}.")); - return true; - } - - return false; - } - - public static bool CheckIsLessThanOrEqualTo(this int input, int limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input <= limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be greater than {limit}.")); - return true; - } - - return false; - } - - public static bool CheckIsLessThan(this int input, int limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input < limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be greater than or equal to {limit}.")); - return true; - } - - return false; - } - - public static bool CheckHasAny(this ICollection input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is not null && input.Any()) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be empty.")); - return true; - } - - return false; - } - - public static bool CheckDoesNotHaveAny(this ICollection input, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input is null || !input.Any()) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must not be empty.")); - return true; - } - - return false; - } - - public static bool IsAfter(this DateTime input, DateTime limit, string name, out ActionResult result, string errorMessage = null) - { - result = null; - - if (input > limit) - { - result = new BadRequestObjectResult(new ErrorResponse(errorMessage ?? $"{name} must be before {limit}.")); - return true; - } - - return false; - } -} diff --git a/src/Common/ObservabilityStartup.cs b/src/Common/ObservabilityStartup.cs new file mode 100644 index 000000000..49ca50f44 --- /dev/null +++ b/src/Common/ObservabilityStartup.cs @@ -0,0 +1,29 @@ +using Common.Http; +using Common.Observe; +using Common.Stateful; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Serilog; +using System.IO; + +namespace Common; + +public static class ObservabilityStartup +{ + public static void Configure(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config, bool hardcodeFileLogging = false) + { + FlurlConfiguration.Configure(config.Observability); + Tracing.EnableWebUITracing(services, config.Observability.Jaeger); + + var loggingConfig = new LoggerConfiguration() + .ReadFrom.Configuration(configManager, sectionName: $"{nameof(Observability)}:Serilog"); + + if (hardcodeFileLogging) + loggingConfig.WriteTo.File(Path.Join(Statics.DefaultOutputDirectory, "log.txt"), rollingInterval: RollingInterval.Day, retainedFileCountLimit: 7); + + Log.Logger = loggingConfig.CreateLogger(); + + + Logging.LogSystemInformation(); + } +} diff --git a/src/Common/Stateful/Statics.cs b/src/Common/Stateful/Statics.cs index 2bc8aadac..a202fb3c1 100644 --- a/src/Common/Stateful/Statics.cs +++ b/src/Common/Stateful/Statics.cs @@ -1,4 +1,6 @@ -namespace Common.Stateful +using System; + +namespace Common.Stateful { public static class Statics { @@ -6,6 +8,10 @@ public static class Statics public static string MetricPrefix = "p2g"; public static string TracingService = "p2g"; + public static string DefaultDataDirectory = Environment.CurrentDirectory; + public static string DefaultTempDirectory = Environment.CurrentDirectory; + public static string DefaultOutputDirectory = Environment.CurrentDirectory; + public static string ConfigPath; } } diff --git a/src/PelotonToGarminConsole/256x256.ico b/src/ConsoleClient/256x256.ico similarity index 100% rename from src/PelotonToGarminConsole/256x256.ico rename to src/ConsoleClient/256x256.ico diff --git a/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj b/src/ConsoleClient/ConsoleClient.csproj similarity index 94% rename from src/PelotonToGarminConsole/PelotonToGarminConsole.csproj rename to src/ConsoleClient/ConsoleClient.csproj index 44a05b92c..f4894afef 100644 --- a/src/PelotonToGarminConsole/PelotonToGarminConsole.csproj +++ b/src/ConsoleClient/ConsoleClient.csproj @@ -3,8 +3,8 @@ Exe net7.0 - PelotonToGarminConsole - PelotonToGarminConsole + ConsoleClient + ConsoleClient win10-x64;osx-x64;linux-x64 https://github.com/philosowaffle/peloton-to-garmin https://github.com/philosowaffle/peloton-to-garmin diff --git a/src/PelotonToGarminConsole/Program.cs b/src/ConsoleClient/Program.cs similarity index 96% rename from src/PelotonToGarminConsole/Program.cs rename to src/ConsoleClient/Program.cs index 6c90ccf5b..b59fcb4fe 100644 --- a/src/PelotonToGarminConsole/Program.cs +++ b/src/ConsoleClient/Program.cs @@ -6,7 +6,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Peloton; -using PelotonToGarminConsole; +using ConsoleClient; using System; using System.IO; using Sync; diff --git a/src/PelotonToGarminConsole/Properties/launchSettings.json b/src/ConsoleClient/Properties/launchSettings.json similarity index 95% rename from src/PelotonToGarminConsole/Properties/launchSettings.json rename to src/ConsoleClient/Properties/launchSettings.json index daeb15bd2..b51da5f65 100644 --- a/src/PelotonToGarminConsole/Properties/launchSettings.json +++ b/src/ConsoleClient/Properties/launchSettings.json @@ -8,7 +8,7 @@ } }, "profiles": { - "PelotonToGarminConsole": { + "ConsoleClient": { "commandName": "Project", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" diff --git a/src/PelotonToGarminConsole/Startup.cs b/src/ConsoleClient/Startup.cs similarity index 96% rename from src/PelotonToGarminConsole/Startup.cs rename to src/ConsoleClient/Startup.cs index a41679a89..785d87c76 100644 --- a/src/PelotonToGarminConsole/Startup.cs +++ b/src/ConsoleClient/Startup.cs @@ -1,188 +1,188 @@ -using Common; -using Common.Observe; -using Common.Service; -using Common.Stateful; -using Core.GitHub; -using Garmin; -using Garmin.Auth; -using Microsoft.Extensions.Hosting; -using Peloton; -using Prometheus; -using Serilog; -using Sync; -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using static Common.Observe.Metrics; -using Metrics = Common.Observe.Metrics; - -namespace PelotonToGarminConsole -{ - internal class Startup : BackgroundService - { - private static readonly ILogger _logger = LogContext.ForClass(); - private static readonly Gauge Health = Prometheus.Metrics.CreateGauge("p2g_health_info", "Health status for P2G."); - private static readonly Gauge NextSyncTime = Prometheus.Metrics.CreateGauge("p2g_next_sync_time", "The next time the sync will run in seconds since epoch."); - - private readonly ISettingsService _settingsService; - private readonly ISyncService _syncService; - private readonly IGitHubReleaseCheckService _githubService; - private readonly IGarminAuthenticationService _garminAuthService; - - public Startup(ISettingsService settingsService, ISyncService syncService, IGitHubReleaseCheckService gitHubService, IGarminAuthenticationService garminAuthService) - { - _settingsService = settingsService; - _syncService = syncService; - _githubService = gitHubService; - - Logging.LogSystemInformation(); - _garminAuthService = garminAuthService; - } - - protected override async Task ExecuteAsync(CancellationToken cancelToken) - { - _logger.Verbose("Begin."); - - var settings = await _settingsService.GetSettingsAsync(); - var appConfig = await _settingsService.GetAppConfigurationAsync(); - - try - { - PelotonService.ValidateConfig(settings.Peloton); - GarminUploader.ValidateConfig(settings); - Metrics.ValidateConfig(appConfig.Observability); - Tracing.ValidateConfig(appConfig.Observability); - - if (settings.App.CheckForUpdates) - { - var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); - if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) - { - _logger.Information("*********************************************"); - _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); - _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); - _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); - _logger.Information("*********************************************"); - - AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); - } - } - } - catch (Exception ex) - { - _logger.Error(ex, "Exception during config validation. Please modify your configuration.local.json and relaunch the application."); - Health.Set(HealthStatus.Dead); - Console.ReadLine(); - Environment.Exit(-1); - } - - Health.Set(HealthStatus.Healthy); - await RunAsync(cancelToken); - } - - private async Task RunAsync(CancellationToken cancelToken) - { - int exitCode = 0; - - var appConfig = await _settingsService.GetAppConfigurationAsync(); - - Log.Information("*********************************************"); - using var metrics = Metrics.EnableMetricsServer(appConfig.Observability.Prometheus); - using var metricsCollector = Metrics.EnableCollector(appConfig.Observability.Prometheus); - using var tracing = Tracing.EnableConsoleTracing(appConfig.Observability.Jaeger); - Log.Information("*********************************************"); - - Tracing.Source = new(Statics.TracingService); - Metrics.CreateAppInfo(); - - var settings = await _settingsService.GetSettingsAsync(); - - try - { - if (settings.Peloton.NumWorkoutsToDownload <= 0) - { - Console.Write("How many workouts to grab? "); - int num = Convert.ToInt32(Console.ReadLine()); - settings.Peloton.NumWorkoutsToDownload = num; - } - - if (settings.App.EnablePolling) - { - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) - { - _logger.Error("Polling cannot be enabled when Garmin TwoStepVerification is enabled."); - _logger.Information("Sync Service stopped."); - return; - } - - while (!cancelToken.IsCancellationRequested) - { - settings = await _settingsService.GetSettingsAsync(); - - if (settings.App.CheckForUpdates) - { - var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); - if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) - { - _logger.Information("*********************************************"); - _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); - _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); - _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); - _logger.Information("*********************************************"); - - AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); - } - } - - var syncResult = await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); - Health.Set(syncResult.SyncSuccess ? HealthStatus.Healthy : HealthStatus.UnHealthy); - - Log.Information("Done"); - Log.Information("Sleeping for {@Seconds} seconds...", settings.App.PollingIntervalSeconds); - - var now = DateTime.UtcNow; - var nextRunTime = now.AddSeconds(settings.App.PollingIntervalSeconds); - NextSyncTime.Set(new DateTimeOffset(nextRunTime).ToUnixTimeSeconds()); - Thread.Sleep(settings.App.PollingIntervalSeconds * 1000); - } - } - else - { - if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) - { - await _garminAuthService.RefreshGarminAuthenticationAsync(); - - Console.WriteLine("Detected Garmin Two Factor Enabled. Please check your email or phone for the Security Passcode sent by Garmin."); - var mfaCode = string.Empty; - var retryCount = 5; - while (retryCount > 0 && string.IsNullOrWhiteSpace(mfaCode)) - { - Console.Write("Enter Code: "); - mfaCode = Console.ReadLine(); - retryCount--; - } - - await _garminAuthService.CompleteMFAAuthAsync(mfaCode); - } - - await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); - } - - _logger.Information("Done."); - } - catch (Exception ex) - { - _logger.Fatal(ex, "Uncaught Exception"); - Health.Set(HealthStatus.Dead); - exitCode = -2; - } - finally - { - _logger.Verbose("Exit."); - Console.ReadLine(); - Environment.Exit(exitCode); - } - } - } -} +using Common; +using Common.Observe; +using Common.Service; +using Common.Stateful; +using Core.GitHub; +using Garmin; +using Garmin.Auth; +using Microsoft.Extensions.Hosting; +using Peloton; +using Prometheus; +using Serilog; +using Sync; +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using static Common.Observe.Metrics; +using Metrics = Common.Observe.Metrics; + +namespace ConsoleClient +{ + internal class Startup : BackgroundService + { + private static readonly ILogger _logger = LogContext.ForClass(); + private static readonly Gauge Health = Prometheus.Metrics.CreateGauge("p2g_health_info", "Health status for P2G."); + private static readonly Gauge NextSyncTime = Prometheus.Metrics.CreateGauge("p2g_next_sync_time", "The next time the sync will run in seconds since epoch."); + + private readonly ISettingsService _settingsService; + private readonly ISyncService _syncService; + private readonly IGitHubReleaseCheckService _githubService; + private readonly IGarminAuthenticationService _garminAuthService; + + public Startup(ISettingsService settingsService, ISyncService syncService, IGitHubReleaseCheckService gitHubService, IGarminAuthenticationService garminAuthService) + { + _settingsService = settingsService; + _syncService = syncService; + _githubService = gitHubService; + + Logging.LogSystemInformation(); + _garminAuthService = garminAuthService; + } + + protected override async Task ExecuteAsync(CancellationToken cancelToken) + { + _logger.Verbose("Begin."); + + var settings = await _settingsService.GetSettingsAsync(); + var appConfig = await _settingsService.GetAppConfigurationAsync(); + + try + { + PelotonService.ValidateConfig(settings.Peloton); + GarminUploader.ValidateConfig(settings); + Metrics.ValidateConfig(appConfig.Observability); + Tracing.ValidateConfig(appConfig.Observability); + + if (settings.App.CheckForUpdates) + { + var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) + { + _logger.Information("*********************************************"); + _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); + _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); + _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); + _logger.Information("*********************************************"); + + AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); + } + } + } + catch (Exception ex) + { + _logger.Error(ex, "Exception during config validation. Please modify your configuration.local.json and relaunch the application."); + Health.Set(HealthStatus.Dead); + Console.ReadLine(); + Environment.Exit(-1); + } + + Health.Set(HealthStatus.Healthy); + await RunAsync(cancelToken); + } + + private async Task RunAsync(CancellationToken cancelToken) + { + int exitCode = 0; + + var appConfig = await _settingsService.GetAppConfigurationAsync(); + + Log.Information("*********************************************"); + using var metrics = Metrics.EnableMetricsServer(appConfig.Observability.Prometheus); + using var metricsCollector = Metrics.EnableCollector(appConfig.Observability.Prometheus); + using var tracing = Tracing.EnableConsoleTracing(appConfig.Observability.Jaeger); + Log.Information("*********************************************"); + + Tracing.Source = new(Statics.TracingService); + Metrics.CreateAppInfo(); + + var settings = await _settingsService.GetSettingsAsync(); + + try + { + if (settings.Peloton.NumWorkoutsToDownload <= 0) + { + Console.Write("How many workouts to grab? "); + int num = Convert.ToInt32(Console.ReadLine()); + settings.Peloton.NumWorkoutsToDownload = num; + } + + if (settings.App.EnablePolling) + { + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled && settings.App.EnablePolling) + { + _logger.Error("Polling cannot be enabled when Garmin TwoStepVerification is enabled."); + _logger.Information("Sync Service stopped."); + return; + } + + while (!cancelToken.IsCancellationRequested) + { + settings = await _settingsService.GetSettingsAsync(); + + if (settings.App.CheckForUpdates) + { + var latestReleaseInformation = await _githubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + if (latestReleaseInformation.IsReleaseNewerThanInstalledVersion) + { + _logger.Information("*********************************************"); + _logger.Information("A new version is available: {@Version}", latestReleaseInformation.LatestVersion); + _logger.Information("Release Date: {@ReleaseDate}", latestReleaseInformation.ReleaseDate); + _logger.Information("Release Information: {@ReleaseUrl}", latestReleaseInformation.ReleaseUrl); + _logger.Information("*********************************************"); + + AppMetrics.SyncUpdateAvailableMetric(latestReleaseInformation.IsReleaseNewerThanInstalledVersion, latestReleaseInformation.LatestVersion); + } + } + + var syncResult = await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); + Health.Set(syncResult.SyncSuccess ? HealthStatus.Healthy : HealthStatus.UnHealthy); + + Log.Information("Done"); + Log.Information("Sleeping for {@Seconds} seconds...", settings.App.PollingIntervalSeconds); + + var now = DateTime.UtcNow; + var nextRunTime = now.AddSeconds(settings.App.PollingIntervalSeconds); + NextSyncTime.Set(new DateTimeOffset(nextRunTime).ToUnixTimeSeconds()); + Thread.Sleep(settings.App.PollingIntervalSeconds * 1000); + } + } + else + { + if (settings.Garmin.Upload && settings.Garmin.TwoStepVerificationEnabled) + { + await _garminAuthService.RefreshGarminAuthenticationAsync(); + + Console.WriteLine("Detected Garmin Two Factor Enabled. Please check your email or phone for the Security Passcode sent by Garmin."); + var mfaCode = string.Empty; + var retryCount = 5; + while (retryCount > 0 && string.IsNullOrWhiteSpace(mfaCode)) + { + Console.Write("Enter Code: "); + mfaCode = Console.ReadLine(); + retryCount--; + } + + await _garminAuthService.CompleteMFAAuthAsync(mfaCode); + } + + await _syncService.SyncAsync(settings.Peloton.NumWorkoutsToDownload); + } + + _logger.Information("Done."); + } + catch (Exception ex) + { + _logger.Fatal(ex, "Uncaught Exception"); + Health.Set(HealthStatus.Dead); + exitCode = -2; + } + finally + { + _logger.Verbose("Exit."); + Console.ReadLine(); + Environment.Exit(exitCode); + } + } + } +} diff --git a/src/WebUI/App.razor b/src/SharedUI/App.razor similarity index 84% rename from src/WebUI/App.razor rename to src/SharedUI/App.razor index 7fb3fe935..ce58da50b 100644 --- a/src/WebUI/App.razor +++ b/src/SharedUI/App.razor @@ -1,11 +1,11 @@  - + Not found - +

Sorry, there's nothing at this address.

diff --git a/src/SharedUI/IApiClient.cs b/src/SharedUI/IApiClient.cs new file mode 100644 index 000000000..c8fe397d2 --- /dev/null +++ b/src/SharedUI/IApiClient.cs @@ -0,0 +1,38 @@ +using Api.Contract; +using Common; +using Flurl.Http; + +namespace SharedUI; +public interface IApiClient +{ + Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetRequest request); + Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetAllRequest request); + + Task SettingsGetAsync(); + Task SettingsAppPostAsync(Common.App appSettings); + Task SettingsFormatPostAsync(Format formatSettings); + Task SettingsPelotonPostAsync(SettingsPelotonPostRequest pelotonSettings); + Task SettingsGarminPostAsync(SettingsGarminPostRequest garminSettings); + + Task SyncGetAsync(); + Task SyncPostAsync(SyncPostRequest syncPostRequest); + + Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest); + + Task GetAnnualProgressAsync(); + + Task GetGarminAuthenticationAsync(); + Task SignInToGarminAsync(); + Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest request); +} + +public class ApiClientException : Exception +{ + public ApiClientException(string message, Exception innerException) : base(message, innerException) { } + public ApiClientException(ErrorResponse error) : base(error.Message, error.Exception) { } +} + +public class SyncTimeoutException : Exception +{ + public SyncTimeoutException(string message, Exception innerException) : base(message, innerException) { } +} \ No newline at end of file diff --git a/src/WebUI/Pages/About.razor b/src/SharedUI/Pages/About.razor similarity index 86% rename from src/WebUI/Pages/About.razor rename to src/SharedUI/Pages/About.razor index 8e91d28cd..7548a1414 100644 --- a/src/WebUI/Pages/About.razor +++ b/src/SharedUI/Pages/About.razor @@ -6,14 +6,14 @@ @if (systemInfo.NewerVersionAvailable.GetValueOrDefault()) { - A new version of P2G is available! Checkout the release notes to see whats new. + A new version of P2G is available! Checkout the release notes to see whats new. }
- @systemInfo.Version @if (systemInfo.NewerVersionAvailable.GetValueOrDefault()){

(newer version available: @systemInfo.LatestVersionInformation.LatestVersion)

} + @systemInfo.Version @if (systemInfo.NewerVersionAvailable.GetValueOrDefault()){

(newer version available: @systemInfo.LatestVersionInformation?.LatestVersion)

}
@@ -34,7 +34,10 @@
    -
  • Api
  • + @if (!string.IsNullOrWhiteSpace(systemInfo.Api)) + { +
  • Api
  • + }
  • Website
  • Documentation
  • Forums
  • diff --git a/src/WebUI/Pages/AnnualChallengeProgress.razor b/src/SharedUI/Pages/AnnualChallengeProgress.razor similarity index 95% rename from src/WebUI/Pages/AnnualChallengeProgress.razor rename to src/SharedUI/Pages/AnnualChallengeProgress.razor index 4dbedac55..d3e3f11d1 100644 --- a/src/WebUI/Pages/AnnualChallengeProgress.razor +++ b/src/SharedUI/Pages/AnnualChallengeProgress.razor @@ -56,10 +56,9 @@ { annualProgress = (await _apiClient.GetAnnualProgressAsync()) ?? new ProgressGetResponse() { Tiers = new List() }; } - catch (FlurlHttpException e) + catch (ApiClientException e) { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); + _toaster.AddError(e.Message); Log.Error("UI - Failed to fetch Annual Challenge progress report.", e); annualProgress = new ProgressGetResponse() { Tiers = new List() }; } diff --git a/src/WebUI/Pages/Index.razor b/src/SharedUI/Pages/Index.razor similarity index 94% rename from src/WebUI/Pages/Index.razor rename to src/SharedUI/Pages/Index.razor index eef7536b6..c7b5ba2e8 100644 --- a/src/WebUI/Pages/Index.razor +++ b/src/SharedUI/Pages/Index.razor @@ -1,4 +1,5 @@ @page "/" +@using SharedUI.Shared; @inherits TracingComponentBase @inject IApiClient _apiClient @inject IHxMessengerService _toaster; @@ -46,7 +47,7 @@ } - else if(!TodaysWorkouts.Any()) + else if (!TodaysWorkouts.Any()) { No workouts today. } @@ -54,21 +55,21 @@ {
    Sync todays workouts -
    +
} -@code { - +@code { + private bool TodaysWorkoutsAreLoading = true; private SyncGetResponse syncStatus; private SettingsGetResponse settings; private SystemInfoGetResponse systemInfo; - private ICollection TodaysWorkouts; - - private GarminMfaModal? _garminMfaModal; - + private ICollection TodaysWorkouts; + + private GarminMfaModal? _garminMfaModal; + public Index() : base(nameof(Index)) { syncStatus = new SyncGetResponse(); @@ -103,7 +104,8 @@ await getSyncStatusAsync; - } catch (Exception e) + } + catch (Exception e) { Log.Error("UI - Failed to fetch data for home page.", e); _toaster.AddError($"Failed to fetch data from P2G Api - {e.Message} - See logs for details."); @@ -123,7 +125,7 @@ try { syncStatus = await _apiClient.SyncGetAsync(); - } + } catch (Exception e) { Log.Error("UI - Failed to fetch Sync status.", e); @@ -137,14 +139,14 @@ try { - var startOfDayLocalTime = DateTime.Now.Date; - var today = startOfDayLocalTime.ToUniversalTime(); - var todaysWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetAllRequest() - { - SinceDate = today, - WorkoutStatusFilter = WorkoutStatus.Completed, - ExcludeWorkoutTypes = settings.Peloton.ExcludeWorkoutTypes - }); + var startOfDayLocalTime = DateTime.Now.Date; + var today = startOfDayLocalTime.ToUniversalTime(); + var todaysWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetAllRequest() + { + SinceDate = today, + WorkoutStatusFilter = WorkoutStatus.Completed, + ExcludeWorkoutTypes = settings.Peloton.ExcludeWorkoutTypes + }); return todaysWorkouts.Items; } @@ -171,24 +173,25 @@ { _toaster.AddInformation("No workouts to sync today."); return; - } - + } + await _garminMfaModal!.ShowAsync(ContinueSyncAsync); - } - - private async Task ContinueSyncAsync() - { - using var tracing = Tracing.ClientTrace($"{nameof(Index)}.{nameof(ContinueSyncAsync)}", kind: ActivityKind.Client); + } + + private async Task ContinueSyncAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Index)}.{nameof(ContinueSyncAsync)}", kind: ActivityKind.Client); SyncPostResponse? syncResponse = null; try { - syncResponse = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = TodaysWorkouts.Select(w => w.Id).ToList() }); + syncResponse = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = TodaysWorkouts.Select(w => w!.Id!).ToList() }); } - catch (FlurlHttpTimeoutException te){ + catch (FlurlHttpTimeoutException te) + { _toaster.AddInformation("Long running sync will continue running in the background."); Log.Information("UI - Sync timeout reached.", te); - } - catch(Exception e) + } + catch (Exception e) { _toaster.AddError($"Failed to sync - {e.Message} - See logs for details."); Log.Error("UI - Failed to sync.", e); @@ -201,13 +204,13 @@ { _toaster.AddWarning($"Errors during sync - {error.Message}"); } - } + } + + if (syncResponse?.SyncSuccess ?? false) + _toaster.AddInformation("Success! Synced today's workouts."); + } + } - if (syncResponse?.SyncSuccess ?? false) - _toaster.AddInformation("Success! Synced today's workouts."); - } - } - private ThemeColor GetPillThemeColor(Common.Database.Status status) { switch (syncStatus.SyncStatus) diff --git a/src/SharedUI/Pages/Settings.razor b/src/SharedUI/Pages/Settings.razor new file mode 100644 index 000000000..2a258c342 --- /dev/null +++ b/src/SharedUI/Pages/Settings.razor @@ -0,0 +1,63 @@ +@page "/settings" +@inherits TracingComponentBase +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + +Settings + +

Settings

+Documentation +
+
+ + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+
+ +@code { + + private string configDocumentation; + + public Settings() : base(nameof(Settings)) + { + var settings = new SettingsGetResponse(); + configDocumentation = string.Empty; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var systemInfo = await _apiClient.SystemInfoGetAsync(new SystemInfoGetRequest() { CheckForUpdate = false }); + + configDocumentation = systemInfo.Documentation + "/configuration/json.html"; + } +} \ No newline at end of file diff --git a/src/WebUI/Pages/Sync.razor b/src/SharedUI/Pages/Sync.razor similarity index 79% rename from src/WebUI/Pages/Sync.razor rename to src/SharedUI/Pages/Sync.razor index 063af6f0e..e9fa13881 100644 --- a/src/WebUI/Pages/Sync.razor +++ b/src/SharedUI/Pages/Sync.razor @@ -1,4 +1,5 @@ @page "/sync" +@using SharedUI.Shared; @inherits TracingComponentBase @inject IApiClient _apiClient; @inject IHxMessengerService _toaster; @@ -38,39 +39,24 @@ base.Dispose(); } - protected override async Task OnInitializedAsync() - { - using var tracing = Tracing.ClientTrace($"{nameof(Index)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); - - try - { - var getSettingsTask = _apiClient.SettingsGetAsync(); - var settings = await getSettingsTask; - } - catch (Exception e) - { - Log.Error("UI - Failed to fetch data for sync page.", e); - _toaster.AddError($"Failed to fetch data from P2G Api - {e.Message} - See logs for details."); - } - } - private async Task> LoadDataAsync(GridDataProviderRequest request) { using var tracing = Tracing.ClientTrace($"{nameof(Sync)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); _toaster.Clear(); - try + try { var pageIndex = request.StartIndex / PageSize; - var recentWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetRequest() { PageSize = PageSize, PageIndex = pageIndex}); + var recentWorkouts = await _apiClient.PelotonWorkoutsGetAsync(new PelotonWorkoutsGetRequest() { PageSize = PageSize, PageIndex = pageIndex }); return new GridDataProviderResult() { Data = recentWorkouts.Items, TotalCount = recentWorkouts.TotalItems }; - } catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + } + catch (ApiClientException e) { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); + _toaster.AddError(e.Message); Log.Error("UI - Failed to load Peloton workouts.", e); - } catch (Exception e) + } + catch (Exception e) { _toaster.AddError($"Failed to load Peloton workouts - {e.Message} - See logs for details."); Log.Error("UI - Failed to load Peloton workouts.", e); @@ -94,7 +80,7 @@ try { - var result = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = selectedItems.Select(i => i.Id).ToList() }); + var result = await _apiClient.SyncPostAsync(new SyncPostRequest() { WorkoutIds = selectedItems.Select(i => i.Id!).ToList() }); selectedItems.Clear(); if (result.SyncSuccess) @@ -114,15 +100,14 @@ } } - catch (FlurlHttpTimeoutException te) + catch (SyncTimeoutException te) { _toaster.AddInformation("Long running sync will continue running in the background."); Log.Information("UI - Sync timeout reached.", te); } - catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + catch (ApiClientException e) { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); + _toaster.AddError(e.Message); Log.Error("UI - Failed to sync Peloton workouts.", e); } catch (Exception e) @@ -136,4 +121,4 @@ { return selectedItems.Any(); } -} +} \ No newline at end of file diff --git a/src/SharedUI/Properties/launchSettings.json b/src/SharedUI/Properties/launchSettings.json new file mode 100644 index 000000000..4065c5608 --- /dev/null +++ b/src/SharedUI/Properties/launchSettings.json @@ -0,0 +1,12 @@ +{ + "profiles": { + "SharedUI": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:54212;http://localhost:54213" + } + } +} \ No newline at end of file diff --git a/src/SharedUI/Shared/AppSettingsForm.razor b/src/SharedUI/Shared/AppSettingsForm.razor new file mode 100644 index 000000000..77179388f --- /dev/null +++ b/src/SharedUI/Shared/AppSettingsForm.razor @@ -0,0 +1,82 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ + + + + + + + + + +
+
+ +
+ +
+ + + Advanced + +
+ +
+
+
+
+ Save + +
+ +@code { + private Common.App appSettings; + + public AppSettingsForm() + { + var settings = new SettingsGetResponse(); + appSettings = settings.App; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(AppSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(SettingsGetResponse)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + appSettings = settings.App; + } + + protected async Task SaveAppSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(AppSettingsForm)}.{nameof(SaveAppSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + + try + { + appSettings = await _apiClient.SettingsAppPostAsync(appSettings); + _toaster.AddInformation("App Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save App Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save App settings.", e); + } + } +} diff --git a/src/SharedUI/Shared/FormatSettingsForm.razor b/src/SharedUI/Shared/FormatSettingsForm.razor new file mode 100644 index 000000000..e758de7e0 --- /dev/null +++ b/src/SharedUI/Shared/FormatSettingsForm.razor @@ -0,0 +1,100 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ + + +
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ + + Advanced + +
+ + + +
+
+
+
+
+
+ Save +
+ +@code { + private static ICollection lapTypes = Enum.GetValues(typeof(PreferredLapType)).Cast().ToList(); + + private Format formatSettings; + + public FormatSettingsForm() + { + var settings = new SettingsGetResponse(); + formatSettings = settings.Format; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(FormatSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(FormatSettingsForm)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + formatSettings = settings.Format; + } + + protected async Task SaveFormatSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(FormatSettingsForm)}.{nameof(SaveFormatSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + try + { + formatSettings = await _apiClient.SettingsFormatPostAsync(formatSettings); + _toaster.AddInformation("Format Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save Format Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save Format settings.", e); + } + } +} diff --git a/src/WebUI/Shared/GarminMfaModal.razor b/src/SharedUI/Shared/GarminMfaModal.razor similarity index 99% rename from src/WebUI/Shared/GarminMfaModal.razor rename to src/SharedUI/Shared/GarminMfaModal.razor index b1b0241a0..489b56edc 100644 --- a/src/WebUI/Shared/GarminMfaModal.razor +++ b/src/SharedUI/Shared/GarminMfaModal.razor @@ -107,7 +107,7 @@ await _successCallBack.Invoke(); _successCallBack = null; } - + await MfaModal!.HideAsync(); } catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) @@ -130,4 +130,4 @@ { _successCallBack = null; } -} +} \ No newline at end of file diff --git a/src/SharedUI/Shared/GarminSettingsForm.razor b/src/SharedUI/Shared/GarminSettingsForm.razor new file mode 100644 index 000000000..101e3c11b --- /dev/null +++ b/src/SharedUI/Shared/GarminSettingsForm.razor @@ -0,0 +1,132 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ +
+ + +
+ + Auth + +
+
+ +
+
+ + + Password + @if (garminSettings.IsPasswordSet) + { + Password is set + } + + + @if (garminSettings.IsPasswordSet) + { + + } + + +
+
+
+ + + +
+
+ +
+ + + Advanced + +
+
+ +
+ +
+ +
+
+
+
+
+
+
+
+ Save +
+
+
+ +@code { + private static ICollection formatTypes = Enum.GetValues(typeof(FileFormat)).Cast().ToList(); + private static ICollection uploadStrategyTypes = Enum.GetValues(typeof(UploadStrategy)).Cast().ToList(); + + private SettingsGarminGetResponse garminSettings; + + public GarminSettingsForm() + { + var settings = new SettingsGetResponse(); + garminSettings = settings.Garmin; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + garminSettings = settings.Garmin; + } + + protected void ClearGarminPassword() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(ClearGarminPassword)}", kind: ActivityKind.Client); + garminSettings.Password = string.Empty; + garminSettings.IsPasswordSet = false; + } + + protected async Task SaveGarminSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(GarminSettingsForm)}.{nameof(SaveGarminSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + + try + { + garminSettings = await _apiClient.SettingsGarminPostAsync(garminSettings.Map()); + _toaster.AddInformation("Garmin Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save Garmin Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save Garmin settings.", e); + } + } +} diff --git a/src/WebUI/Shared/MainLayout.razor b/src/SharedUI/Shared/MainLayout.razor similarity index 89% rename from src/WebUI/Shared/MainLayout.razor rename to src/SharedUI/Shared/MainLayout.razor index fd66ff9eb..eaa9a6671 100644 --- a/src/WebUI/Shared/MainLayout.razor +++ b/src/SharedUI/Shared/MainLayout.razor @@ -2,7 +2,7 @@
diff --git a/src/WebUI/Shared/MainLayout.razor.css b/src/SharedUI/Shared/MainLayout.razor.css similarity index 100% rename from src/WebUI/Shared/MainLayout.razor.css rename to src/SharedUI/Shared/MainLayout.razor.css diff --git a/src/WebUI/Shared/NavMenu.razor b/src/SharedUI/Shared/NavMenu.razor similarity index 100% rename from src/WebUI/Shared/NavMenu.razor rename to src/SharedUI/Shared/NavMenu.razor diff --git a/src/WebUI/Shared/NavMenu.razor.css b/src/SharedUI/Shared/NavMenu.razor.css similarity index 100% rename from src/WebUI/Shared/NavMenu.razor.css rename to src/SharedUI/Shared/NavMenu.razor.css diff --git a/src/SharedUI/Shared/PelotonSettingsForm.razor b/src/SharedUI/Shared/PelotonSettingsForm.razor new file mode 100644 index 000000000..3cf033d26 --- /dev/null +++ b/src/SharedUI/Shared/PelotonSettingsForm.razor @@ -0,0 +1,101 @@ +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; + + +
+
+ +
+
+ + + Password + @if (pelotonSettings.IsPasswordSet) + { + Password is set + } + + + @if (pelotonSettings.IsPasswordSet) + { + + } + + +
+
+ +
+
+ +
+
+
+ Save +
+ +@code { + private static ICollection workoutTypes = Enum.GetValues(typeof(WorkoutType)).Cast().ToList(); + + private SettingsPelotonGetResponse pelotonSettings; + + private List selectedWorkoutTypes = new List(); + + public PelotonSettingsForm() + { + var settings = new SettingsGetResponse(); + pelotonSettings = settings.Peloton; + } + + protected override Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + return LoadDataAsync(); + } + + private async Task LoadDataAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); + + pelotonSettings = settings.Peloton; + selectedWorkoutTypes = pelotonSettings.ExcludeWorkoutTypes.ToList(); + } + + protected void ClearPelotonPassword() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(ClearPelotonPassword)}", kind: ActivityKind.Client); + pelotonSettings.Password = string.Empty; + pelotonSettings.IsPasswordSet = false; + } + + protected async Task SavePelotonSettings() + { + using var tracing = Tracing.ClientTrace($"{nameof(PelotonSettingsForm)}.{nameof(SavePelotonSettings)}", kind: ActivityKind.Client); + + _toaster.Clear(); + + try + { + pelotonSettings.ExcludeWorkoutTypes = selectedWorkoutTypes; + pelotonSettings = await _apiClient.SettingsPelotonPostAsync(pelotonSettings.Map()); + _toaster.AddInformation("Peloton Settings Saved!"); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + _toaster.AddError(error.Message); + } + catch (Exception e) + { + _toaster.AddError($"Failed to save Peloton Settings - {e.Message} - See logs for details."); + Log.Error("UI - Failed to save Peloton settings.", e); + } + } +} diff --git a/src/SharedUI/SharedUI.csproj b/src/SharedUI/SharedUI.csproj new file mode 100644 index 000000000..d8f32fa0d --- /dev/null +++ b/src/SharedUI/SharedUI.csproj @@ -0,0 +1,50 @@ + + + + net7.0 + enable + enable + + + + + + + + + + + + + + + + + + + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.css" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.css.map" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.min.css" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.min.css.map" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.css" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.css.map" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.min.css" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.min.css.map" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-reboot.css" /> + <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-reboot.css.map" /> + + + + + + + + + + + + + + + + diff --git a/src/SharedUI/SharedUIStartup.cs b/src/SharedUI/SharedUIStartup.cs new file mode 100644 index 000000000..bf5165b51 --- /dev/null +++ b/src/SharedUI/SharedUIStartup.cs @@ -0,0 +1,13 @@ +using Havit.Blazor.Components.Web; +using Microsoft.Extensions.DependencyInjection; + +namespace SharedUI; + +public static class SharedUIStartup +{ + public static void ConfigureSharedUIServices(this IServiceCollection services) + { + services.AddHxServices(); + services.AddHxMessenger(); + } +} diff --git a/src/WebUI/TracingComponentBase.cs b/src/SharedUI/TracingComponentBase.cs similarity index 95% rename from src/WebUI/TracingComponentBase.cs rename to src/SharedUI/TracingComponentBase.cs index 58cd20c84..34192608c 100644 --- a/src/WebUI/TracingComponentBase.cs +++ b/src/SharedUI/TracingComponentBase.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Components; using System.Diagnostics; -namespace WebUI; +namespace SharedUI; public class TracingComponentBase : ComponentBase, IDisposable { diff --git a/src/SharedUI/_Imports.razor b/src/SharedUI/_Imports.razor new file mode 100644 index 000000000..2b4c31be6 --- /dev/null +++ b/src/SharedUI/_Imports.razor @@ -0,0 +1,18 @@ +@using System.Diagnostics +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Authorization +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Microsoft.AspNetCore.Http; +@using Api.Contract +@using Common +@using Common.Dto +@using Common.Observe +@using Flurl.Http; +@using Havit.Blazor.Components.Web +@using Havit.Blazor.Components.Web.Bootstrap +@using Serilog diff --git a/src/WebUI/libman.json b/src/SharedUI/libman.json similarity index 93% rename from src/WebUI/libman.json rename to src/SharedUI/libman.json index 5a7762e69..39c8d3d6a 100644 --- a/src/WebUI/libman.json +++ b/src/SharedUI/libman.json @@ -7,7 +7,7 @@ "destination": "wwwroot/lib/font-awesome/" }, { - "library": "bootstrap@5.2.1", + "library": "bootstrap@5.2.3", "destination": "wwwroot/lib/bootstrap/" }, { diff --git a/src/SharedUI/wwwroot/background.png b/src/SharedUI/wwwroot/background.png new file mode 100644 index 0000000000000000000000000000000000000000..e15a3bde6e2bdb380df6a0b46d7ed00bdeb0aaa8 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK1SGdsl%54rjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwr2>%=KS^ie7oTIEF;HpS|GCbyPusHSqiXaCu3qf)82(9Gq&mZq2{Kq}M*X&MWtJ zSi1Jo7ZzfImg%g=t(qo=wsSR2lZoP(Rj#3wacN=q0?Br(rXzgZEGK2$ID{|A=5S{xJEuzSH>!M+7wSY6hB<=-E^*n0W7 S8wY^CX7F_Nb6Mw<&;$S{dxtsz literal 0 HcmV?d00001 diff --git a/src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css b/src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css similarity index 100% rename from src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css rename to src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css diff --git a/src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css.map b/src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css.map similarity index 100% rename from src/WebUI/wwwroot/css/bootstrap/bootstrap.min.css.map rename to src/SharedUI/wwwroot/css/bootstrap/bootstrap.min.css.map diff --git a/src/SharedUI/wwwroot/css/forms.css b/src/SharedUI/wwwroot/css/forms.css new file mode 100644 index 000000000..2c871770d --- /dev/null +++ b/src/SharedUI/wwwroot/css/forms.css @@ -0,0 +1,3 @@ +label.form-label { + color: rgb(108, 117, 125); +} diff --git a/src/WebUI/wwwroot/css/open-iconic/FONT-LICENSE b/src/SharedUI/wwwroot/css/open-iconic/FONT-LICENSE similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/FONT-LICENSE rename to src/SharedUI/wwwroot/css/open-iconic/FONT-LICENSE diff --git a/src/WebUI/wwwroot/css/open-iconic/ICON-LICENSE b/src/SharedUI/wwwroot/css/open-iconic/ICON-LICENSE similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/ICON-LICENSE rename to src/SharedUI/wwwroot/css/open-iconic/ICON-LICENSE diff --git a/src/WebUI/wwwroot/css/open-iconic/README.md b/src/SharedUI/wwwroot/css/open-iconic/README.md similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/README.md rename to src/SharedUI/wwwroot/css/open-iconic/README.md diff --git a/src/WebUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/src/SharedUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css rename to src/SharedUI/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.eot diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.otf diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.svg diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf diff --git a/src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff similarity index 100% rename from src/WebUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff rename to src/SharedUI/wwwroot/css/open-iconic/font/fonts/open-iconic.woff diff --git a/src/WebUI/wwwroot/css/site.css b/src/SharedUI/wwwroot/css/site.css similarity index 91% rename from src/WebUI/wwwroot/css/site.css rename to src/SharedUI/wwwroot/css/site.css index fb936e195..f2c9915be 100644 --- a/src/WebUI/wwwroot/css/site.css +++ b/src/SharedUI/wwwroot/css/site.css @@ -1,5 +1,9 @@ @import url('open-iconic/font/css/open-iconic-bootstrap.min.css'); -@import url('../font-awesome/css/all.css'); +@import url('../lib/font-awesome/css/all.css'); +@import url('../lib/bootstrap/css/bootstrap.min.css'); +@import url('../lib/bootstrap-icons/font/bootstrap-icons.css'); +@import url('_content/Havit.Blazor.Components.Web.Bootstrap/defaults.css'); +@import url('forms.css'); html, body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; diff --git a/src/SharedUI/wwwroot/exampleJsInterop.js b/src/SharedUI/wwwroot/exampleJsInterop.js new file mode 100644 index 000000000..ea8d76ad2 --- /dev/null +++ b/src/SharedUI/wwwroot/exampleJsInterop.js @@ -0,0 +1,6 @@ +// This is a JavaScript module that is loaded on demand. It can export any number of +// functions, and may import other JavaScript modules if required. + +export function showPrompt(message) { + return prompt(message, 'Type anything here'); +} diff --git a/src/WebUI/wwwroot/favicon.ico b/src/SharedUI/wwwroot/favicon.ico similarity index 100% rename from src/WebUI/wwwroot/favicon.ico rename to src/SharedUI/wwwroot/favicon.ico diff --git a/src/Sync/SyncResult.cs b/src/Sync/SyncResult.cs index be7ed77db..1f827bfde 100644 --- a/src/Sync/SyncResult.cs +++ b/src/Sync/SyncResult.cs @@ -1,5 +1,4 @@ using Common.Dto; -using System; using System.Collections.Generic; namespace Sync; @@ -8,24 +7,12 @@ public class SyncResult { public SyncResult() { - Errors = new List(); + Errors = new List(); } public bool SyncSuccess { get; set; } public bool PelotonDownloadSuccess { get; set; } public bool? ConversionSuccess { get; set; } public bool? UploadToGarminSuccess { get; set; } - public ICollection Errors { get; set; } -} - -public class ErrorResponse : IServiceError -{ - public ErrorResponse() - { - Message = string.Empty; - } - - public Exception? Exception { get; init; } - public string Message { get; init; } - public bool IsServerException { get; init; } + public ICollection Errors { get; set; } } \ No newline at end of file diff --git a/src/Sync/SyncService.cs b/src/Sync/SyncService.cs index e152a576d..16431c45a 100644 --- a/src/Sync/SyncService.cs +++ b/src/Sync/SyncService.cs @@ -86,7 +86,7 @@ public async Task SyncAsync(IEnumerable workoutIds, ICollect _logger.Error(e, $"Failed to download workouts from Peloton."); response.SyncSuccess = false; response.PelotonDownloadSuccess = false; - response.Errors.Add(new ErrorResponse() { Message = $"Failed to download workouts from Peloton. {e.Message} - Check logs for more details." }); + response.Errors.Add(new ServiceError() { Message = $"Failed to download workouts from Peloton. {e.Message} - Check logs for more details." }); return response; } @@ -137,7 +137,7 @@ public async Task SyncAsync(IEnumerable workoutIds, ICollect response.SyncSuccess = false; response.ConversionSuccess = false; - response.Errors.Add(new ErrorResponse() { Message = $"Unexpected error. Failed to convert workouts. {e.Message} Check logs for more details." }); + response.Errors.Add(new ServiceError() { Message = $"Unexpected error. Failed to convert workouts. {e.Message} Check logs for more details." }); return response; } @@ -146,7 +146,7 @@ public async Task SyncAsync(IEnumerable workoutIds, ICollect _logger.Information("All converters were skipped. Ensure you have atleast one output Format configured in your settings. Converting to FIT or TCX is required prior to uploading to Garmin Connect."); response.SyncSuccess = false; response.ConversionSuccess = false; - response.Errors.Add(new ErrorResponse() { Message = "All converters were skipped. Ensure you have atleast one output Format configured in your settings. Converting to FIT or TCX is required prior to uploading to Garmin Connect." }); + response.Errors.Add(new ServiceError() { Message = "All converters were skipped. Ensure you have atleast one output Format configured in your settings. Converting to FIT or TCX is required prior to uploading to Garmin Connect." }); return response; } @@ -155,13 +155,13 @@ public async Task SyncAsync(IEnumerable workoutIds, ICollect _logger.Error("All configured converters failed to convert workouts."); response.SyncSuccess = false; response.ConversionSuccess = false; - response.Errors.Add(new ErrorResponse() { Message = "All configured converters failed to convert workouts. Successfully, converting to FIT or TCX is required prior to uploading to Garmin Connect. See logs for more details." }); + response.Errors.Add(new ServiceError() { Message = "All configured converters failed to convert workouts. Successfully, converting to FIT or TCX is required prior to uploading to Garmin Connect. See logs for more details." }); return response; } foreach (var convertStatus in convertStatuses) if (convertStatus.Result == ConversionResult.Failed) - response.Errors.Add(new ErrorResponse() { Message = convertStatus.ErrorMessage }); + response.Errors.Add(new ServiceError() { Message = convertStatus.ErrorMessage }); response.ConversionSuccess = true; @@ -176,7 +176,7 @@ public async Task SyncAsync(IEnumerable workoutIds, ICollect response.SyncSuccess = false; response.UploadToGarminSuccess = false; - response.Errors.Add(new ErrorResponse() { Message = $"Failed to upload workouts to Garmin Connect. {ae.Message}" }); + response.Errors.Add(new ServiceError() { Message = $"Failed to upload workouts to Garmin Connect. {ae.Message}" }); return response; } catch (GarminAuthenticationError gae) @@ -185,7 +185,7 @@ public async Task SyncAsync(IEnumerable workoutIds, ICollect response.SyncSuccess = false; response.UploadToGarminSuccess = false; - response.Errors.Add(new ErrorResponse() { Message = gae.Message }); + response.Errors.Add(new ServiceError() { Message = gae.Message }); return response; } catch (Exception e) @@ -194,7 +194,7 @@ public async Task SyncAsync(IEnumerable workoutIds, ICollect response.SyncSuccess = false; response.UploadToGarminSuccess = false; - response.Errors.Add(new ErrorResponse() { Message = $"Failed to upload workouts to Garmin Connect. {e.Message}" }); + response.Errors.Add(new ServiceError() { Message = $"Failed to upload workouts to Garmin Connect. {e.Message}" }); return response; } finally @@ -251,7 +251,7 @@ private async Task SyncWithWorkoutLoaderAsync(Func SyncWithWorkoutLoaderAsync(Func(); + + var response = await service.UpdateAppSettingsAsync(null); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Updated AppSettings must not be null or empty."); + } + + [Test] + public async Task UpdateAppSettingsAsync_With_InvalidOutPutDir_Returns400() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + var fileHandler = autoMocker.GetMock(); + + fileHandler + .Setup(f => f.DirExists("blah")) + .Returns(false) + .Verifiable(); + + var request = new App() + { + OutputDirectory = "blah" + }; + + var response = await service.UpdateAppSettingsAsync(request); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Output Directory path is either not accessible or does not exist."); + + fileHandler.Verify(); + } + + [Test] + public async Task UpdateAppSettingsAsync_With_EmptyOutPutDir_DoesNotValidateIt() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + var fileHandler = autoMocker.GetMock(); + var settingService = autoMocker.GetMock(); + + fileHandler + .Setup(f => f.DirExists(It.IsAny())) + .Returns(false); + + var request = new App() + { + OutputDirectory = string.Empty + }; + + settingService + .Setup(s => s.GetSettingsAsync()) + .ReturnsAsync(new Settings()); + + var response = await service.UpdateAppSettingsAsync(request); + + response.IsErrored().Should().BeFalse(); + response.Result.Should().NotBeNull(); + + fileHandler.Verify(f => f.DirExists(It.IsAny()), Times.Never); + } + + [Test] + public async Task UpdateAppSettingsAsync_With_EnablePollingWhenGarminMFAEnabled_Throws() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + var settingService = autoMocker.GetMock(); + var fileHandler = autoMocker.GetMock(); + + fileHandler + .Setup(f => f.DirExists("blah")) + .Returns(true) + .Verifiable(); + + settingService.SetupWithAny>(nameof(settingService.Object.GetSettingsAsync)) + .ReturnsAsync(new Settings() { Garmin = new() { TwoStepVerificationEnabled = true } }); + + var request = new App() + { + EnablePolling = true, + OutputDirectory = "blah", + }; + + var response = await service.UpdateAppSettingsAsync(request); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Automatic Syncing cannot be enabled when Garmin TwoStepVerification is enabled."); + } + + [Test] + public async Task UpdatePelotonSettingsAsync_With_NullRequest_ReturnsError() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + + var response = await service.UpdatePelotonSettingsAsync(null); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Updated PelotonSettings must not be null or empty."); + } + + [Test] + public async Task UpdatePelotonSettingsAsync_With_Invalid_NumWorkoutsToDownload_And_PollingEnabled_ReturnsError() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + var settingService = autoMocker.GetMock(); + + settingService.SetupWithAny>(nameof(settingService.Object.GetSettingsAsync)) + .ReturnsAsync(new Settings() { App = new() { EnablePolling = true } }); + + var request = new SettingsPelotonPostRequest() + { + NumWorkoutsToDownload = -1 + }; + + var response = await service.UpdatePelotonSettingsAsync(request); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Number of workouts to download must but greater than 0 when Automatic Polling is enabled."); + } + + [Test] + public async Task FormatPost_With_NullRequest_Returns400() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + + var response = await service.UpdateFormatSettingsAsync(null); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Updated Format Settings must not be null or empty."); + } + + [Test] + public async Task FormatPost_With_InvalidDeviceInfoPath_Returns400() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + var fileHandler = autoMocker.GetMock(); + + fileHandler + .Setup(f => f.FileExists("blah")) + .Returns(false) + .Verifiable(); + + var request = new Format() + { + DeviceInfoPath = "blah" + }; + + var response = await service.UpdateFormatSettingsAsync(request); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("The DeviceInfo path is either not accessible or does not exist."); + + fileHandler.Verify(); + } + + [Test] + public async Task FormatPost_With_EmptyDeviceInfoDir_DoesNotValidateIt() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + var fileHandler = autoMocker.GetMock(); + var settingService = autoMocker.GetMock(); + + var request = new Format() + { + DeviceInfoPath = string.Empty + }; + + settingService + .Setup(s => s.GetSettingsAsync()) + .ReturnsAsync(new Settings()); + + var response = await service.UpdateFormatSettingsAsync(request); + + response.IsErrored().Should().BeFalse(); + response.Result.Should().NotBeNull(); + + fileHandler.Verify(f => f.DirExists(It.IsAny()), Times.Never); + } + + [Test] + public async Task GarminPost_With_NullRequest_Returns400() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + + var response = await service.UpdateGarminSettingsAsync(null); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Updated Garmin Settings must not be null or empty."); + } + + [Test] + public async Task GarminPost_With_EnableGarminMFAWhenPollingEnabled_Throws() + { + var autoMocker = new AutoMocker(); + var service = autoMocker.CreateInstance(); + var settingService = autoMocker.GetMock(); + + settingService.SetupWithAny>(nameof(settingService.Object.GetSettingsAsync)) + .ReturnsAsync(new Settings() { App = new() { EnablePolling = true } }); + + SettingsGarminPostRequest request = new() + { + Upload = true, + TwoStepVerificationEnabled = true + }; + + var response = await service.UpdateGarminSettingsAsync(request); + + response.IsErrored().Should().BeTrue(); + response.Error.Should().NotBeNull(); + response.Error.Message.Should().Be("Garmin TwoStepVerification cannot be enabled while Automatic Syncing is enabled. Please disable Automatic Syncing first."); + } +} diff --git a/src/UnitTests/Api.Service/SystemInfoServiceTests.cs b/src/UnitTests/Api.Service/SystemInfoServiceTests.cs new file mode 100644 index 000000000..401127c8d --- /dev/null +++ b/src/UnitTests/Api.Service/SystemInfoServiceTests.cs @@ -0,0 +1,69 @@ +using Api.Contract; +using Api.Services; +using Common; +using Core.GitHub; +using FluentAssertions; +using Moq; +using Moq.AutoMock; +using NUnit.Framework; +using Philosowaffle.Capability.ReleaseChecks.Model; +using System; +using System.Threading.Tasks; + +namespace UnitTests.Api.Service; + +public class SystemInfoServiceTests +{ + [Test] + public async Task GetAsync_WhenNotRequested_DoesNotEnrich_LatestVersionInfo() + { + // SETUP + var autoMocker = new AutoMocker(); + var controller = autoMocker.CreateInstance(); + var ghService = autoMocker.GetMock(); + + var request = new SystemInfoGetRequest() { CheckForUpdate = false }; + + // ACT + var response = await controller.GetAsync(request, scheme: "https", host: "localhost"); + + // ASSERT + response.Should().NotBeNull(); + + response.NewerVersionAvailable.Should().BeNull(); + response.LatestVersionInformation.Should().BeNull(); + + ghService.Verify(x => x.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion), Times.Never()); + } + + [Test] + public async Task GetAsync_WhenRequest_Enriches_LatestVersionInfo() + { + // SETUP + var autoMocker = new AutoMocker(); + var controller = autoMocker.CreateInstance(); + var ghService = autoMocker.GetMock(); + + ghService.Setup(x => x.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion)) + .ReturnsAsync(new LatestReleaseInformation() + { + IsReleaseNewerThanInstalledVersion = true, + Description = "adf", + LatestVersion = "v45.90.23", + ReleaseDate = DateTime.Now, + ReleaseUrl = "https://www.google.com" + }); + + // ACT + var request = new SystemInfoGetRequest() { CheckForUpdate = true }; + var response = await controller.GetAsync(request, scheme: "https", host: "localhost"); + + // ASSERT + response.Should().NotBeNull(); + + response.NewerVersionAvailable.Should().NotBeNull(); + response.LatestVersionInformation.Should().NotBeNull(); + + ghService.Verify(x => x.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion), Times.Once()); + } +} diff --git a/src/UnitTests/Api/Controllers/PelotonWorkoutsControllerTests.cs b/src/UnitTests/Api/Controllers/PelotonWorkoutsControllerTests.cs index f524e1848..c92f985e1 100644 --- a/src/UnitTests/Api/Controllers/PelotonWorkoutsControllerTests.cs +++ b/src/UnitTests/Api/Controllers/PelotonWorkoutsControllerTests.cs @@ -1,6 +1,6 @@ -using Api.Controllers; +using Api.Contract; +using Api.Controllers; using Common.Dto; -using Common.Dto.Api; using Common.Dto.Peloton; using FluentAssertions; using Microsoft.AspNetCore.Http; diff --git a/src/UnitTests/Api/Controllers/SettingsControllerTests.cs b/src/UnitTests/Api/Controllers/SettingsControllerTests.cs deleted file mode 100644 index 4ad798d7b..000000000 --- a/src/UnitTests/Api/Controllers/SettingsControllerTests.cs +++ /dev/null @@ -1,252 +0,0 @@ -using Api.Controllers; -using Common; -using Common.Dto.Api; -using Common.Service; -using FluentAssertions; -using Microsoft.AspNetCore.Mvc; -using Moq; -using Moq.AutoMock; -using NUnit.Framework; -using System.Threading.Tasks; - -namespace UnitTests.Api.Controllers; - -public class SettingsControllerTests -{ - [Test] - public async Task AppPost_With_NullRequest_Returns400() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - - var response = await controller.AppPost(null); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("PostRequest must not be null."); - } - - [Test] - public async Task AppPost_With_InvalidOutPutDir_Returns400() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - var fileHandler = autoMocker.GetMock(); - - fileHandler - .Setup(f => f.DirExists("blah")) - .Returns(false) - .Verifiable(); - - var request = new App() - { - OutputDirectory = "blah" - }; - - var response = await controller.AppPost(request); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("Output Directory path is either not accessible or does not exist."); - - fileHandler.Verify(); - } - - [Test] - public async Task AppPost_With_EmptyOutPutDir_DoesNotValidateIt() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - var fileHandler = autoMocker.GetMock(); - var settingService = autoMocker.GetMock(); - - fileHandler - .Setup(f => f.DirExists(It.IsAny())) - .Returns(false); - - var request = new App() - { - OutputDirectory = string.Empty - }; - - settingService - .Setup(s => s.GetSettingsAsync()) - .ReturnsAsync(new Settings()); - - var response = await controller.AppPost(request); - - var result = response.Result as OkObjectResult; - result.Should().NotBeNull(); - - fileHandler.Verify(f => f.DirExists(It.IsAny()), Times.Never); - } - - [Test] - public async Task AppPost_With_EnablePollingWhenGarminMFAEnabled_Throws() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - var settingService = autoMocker.GetMock(); - var fileHandler = autoMocker.GetMock(); - - fileHandler - .Setup(f => f.DirExists("blah")) - .Returns(true) - .Verifiable(); - - settingService.SetupWithAny>(nameof(settingService.Object.GetSettingsAsync)) - .ReturnsAsync(new Settings() { Garmin = new() { TwoStepVerificationEnabled = true } }); - - var request = new App() - { - EnablePolling = true, - OutputDirectory = "blah", - }; - - var response = await controller.AppPost(request); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("Automatic Syncing cannot be enabled when Garmin TwoStepVerification is enabled."); - } - - [Test] - public async Task FormatPost_With_NullRequest_Returns400() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - - var response = await controller.FormatPost(null); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("PostRequest must not be null."); - } - - [Test] - public async Task FormatPost_With_InvalidDeviceInfoPath_Returns400() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - var fileHandler = autoMocker.GetMock(); - - fileHandler - .Setup(f => f.FileExists("blah")) - .Returns(false) - .Verifiable(); - - var request = new Format() - { - DeviceInfoPath = "blah" - }; - - var response = await controller.FormatPost(request); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("DeviceInfo path is either not accessible or does not exist."); - - fileHandler.Verify(); - } - - [Test] - public async Task FormatPost_With_EmptyDeviceInfoDir_DoesNotValidateIt() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - var fileHandler = autoMocker.GetMock(); - var settingService = autoMocker.GetMock(); - - var request = new Format() - { - DeviceInfoPath = string.Empty - }; - - settingService - .Setup(s => s.GetSettingsAsync()) - .ReturnsAsync(new Settings()); - - var response = await controller.FormatPost(request); - - var result = response.Result as OkObjectResult; - result.Should().NotBeNull(); - - fileHandler.Verify(f => f.DirExists(It.IsAny()), Times.Never); - } - - [Test] - public async Task PelotonPost_With_NullRequest_Returns400() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - - var response = await controller.PelotonPost(null); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("PostRequest must not be null."); - } - - [Test] - public async Task PelotonPost_With_Invalid_NumWorkoutsToDownload_Returns400() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - - var request = new SettingsPelotonPostRequest() - { - NumWorkoutsToDownload = -1 - }; - - var response = await controller.PelotonPost(request); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("NumWorkoutsToDownload must be greater than 0."); - } - - [Test] - public async Task GarminPost_With_NullRequest_Returns400() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - - var response = await controller.GarminPost(null); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("PostRequest must not be null."); - } - - [Test] - public async Task GarminPost_With_EnableGarminMFAWhenPollingEnabled_Throws() - { - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - var settingService = autoMocker.GetMock(); - - settingService.SetupWithAny>(nameof(settingService.Object.GetSettingsAsync)) - .ReturnsAsync(new Settings() { App = new() { EnablePolling = true } }); - - SettingsGarminPostRequest request = new () - { - Upload = true, - TwoStepVerificationEnabled = true - }; - - var response = await controller.GarminPost(request); - - var result = response.Result as BadRequestObjectResult; - result.Should().NotBeNull(); - var value = result.Value as ErrorResponse; - value.Message.Should().Be("Garmin TwoStepVerification cannot be enabled while Automatic Syncing is enabled. Please disable Automatic Syncing first."); - } -} diff --git a/src/UnitTests/Api/Controllers/SyncControllerTests.cs b/src/UnitTests/Api/Controllers/SyncControllerTests.cs index 32bb1f7ee..67e1a29a9 100644 --- a/src/UnitTests/Api/Controllers/SyncControllerTests.cs +++ b/src/UnitTests/Api/Controllers/SyncControllerTests.cs @@ -1,6 +1,7 @@ -using Api.Controllers; +using Api.Contract; +using Api.Controllers; using Common; -using Common.Dto.Api; +using Common.Dto; using Common.Service; using Common.Stateful; using FluentAssertions; @@ -14,8 +15,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using ErrorResponse = Common.Dto.Api.ErrorResponse; -using SyncErrorResponse = Sync.ErrorResponse; +using ErrorResponse = Api.Contract.ErrorResponse; namespace UnitTests.Api.Controllers { @@ -27,12 +27,19 @@ public async Task SyncAsync_With_NullRequest_Returns400() var autoMocker = new AutoMocker(); var controller = autoMocker.CreateInstance(); + var settings = autoMocker.GetMock(); + settings.SetupWithAny>(nameof(settings.Object.GetSettingsAsync)) + .ReturnsAsync(new Settings()); + + settings.SetupWithAny(nameof(settings.Object.GetGarminAuthentication)) + .Returns((GarminApiAuthentication)null); + var response = await controller.SyncAsync(null); var result = response.Result as BadRequestObjectResult; result.Should().NotBeNull(); var value = result.Value as ErrorResponse; - value.Message.Should().Be("PostRequest must not be null."); + value.Message.Should().Be("Request must not be null."); } [Test] @@ -45,6 +52,9 @@ public async Task SyncAsync_With_DefaultRequest_Returns400() settings.SetupWithAny>(nameof(settings.Object.GetSettingsAsync)) .ReturnsAsync(new Settings()); + settings.SetupWithAny(nameof(settings.Object.GetGarminAuthentication)) + .Returns((GarminApiAuthentication)null); + var request = new SyncPostRequest(); var response = await controller.SyncAsync(request); @@ -65,6 +75,9 @@ public async Task SyncAsync_With_EmptyWorkoutIdsRequest_Returns400() settings.SetupWithAny>(nameof(settings.Object.GetSettingsAsync)) .ReturnsAsync(new Settings()); + settings.SetupWithAny(nameof(settings.Object.GetGarminAuthentication)) + .Returns((GarminApiAuthentication)null); + var request = new SyncPostRequest() { WorkoutIds = new List() }; var response = await controller.SyncAsync(request); @@ -220,9 +233,9 @@ public async Task SyncAsync_When_SyncErrors_MapsErrorsCorrectly() { SyncSuccess = false, }; - syncResult.Errors.Add(new SyncErrorResponse() { Message = "error 1" }); - syncResult.Errors.Add(new SyncErrorResponse() { Message = "error 2" }); - syncResult.Errors.Add(new SyncErrorResponse() { Message = "error 3" }); + syncResult.Errors.Add(new ServiceError() { Message = "error 1" }); + syncResult.Errors.Add(new ServiceError() { Message = "error 2" }); + syncResult.Errors.Add(new ServiceError() { Message = "error 3" }); service.SetReturnsDefault(Task.FromResult(syncResult)); var request = new SyncPostRequest() { WorkoutIds = new List() { "someId" } }; diff --git a/src/UnitTests/Api/Controllers/SystemInfoControllerTests.cs b/src/UnitTests/Api/Controllers/SystemInfoControllerTests.cs index a99b328a6..d642a16a1 100644 --- a/src/UnitTests/Api/Controllers/SystemInfoControllerTests.cs +++ b/src/UnitTests/Api/Controllers/SystemInfoControllerTests.cs @@ -1,13 +1,11 @@ -using Common; -using Common.Dto.Api; -using Core.GitHub; +using Api.Contract; +using Api.Services; using FluentAssertions; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Moq; using Moq.AutoMock; using NUnit.Framework; -using Philosowaffle.Capability.ReleaseChecks.Model; -using System; using System.Threading.Tasks; using WebApp.Controllers; @@ -16,43 +14,15 @@ namespace UnitTests.Api.Controllers; public class SystemInfoControllerTests { [Test] - public async Task GetAsync_WhenNotRequest_DoesNotEnrich_LatestVersionInfo() + public async Task GetAsync_Calls_Service() { // SETUP var autoMocker = new AutoMocker(); var controller = autoMocker.CreateInstance(); - var ghService = autoMocker.GetMock(); + var service = autoMocker.GetMock(); - var context = new DefaultHttpContext(); - context.Request.Scheme = "https"; - context.Request.Host = new HostString("localhost"); - controller.ControllerContext = new Microsoft.AspNetCore.Mvc.ControllerContext() - { - HttpContext = context - }; - - var request = new SystemInfoGetRequest() { CheckForUpdate = false }; - - // ACT - var actionResult = await controller.GetAsync(request); - - // ASSERT - var response = actionResult.Value; - response.Should().NotBeNull(); - - response.NewerVersionAvailable.Should().BeNull(); - response.LatestVersionInformation.Should().BeNull(); - - ghService.Verify(x => x.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion), Times.Never()); - } - - [Test] - public async Task GetAsync_WhenRequest_Enriches_LatestVersionInfo() - { - // SETUP - var autoMocker = new AutoMocker(); - var controller = autoMocker.CreateInstance(); - var ghService = autoMocker.GetMock(); + service.SetupWithAny>(nameof(service.Object.GetAsync)) + .ReturnsAsync(new SystemInfoGetResponse()); var context = new DefaultHttpContext(); context.Request.Scheme = "https"; @@ -62,27 +32,15 @@ public async Task GetAsync_WhenRequest_Enriches_LatestVersionInfo() HttpContext = context }; - ghService.Setup(x => x.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion)) - .ReturnsAsync(new LatestReleaseInformation() - { - IsReleaseNewerThanInstalledVersion = true, - Description = "adf", - LatestVersion = "v45.90.23", - ReleaseDate = DateTime.Now, - ReleaseUrl = "https://www.google.com" - }); + var request = new SystemInfoGetRequest() { CheckForUpdate = false }; // ACT - var request = new SystemInfoGetRequest() { CheckForUpdate = true }; var actionResult = await controller.GetAsync(request); // ASSERT - var response = actionResult.Value; + var response = actionResult.Result as OkObjectResult; response.Should().NotBeNull(); - response.NewerVersionAvailable.Should().NotBeNull(); - response.LatestVersionInformation.Should().NotBeNull(); - - ghService.Verify(x => x.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion), Times.Once()); + service.Verify(x => x.GetAsync(request, "https", "localhost"), Times.Once()); } } diff --git a/src/UnitTests/Common/Api/PagingTests.cs b/src/UnitTests/Common/Api/PagingTests.cs index 163f15661..605baa4b8 100644 --- a/src/UnitTests/Common/Api/PagingTests.cs +++ b/src/UnitTests/Common/Api/PagingTests.cs @@ -1,4 +1,4 @@ -using Common.Dto.Api; +using Api.Contract; using NUnit.Framework; using System.Collections.Generic; @@ -11,7 +11,7 @@ public class PagingTests [TestCase(-1, 0, ExpectedResult = false)] [TestCase(5, 100, ExpectedResult = false)] [TestCase(1, 0, ExpectedResult = true)] - [TestCase(100, 5, ExpectedResult = true)] + [TestCase(100, 5, ExpectedResult = true)] public bool PagingResponseBase_Calculates_HasNext_Correctly(int pageCount, int pageIndex) { var pagedResponse = new TestPagingContract() diff --git a/src/UnitTests/UnitTests.csproj b/src/UnitTests/UnitTests.csproj index a5b0e4505..7ee831103 100644 --- a/src/UnitTests/UnitTests.csproj +++ b/src/UnitTests/UnitTests.csproj @@ -21,7 +21,7 @@ - + diff --git a/src/WebUI/ApiClient.cs b/src/WebUI/ApiClient.cs index b55125bf9..496da244c 100644 --- a/src/WebUI/ApiClient.cs +++ b/src/WebUI/ApiClient.cs @@ -1,33 +1,11 @@ -using Common; -using Common.Dto.Api; +using Api.Contract; +using Common; using Flurl; using Flurl.Http; +using SharedUI; namespace WebUI; -public interface IApiClient -{ - Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetRequest request); - Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetAllRequest request); - - Task SettingsGetAsync(); - Task SettingsAppPostAsync(Common.App appSettings); - Task SettingsFormatPostAsync(Format formatSettings); - Task SettingsPelotonPostAsync(SettingsPelotonPostRequest pelotonSettings); - Task SettingsGarminPostAsync(SettingsGarminPostRequest garminSettings); - - Task SyncGetAsync(); - Task SyncPostAsync(SyncPostRequest syncPostRequest); - - Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest); - - Task GetAnnualProgressAsync(); - - Task GetGarminAuthenticationAsync(); - Task SignInToGarminAsync(); - Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest request); -} - public class ApiClient : IApiClient { private string _apiUrl; @@ -37,78 +15,171 @@ public ApiClient(string apiUrl) _apiUrl = apiUrl; } - public Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetRequest request) + public async Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetRequest request) { - return $"{_apiUrl}/api/peloton/workouts" - .SetQueryParams(request) - .GetJsonAsync(); + try + { + return await $"{_apiUrl}/api/peloton/workouts" + .SetQueryParams(request) + .GetJsonAsync(); + + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task SettingsGetAsync() + public async Task SettingsGetAsync() { - return $"{_apiUrl}/api/settings" + try + { + return await $"{_apiUrl}/api/settings" .GetJsonAsync(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task SettingsAppPostAsync(Common.App appSettings) + public async Task SettingsAppPostAsync(Common.App appSettings) { - return $"{_apiUrl}/api/settings/app" + try + { + return await $"{_apiUrl}/api/settings/app" .PostJsonAsync(appSettings) .ReceiveJson(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task SettingsFormatPostAsync(Format formatSettings) + public async Task SettingsFormatPostAsync(Format formatSettings) { - return $"{_apiUrl}/api/settings/format" + try + { + return await $"{_apiUrl}/api/settings/format" .PostJsonAsync(formatSettings) .ReceiveJson(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - - public Task SettingsPelotonPostAsync(SettingsPelotonPostRequest pelotonSettings) + + public async Task SettingsPelotonPostAsync(SettingsPelotonPostRequest pelotonSettings) { - return $"{_apiUrl}/api/settings/peloton" + try + { + return await $"{_apiUrl}/api/settings/peloton" .PostJsonAsync(pelotonSettings) .ReceiveJson(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task SettingsGarminPostAsync(SettingsGarminPostRequest garminSettings) + public async Task SettingsGarminPostAsync(SettingsGarminPostRequest garminSettings) { - return $"{_apiUrl}/api/settings/garmin" + try + { + return await $"{_apiUrl}/api/settings/garmin" .PostJsonAsync(garminSettings) .ReceiveJson(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task SyncGetAsync() + public async Task SyncGetAsync() { - return $"{_apiUrl}/api/sync" + try + { + return await $"{_apiUrl}/api/sync" .GetJsonAsync(); + } + catch (FlurlHttpTimeoutException te) + { + throw new SyncTimeoutException(te.Message, te); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task SyncPostAsync(SyncPostRequest syncPostRequest) + public async Task SyncPostAsync(SyncPostRequest syncPostRequest) { - return $"{_apiUrl}/api/sync" + try + { + return await $"{_apiUrl}/api/sync" .PostJsonAsync(syncPostRequest) .ReceiveJson(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest) + public async Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest) { - return $"{_apiUrl}/api/systemInfo" + try + { + return await $"{_apiUrl}/api/systemInfo" .SetQueryParams(systemInfoGetRequest) .GetJsonAsync(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetAllRequest request) + public async Task PelotonWorkoutsGetAsync(PelotonWorkoutsGetAllRequest request) { - return $"{_apiUrl}/api/peloton/workouts/all" + try + { + return await $"{_apiUrl}/api/peloton/workouts/all" .SetQueryParams(request) .GetJsonAsync(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } - public Task GetAnnualProgressAsync() + public async Task GetAnnualProgressAsync() { - return $"{_apiUrl}/api/pelotonannualchallenge/progress" + try + { + return await $"{_apiUrl}/api/pelotonannualchallenge/progress" .GetJsonAsync(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error.Message, e); + } } public Task GetGarminAuthenticationAsync() diff --git a/src/WebUI/Pages/Settings.razor b/src/WebUI/Pages/Settings.razor deleted file mode 100644 index 11ba0ae04..000000000 --- a/src/WebUI/Pages/Settings.razor +++ /dev/null @@ -1,364 +0,0 @@ -@page "/settings" -@inherits TracingComponentBase -@inject IApiClient _apiClient -@inject IHxMessengerService _toaster; - -Settings - -

Settings

-Documentation -

- - - - - - -
- -
- - - -
- -
- - - Advanced - -
- -
-
-
-
- Save - -
-
-
- - - - -
- - - -
- -
- -
- -
- -
-
- - - Advanced - -
- - - -
-
-
-
- Save - -
-
-
- - - -
- -
- -
- - - Password - @if (pelotonSettings.IsPasswordSet) - { - Password is set - } - - - @if (pelotonSettings.IsPasswordSet) - { - - } - - -
- -
- Save -
-
-
- - -
- -
-
- -
- - -
- - Auth - -
-
- -
-
- - - Password - @if (garminSettings.IsPasswordSet) - { - Password is set - } - - - @if (garminSettings.IsPasswordSet) - { - - } - - -
-
-
- - - -
-
- -
- - - Advanced - -
-
- -
- -
- -
-
-
-
-
-
-
-
- Save -
-
-
-
-
-
- -@code { - - private static ICollection lapTypes = Enum.GetValues(typeof(PreferredLapType)).Cast().ToList(); - private static ICollection formatTypes = Enum.GetValues(typeof(FileFormat)).Cast().ToList(); - private static ICollection uploadStrategyTypes = Enum.GetValues(typeof(UploadStrategy)).Cast().ToList(); - private static ICollection workoutTypes = Enum.GetValues(typeof(WorkoutType)).Cast().ToList(); - - private Common.App appSettings; - private Format formatSettings; - private SettingsPelotonGetResponse pelotonSettings; - private SettingsGarminGetResponse garminSettings; - private string configDocumentation; - - private List selectedWorkoutTypes = new List(); - - public Settings() : base(nameof(Settings)) - { - var settings = new SettingsGetResponse(); - appSettings = settings.App; - formatSettings = settings.Format; - pelotonSettings = settings.Peloton; - garminSettings = settings.Garmin; - configDocumentation = string.Empty; - } - - protected override Task OnInitializedAsync() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); - return LoadDataAsync(); - } - - protected async Task SaveAppSettings() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(SaveAppSettings)}", kind: ActivityKind.Client); - - _toaster.Clear(); - - try - { - appSettings = await _apiClient.SettingsAppPostAsync(appSettings); - _toaster.AddInformation("App Settings Saved!"); - } - catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) - { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); - } - catch (Exception e) - { - _toaster.AddError($"Failed to save App Settings - {e.Message} - See logs for details."); - Log.Error("UI - Failed to save App settings.", e); - } - } - - protected async Task SaveFormatSettings() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(SaveFormatSettings)}", kind: ActivityKind.Client); - - _toaster.Clear(); - try - { - formatSettings = await _apiClient.SettingsFormatPostAsync(formatSettings); - _toaster.AddInformation("Format Settings Saved!"); - } - catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) - { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); - } - catch (Exception e) - { - _toaster.AddError($"Failed to save Format Settings - {e.Message} - See logs for details."); - Log.Error("UI - Failed to save Format settings.", e); - } - } - - protected void ClearPelotonPassword() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(ClearPelotonPassword)}", kind: ActivityKind.Client); - pelotonSettings.Password = string.Empty; - pelotonSettings.IsPasswordSet = false; - } - - protected async Task SavePelotonSettings() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(SavePelotonSettings)}", kind: ActivityKind.Client); - - _toaster.Clear(); - - try - { - pelotonSettings.ExcludeWorkoutTypes = selectedWorkoutTypes; - pelotonSettings = await _apiClient.SettingsPelotonPostAsync(pelotonSettings.Map()); - _toaster.AddInformation("Peloton Settings Saved!"); - } - catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) - { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); - } - catch (Exception e) - { - _toaster.AddError($"Failed to save Peloton Settings - {e.Message} - See logs for details."); - Log.Error("UI - Failed to save Peloton settings.", e); - } - } - - protected void ClearGarminPassword() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(ClearGarminPassword)}", kind: ActivityKind.Client); - garminSettings.Password = string.Empty; - garminSettings.IsPasswordSet = false; - } - - protected async Task SaveGarminSettings() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(SaveGarminSettings)}", kind: ActivityKind.Client); - - _toaster.Clear(); - - try - { - garminSettings = await _apiClient.SettingsGarminPostAsync(garminSettings.Map()); - _toaster.AddInformation("Garmin Settings Saved!"); - } - catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) - { - var error = await e.GetResponseJsonAsync(); - _toaster.AddError(error.Message); - } - catch (Exception e) - { - _toaster.AddError($"Failed to save Garmin Settings - {e.Message} - See logs for details."); - Log.Error("UI - Failed to save Garmin settings.", e); - } - } - - private async Task LoadDataAsync() - { - using var tracing = Tracing.ClientTrace($"{nameof(Settings)}.{nameof(LoadDataAsync)}", kind: ActivityKind.Client); - var settingsTask = _apiClient.SettingsGetAsync(); - var systemInfoTask = _apiClient.SystemInfoGetAsync(new SystemInfoGetRequest() { CheckForUpdate = false }); - - await Task.WhenAll(settingsTask, systemInfoTask); - - var settings = await settingsTask; - var systemInfo = await systemInfoTask; - - configDocumentation = systemInfo.Documentation + "/configuration/json.html"; - - appSettings = settings.App; - formatSettings = settings.Format; - pelotonSettings = settings.Peloton; - garminSettings = settings.Garmin; - - selectedWorkoutTypes = pelotonSettings.ExcludeWorkoutTypes.ToList(); - } -} diff --git a/src/WebUI/Pages/_Host.cshtml b/src/WebUI/Pages/_Host.cshtml index 2fb6377a9..d94e7a355 100644 --- a/src/WebUI/Pages/_Host.cshtml +++ b/src/WebUI/Pages/_Host.cshtml @@ -5,4 +5,4 @@ Layout = "_Layout"; } - + diff --git a/src/WebUI/Pages/_Layout.cshtml b/src/WebUI/Pages/_Layout.cshtml index 0b239b716..116a3712c 100644 --- a/src/WebUI/Pages/_Layout.cshtml +++ b/src/WebUI/Pages/_Layout.cshtml @@ -8,10 +8,10 @@ - - - - + + + + @@ -29,8 +29,8 @@
- - - + + + diff --git a/src/WebUI/Program.cs b/src/WebUI/Program.cs index 20fd2a9c7..2a05fe402 100644 --- a/src/WebUI/Program.cs +++ b/src/WebUI/Program.cs @@ -1,5 +1,4 @@ using Common; -using Havit.Blazor.Components.Web; using WebUI; using Serilog; using Serilog.Enrichers.Span; @@ -7,8 +6,7 @@ using Prometheus; using Common.Observe; using Common.Stateful; -using Common.Http; -using Serilog.Settings.Configuration; +using SharedUI; /////////////////////////////////////////////////////////// /// STATICS @@ -45,22 +43,13 @@ /////////////////////////////////////////////////////////// builder.Services.AddScoped(sp => new ApiClient(config.Api.HostUrl)); -builder.Services.AddHxServices(); -builder.Services.AddHxMessenger(); +builder.Services.ConfigureSharedUIServices(); // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); -FlurlConfiguration.Configure(config.Observability, 30); -Tracing.EnableWebUITracing(builder.Services, config.Observability.Jaeger); - -Log.Logger = new LoggerConfiguration() - .ReadFrom.Configuration(builder.Configuration, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) - .Enrich.FromLogContext() - .CreateLogger(); - -Logging.LogSystemInformation(); +ObservabilityStartup.Configure(builder.Services, builder.Configuration, config); Common.Observe.Metrics.CreateAppInfo(); /////////////////////////////////////////////////////////// diff --git a/src/WebUI/WebUI.csproj b/src/WebUI/WebUI.csproj index 1717f1514..5e13f8642 100644 --- a/src/WebUI/WebUI.csproj +++ b/src/WebUI/WebUI.csproj @@ -23,32 +23,15 @@ 94e9df33-6fd6-4f04-9eb2-9a0b820668e2
- - - - - - - - - - - - - - - - - - - + + diff --git a/src/WebUI/_Imports.razor b/src/WebUI/_Imports.razor index fb055249c..9a56346ab 100644 --- a/src/WebUI/_Imports.razor +++ b/src/WebUI/_Imports.razor @@ -7,14 +7,7 @@ @using Microsoft.AspNetCore.Components.Web @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop -@using Common -@using Common.Dto -@using Common.Dto.Api -@using Common.Dto.Peloton -@using Common.Observe +@using SharedUI @using WebUI -@using WebUI.Shared -@using Flurl.Http; @using Havit.Blazor.Components.Web @using Havit.Blazor.Components.Web.Bootstrap -@using Serilog diff --git a/src/WebUI/wwwroot/icon-192.png b/src/WebUI/wwwroot/icon-192.png deleted file mode 100644 index 166f56da7612ea74df6a297154c8d281a4f28a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2626 zcmV-I3cdA-P)v0A9xRwxP|bki~~&uFk>U z#P+PQh zyZ;-jwXKqnKbb6)@RaxQz@vm={%t~VbaZrdbaZrdbaeEeXj>~BG?&`J0XrqR#sSlO zg~N5iUk*15JibvlR1f^^1czzNKWvoJtc!Sj*G37QXbZ8LeD{Fzxgdv#Q{x}ytfZ5q z+^k#NaEp>zX_8~aSaZ`O%B9C&YLHb(mNtgGD&Kezd5S@&C=n~Uy1NWHM`t07VQP^MopUXki{2^#ryd94>UJMYW|(#4qV`kb7eD)Q=~NN zaVIRi@|TJ!Rni8J=5DOutQ#bEyMVr8*;HU|)MEKmVC+IOiDi9y)vz=rdtAUHW$yjt zrj3B7v(>exU=IrzC<+?AE=2vI;%fafM}#ShGDZx=0Nus5QHKdyb9pw&4>4XCpa-o?P(Gnco1CGX|U> z$f+_tA3+V~<{MU^A%eP!8R*-sD9y<>Jc7A(;aC5hVbs;kX9&Sa$JMG!W_BLFQa*hM zri__C@0i0U1X#?)Y=)>JpvTnY6^s;fu#I}K9u>OldV}m!Ch`d1Vs@v9 zb}w(!TvOmSzmMBa9gYvD4xocL2r0ds6%Hs>Z& z#7#o9PGHDmfG%JQq`O5~dt|MAQN@2wyJw_@``7Giyy(yyk(m8U*kk5$X1^;3$a3}N^Lp6hE5!#8l z#~NYHmKAs6IAe&A;bvM8OochRmXN>`D`{N$%#dZCRxp4-dJ?*3P}}T`tYa3?zz5BA zTu7uE#GsDpZ$~j9q=Zq!LYjLbZPXFILZK4?S)C-zE1(dC2d<7nO4-nSCbV#9E|E1MM|V<9>i4h?WX*r*ul1 z5#k6;po8z=fdMiVVz*h+iaTlz#WOYmU^SX5#97H~B32s-#4wk<1NTN#g?LrYieCu> zF7pbOLR;q2D#Q`^t%QcY06*X-jM+ei7%ZuanUTH#9Y%FBi*Z#22({_}3^=BboIsbg zR0#jJ>9QR8SnmtSS6x($?$}6$x+q)697#m${Z@G6Ujf=6iO^S}7P`q8DkH!IHd4lB zDzwxt3BHsPAcXFFY^Fj}(073>NL_$A%v2sUW(CRutd%{G`5ow?L`XYSO*Qu?x+Gzv zBtR}Y6`XF4xX7)Z04D+fH;TMapdQFFameUuHL34NN)r@aF4RO%x&NApeWGtr#mG~M z6sEIZS;Uj1HB1*0hh=O@0q1=Ia@L>-tETu-3n(op+97E z#&~2xggrl(LA|giII;RwBlX2^Q`B{_t}gxNL;iB11gEPC>v` zb4SJ;;BFOB!{chn>?cCeGDKuqI0+!skyWTn*k!WiPNBf=8rn;@y%( znhq%8fj2eAe?`A5mP;TE&iLEmQ^xV%-kmC-8mWao&EUK_^=GW-Y3z ksi~={si~={skwfB0gq6itke#r1ONa407*qoM6N<$g11Kq@c;k- diff --git a/src/WebUI/wwwroot/icon-512.png b/src/WebUI/wwwroot/icon-512.png deleted file mode 100644 index c2dd4842dc93df73c322218ee03eca142a19a338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6311 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 diff --git a/src/WebUI/wwwroot/manifest.json b/src/WebUI/wwwroot/manifest.json index 845e87066..1cfdb2a2b 100644 --- a/src/WebUI/wwwroot/manifest.json +++ b/src/WebUI/wwwroot/manifest.json @@ -8,14 +8,9 @@ "prefer_related_applications": false, "icons": [ { - "src": "icon-512.png", - "type": "image/png", + "src": "_content/SharedUI/favicon.ico", + "type": "image/ico", "sizes": "512x512" - }, - { - "src": "icon-192.png", - "type": "image/png", - "sizes": "192x192" } ] } diff --git a/vNextReleaseNotes.md b/vNextReleaseNotes.md index 77a4e2681..f32d6ba96 100644 --- a/vNextReleaseNotes.md +++ b/vNextReleaseNotes.md @@ -3,6 +3,7 @@ ## Features +- [#352] Created Windows GUI application - [#421] Uplift to dotnet 7 ## Changes From e1704e2b1e87c93a00f2fc31d0763a1449f2659a Mon Sep 17 00:00:00 2001 From: Bailey Date: Sun, 30 Apr 2023 07:54:48 -0500 Subject: [PATCH 04/20] [465] remove support for different upload strategies (#489) --- .github/workflows/pr-check.yml | 18 ----- .github/workflows/publish_distros_latest.yml | 24 ------- .github/workflows/release.yml | 30 +------- .github/workflows/sync_peloton_to_garmin.yml | 6 +- configuration.example.json | 3 +- docker/Dockerfile.api | 12 +--- docker/Dockerfile.console | 12 +--- docs/configuration/json.md | 16 +---- python/lib/garminClient.py | 67 ------------------ python/requirements.txt | 3 - python/upload.py | 21 ------ src/Api.Contract/SettingsContracts.cs | 6 -- src/Common/Configuration.cs | 13 ---- src/Garmin/GarminUploader.cs | 74 +------------------- src/SharedUI/IApiClient.cs | 4 +- src/SharedUI/Shared/GarminSettingsForm.razor | 9 --- src/UnitTests/Common/ConfigurationTests.cs | 1 - src/WebUI/ApiClient.cs | 26 ++++--- vNextReleaseNotes.md | 21 +++++- 19 files changed, 50 insertions(+), 316 deletions(-) delete mode 100644 python/lib/garminClient.py delete mode 100644 python/requirements.txt delete mode 100644 python/upload.py diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 6fb95712d..09b0b9a66 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -74,24 +74,6 @@ jobs: - name: Copy Config to Distro run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - # Package all-in-one python and add to distro - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r ${{ github.workspace }}/python/requirements.txt - pip install pyinstaller - - - name: Package Python - Windows - if: ${{ matrix.os == 'win10-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - # Create Build Artifact - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} uses: actions/upload-artifact@v3 diff --git a/.github/workflows/publish_distros_latest.yml b/.github/workflows/publish_distros_latest.yml index fb41119cc..49699cc00 100644 --- a/.github/workflows/publish_distros_latest.yml +++ b/.github/workflows/publish_distros_latest.yml @@ -1,5 +1,4 @@ # This workflow will: -# - Build python package for os # - Publish latest all-in-one windows exe name: Publish Distro Latest @@ -54,29 +53,6 @@ jobs: - name: Copy Config to Distro run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - # Package all-in-one python and add to distro - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r ${{ github.workspace }}/python/requirements.txt - pip install pyinstaller - - - name: Package Python - Windows - if: ${{ matrix.os == 'win10-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - - - name: Package Python - MacOS - if: ${{ matrix.os == 'osx-x64' }} - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - # Create Artifact - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} uses: actions/upload-artifact@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f138982df..d759e1b15 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,9 +22,9 @@ jobs: dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] include: - dockerfile: 'Dockerfile.console' - tag: stable - versionTag: v${{ github.event.inputs.version }} - majorVersionTag: v${{ github.event.inputs.majorVersion }} + tag: console-stable + versionTag: console-v${{ github.event.inputs.version }} + majorVersionTag: console-v${{ github.event.inputs.majorVersion }} - dockerfile: 'Dockerfile.api' tag: api-stable versionTag: api-v${{ github.event.inputs.version }} @@ -118,30 +118,6 @@ jobs: - name: Copy Config to Distro run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - # Package all-in-one python and add to distro - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r ${{ github.workspace }}/python/requirements.txt - pip install pyinstaller - - - name: Package Python - Windows - if: ${{ matrix.os == 'win10-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - - - name: Package Python - MacOS - if: ${{ matrix.os == 'osx-x64' }} - working-directory: ${{ github.workspace }}/python - run: | - pyinstaller -n upload --distpath ${{ github.workspace }}/dist/${{ matrix.os }}/python/ --console --clean --onefile --noconfirm --add-data "${{ env.RUNNER_TOOL_CACHE }}/python/3.9.6/x64/lib/site-packages/cloudscraper;./cloudscraper" ${{ github.workspace }}/python/upload.py - # Create Build Artifact - name: Upload Artifact ${{ matrix.os }}_${{ github.event.inputs.version }} uses: actions/upload-artifact@v3 diff --git a/.github/workflows/sync_peloton_to_garmin.yml b/.github/workflows/sync_peloton_to_garmin.yml index 9280dc946..46e7d3370 100644 --- a/.github/workflows/sync_peloton_to_garmin.yml +++ b/.github/workflows/sync_peloton_to_garmin.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest # The type of runner that the job will run on container: - image: philosowaffle/peloton-to-garmin:stable + image: philosowaffle/peloton-to-garmin:console-stable steps: - name: Set env run: echo "OUTPUT_DIR=/app/output" >> $GITHUB_ENV @@ -54,12 +54,10 @@ jobs: }, "Peloton": { "NumWorkoutsToDownload": ${{ github.event.inputs.workoutsToDownload || env.DEFAULT_WORKOUT_NUM }}, - "ExcludeWorkoutTypes": [ "meditation" ], }, "Garmin": { "Upload": true, - "FormatToUpload": "fit", - "UploadStrategy": 2 + "FormatToUpload": "fit" }, "Observability": { "Prometheus": { diff --git a/configuration.example.json b/configuration.example.json index 1956bbb8a..e1061ca41 100644 --- a/configuration.example.json +++ b/configuration.example.json @@ -28,8 +28,7 @@ "Password": "", "TwoStepVerificationEnabled": false, "Upload": false, - "FormatToUpload": "fit", - "UploadStrategy": 2 + "FormatToUpload": "fit" }, "Observability": { diff --git a/docker/Dockerfile.api b/docker/Dockerfile.api index 792868113..304e92b60 100644 --- a/docker/Dockerfile.api +++ b/docker/Dockerfile.api @@ -3,20 +3,12 @@ ################### FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final -ENV PYTHONUNBUFFERED=1 RUN apt-get update \ - && apt-get -y install bash python3 python3-pip tzdata \ + && apt-get -y install bash tzdata \ && apt-get purge -y -f --force-yes $EXT_BUILD_DEPS \ && apt-get autoremove -y \ && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && ln -sf python3 /usr/bin/python \ - && pip3 install --no-cache --upgrade pip setuptools \ - && python --version \ - && pip3 --version - -COPY ./python/requirements.txt ./requirements.txt -RUN pip3 install -r requirements.txt + && rm -rf /var/lib/apt/lists/* RUN groupadd -g 1015 p2g && useradd -g p2g -u 1015 p2g diff --git a/docker/Dockerfile.console b/docker/Dockerfile.console index 3dc22aff7..4b3f6f22f 100644 --- a/docker/Dockerfile.console +++ b/docker/Dockerfile.console @@ -3,20 +3,12 @@ ################### FROM mcr.microsoft.com/dotnet/aspnet:7.0 as final -ENV PYTHONUNBUFFERED=1 RUN apt-get update \ - && apt-get -y install bash python3 python3-pip tzdata \ + && apt-get -y install bash tzdata \ && apt-get purge -y -f --force-yes $EXT_BUILD_DEPS \ && apt-get autoremove -y \ && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && ln -sf python3 /usr/bin/python \ - && pip3 install --no-cache --upgrade pip setuptools \ - && python --version \ - && pip3 --version - -COPY ./python/requirements.txt ./requirements.txt -RUN pip3 install -r requirements.txt + && rm -rf /var/lib/apt/lists/* RUN groupadd -g 1015 p2g && useradd -g p2g -u 1015 p2g diff --git a/docs/configuration/json.md b/docs/configuration/json.md index 964ecaf93..74b1d1751 100644 --- a/docs/configuration/json.md +++ b/docs/configuration/json.md @@ -238,8 +238,7 @@ This section provides settings related to uploading workouts to Garmin. "Password": "garmin", "TwoStepVerificationEnabled": false, "Upload": false, - "FormatToUpload": "fit", - "UploadStrategy": 2 + "FormatToUpload": "fit" } ``` @@ -256,19 +255,6 @@ This section provides settings related to uploading workouts to Garmin. | TwoStepVerificationEnabled | no | `false` | `Garmin Tab` | Whether or not your Garmin account is protected by Two Step Verification | | Upload | no | `false` | `Garmin Tab` | `true` indicates you wish downloaded workouts to be automatically uploaded to Garmin for you. | | FormatToUpload | no | `fit` | `Garmin Tab > Advanced` | Valid values are `fit` or `tcx`. Ensure the format you specify here is also enabled in your [Format config](#format-config) | -| UploadStrategy | **yes if Upload=true** | `null` | `Garmin Tab > Advanced` | Allows configuring different upload strategies for syncing with Garmin. Valid values are `[0 - PythonAndGuploadInstalledLocally, 1 - WindowsExeBundledPython, 2 - NativeImplV1]`. See [upload strategies](#upload-strategies) for more info. | - -### Upload Strategies - -Because Garmin does not officially support 3rd party uploads by small projects like P2G, over time we have occassionally encountered upload issues. This has caused P2G's upload strategy to evolve. Based on your installation method and or geo location, different upload strategies have worked for different people at different times. - -If you are just getting started with P2G, I recommend you start with upload strategy `2 - NativeImplV1`. You can find more details about the strategies below. - -| Strategy | Config Value | Supports Garmin Two Step Verification| Description | -|:----------|:-------------|:-------------------------------------|:------------| -| PythonAndGuploadInstalledLocally | 0 | maybe | The very first strategy P2G used. This assumes you have Python 3 and the [garmin-uploader](https://github.com/La0/garmin-uploader) python library already installed on your computer. This strategy uses the `garmin-uploader` python library for handling all uploads to Garmin. | -| WindowsExeBundledPython | 1 | no | If you are running the windows executable version of P2G and would like to use the [garmin-uploader](https://github.com/La0/garmin-uploader) python library for uploads then use this strategy. | -| NativeImplV1 | 2 | yes | **The most current and recommended upload strategy.** P2G preforms the upload to Garmin itself without relying on 3rd party libraries. | ## Observability Config diff --git a/python/lib/garminClient.py b/python/lib/garminClient.py deleted file mode 100644 index e75414410..000000000 --- a/python/lib/garminClient.py +++ /dev/null @@ -1,67 +0,0 @@ -import logging -import time -import os -import pkgutil -import requests -import tempfile -from datetime import datetime -from garmin_uploader.workflow import Workflow -from garmin_uploader.workflow import User -from garmin_uploader.workflow import Activity - -cert_data = pkgutil.get_data('certifi', 'cacert.pem') -handle = tempfile.NamedTemporaryFile(delete=False) -handle.write(cert_data) -handle.flush() -os.environ['REQUESTS_CA_BUNDLE'] = handle.name - -class GarminClient: - - """Main Garmin Api Class""" - def __init__(self, user_email, user_password): - self.logger = logging.getLogger('peloton-to-garmin.garminClient') - - assert user_email is not None and user_email != "", "Please specify your Garmin login email." - assert user_password is not None and user_password != "", "Please specify your Garmin login password." - - self.user = User(user_email, user_password) - self.activities = {} - self.last_request = 0.0 - - def addActivity(self, path, activityType=None, activityName=None, activityId=None): - index = activityId - if index is None: - index = len(self.activities) + 1 - - self.activities[index] = Activity(path, activityName, activityType) - - def uploadToGarmin(self, uploadHistoryTable=None): - assert self.user.authenticate(), "Failed to authenticate garmin user." - - for activityId in self.activities: - try: - self.rate_limit() - activityName = self.activities[activityId].name - - self.logger.info("Uploading activity: {}".format(self.activities[activityId].path)) - self.activities[activityId].upload(self.user) - - if uploadHistoryTable is not None: - uploadHistoryTable.insert({'workoutId': activityId, 'title': activityName, 'uploadDt': datetime.now().strftime("%Y-%m-%d %H:%M:%S")}) - - self.logger.info("Uploaded activity: {}".format(activityName)) - except Exception as e: - self.logger.error("Failed to upload activity: {} to Garmin Connect with error {}".format(self.activities[activityId].path, e)) - - def rate_limit(self): - min_period = 1 - if not self.last_request: - self.last_request = 0.0 - - wait_time = max(0, min_period - (time.time() - self.last_request)) - if wait_time <= 0: - return - time.sleep(wait_time) - - self.last_request = time.time() - self.logger.debug("Rate limiting for %f" % wait_time) \ No newline at end of file diff --git a/python/requirements.txt b/python/requirements.txt deleted file mode 100644 index cc92275a3..000000000 --- a/python/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -# garmin_uploader>=1.0.10 -# Patch cloudscrapper fix for garmin auth failures -https://github.com/La0/garmin-uploader/archive/cloudscraper.zip \ No newline at end of file diff --git a/python/upload.py b/python/upload.py deleted file mode 100644 index 89f13e1e9..000000000 --- a/python/upload.py +++ /dev/null @@ -1,21 +0,0 @@ -import argparse -from lib import garminClient - -if __name__ == "__main__": - args = argparse.ArgumentParser() - args.add_argument("-ge", "--garmin_email",help="Garmin email address for upload to Garmin",dest="garmin_email",type=str, required=True) - args.add_argument("-gp", "--garmin_password",help="Garmin password for upload to Garmin",dest="garmin_password",type=str, required=True) - args.add_argument("-f", "--files", help="Path to file to upload", dest="files", nargs="+", required=True) - - argResults = args.parse_args() - - garmin_email = argResults.garmin_email - garmin_password = argResults.garmin_password - files = argResults.files - - garminUploader = garminClient.GarminClient(garmin_email, garmin_password) - - for file in files: - garminUploader.addActivity(file) - - garminUploader.uploadToGarmin() \ No newline at end of file diff --git a/src/Api.Contract/SettingsContracts.cs b/src/Api.Contract/SettingsContracts.cs index fc21a6cb4..05b97be51 100644 --- a/src/Api.Contract/SettingsContracts.cs +++ b/src/Api.Contract/SettingsContracts.cs @@ -1,6 +1,5 @@ using Common; using Common.Dto; -using System.Collections.Generic; namespace Api.Contract; @@ -35,7 +34,6 @@ public SettingsGetResponse(Settings settings) TwoStepVerificationEnabled = settings.Garmin.TwoStepVerificationEnabled, FormatToUpload = settings.Garmin.FormatToUpload, Upload = settings.Garmin.Upload, - UploadStrategy = settings.Garmin.UploadStrategy, IsPasswordSet = !string.IsNullOrEmpty(settings.Garmin.Password) }; } @@ -54,7 +52,6 @@ public class SettingsGarminGetResponse public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } - public UploadStrategy UploadStrategy { get; set; } } public class SettingsGarminPostRequest @@ -64,7 +61,6 @@ public class SettingsGarminPostRequest public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } - public UploadStrategy UploadStrategy { get; set; } } public class SettingsPelotonGetResponse @@ -122,7 +118,6 @@ public static SettingsGarminPostRequest Map(this SettingsGarminGetResponse respo TwoStepVerificationEnabled = response.TwoStepVerificationEnabled, FormatToUpload = response.FormatToUpload, Upload = response.Upload, - UploadStrategy = response.UploadStrategy, }; } @@ -135,7 +130,6 @@ public static Garmin Map(this SettingsGarminPostRequest request) TwoStepVerificationEnabled = request.TwoStepVerificationEnabled, FormatToUpload = request.FormatToUpload, Upload = request.Upload, - UploadStrategy = request.UploadStrategy, }; } } \ No newline at end of file diff --git a/src/Common/Configuration.cs b/src/Common/Configuration.cs index 5f75d9a7b..6e69f6375 100644 --- a/src/Common/Configuration.cs +++ b/src/Common/Configuration.cs @@ -164,18 +164,12 @@ public Peloton() public class Garmin : ICredentials { - public Garmin() - { - UploadStrategy = UploadStrategy.NativeImplV1; - } - public EncryptionVersion EncryptionVersion { get; set; } public string Email { get; set; } public string Password { get; set; } public bool TwoStepVerificationEnabled { get; set; } public bool Upload { get; set; } public FileFormat FormatToUpload { get; set; } - public UploadStrategy UploadStrategy { get; set; } } public class ApiSettings @@ -228,13 +222,6 @@ public class Developer public string UserAgent { get; set; } } -public enum UploadStrategy : byte -{ - PythonAndGuploadInstalledLocally = 0, - WindowsExeBundledPython = 1, - NativeImplV1 = 2 -} - public enum FileFormat : byte { Fit = 0, diff --git a/src/Garmin/GarminUploader.cs b/src/Garmin/GarminUploader.cs index 93e91d867..d74381d05 100644 --- a/src/Garmin/GarminUploader.cs +++ b/src/Garmin/GarminUploader.cs @@ -6,7 +6,6 @@ using Prometheus; using Serilog; using System; -using System.Diagnostics; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -72,19 +71,8 @@ public async Task UploadToGarminAsync() using var metrics = WorkoutUploadDuration .WithLabels(files.Count().ToString()).NewTimer(); - switch (settings.Garmin.UploadStrategy) - { - case UploadStrategy.PythonAndGuploadInstalledLocally: - case UploadStrategy.WindowsExeBundledPython: - UploadViaPython(files, settings); - _logger.Information("Upload complete."); - return; - case UploadStrategy.NativeImplV1: - default: - await UploadAsync(files, settings); - _logger.Information("Upload complete."); - return; - } + await UploadAsync(files, settings); + _logger.Information("Upload complete."); } private async Task UploadAsync(string[] files, Settings settings) @@ -119,64 +107,6 @@ private async Task RateLimit() await Task.Delay(waitDuration); } - private void UploadViaPython(string[] files, Settings settings) - { - using var tracing = Tracing.Trace($"{nameof(GarminUploader)}.{nameof(UploadViaPython)}.UploadToGarminViaPython") - .WithTag(TagKey.Category, "gupload"); - - settings.Garmin.EnsureGarminCredentialsAreProvided(); - - ProcessStartInfo start = new ProcessStartInfo(); - var paths = String.Join(" ", files.Select(p => $"\"{p}\"")); - var cmd = string.Empty; - - if (settings.Garmin.UploadStrategy == UploadStrategy.PythonAndGuploadInstalledLocally) - { - start.FileName = "gupload"; - cmd = $"-u {settings.Garmin.Email} -p {settings.Garmin.Password} {paths}"; - } else - { - paths = String.Join(" ", files.Select(f => $"\"{Path.GetFullPath(f)}\"")); - start.FileName = Path.Join(Environment.CurrentDirectory, "python", "upload.exe"); - cmd = $"-ge {settings.Garmin.Email} -gp {settings.Garmin.Password} -f {paths}"; - } - - _logger.Information("Beginning Garmin Upload."); - _logger.Information("Uploading to Garmin with the following parameters: {@File} {@Command}", start.FileName, cmd.Replace(settings.Garmin.Email, "**email**").Replace(settings.Garmin.Password, "**password**")); - - start.Arguments = cmd; - start.UseShellExecute = false; - start.CreateNoWindow = true; - start.RedirectStandardOutput = true; - start.RedirectStandardError = true; - - FilesToUpload.Set(files.Length); - if (files.Length > 20) - _logger.Information("Detected large number of files for upload to Garmin. Please be patient, this could take a while."); - using var process = Process.Start(start); - process.WaitForExit(); - - var stderr = process.StandardError.ReadToEnd(); - var stdout = process.StandardOutput.ReadToEnd(); - - if (!string.IsNullOrEmpty(stdout)) - _logger.Information(stdout); - - // Despite coming from StandardError, this is not necessarily an error, just the output - if (!string.IsNullOrEmpty(stderr)) - _logger.Information("GUpload: {Output}", stderr); - - if (process.HasExited && process.ExitCode != 0) - { - FailedUploadAttemptsGauge.Inc(); - throw new GarminUploadException("GUpload returned an error code. Failed to upload workouts.", process.ExitCode); - } else - { - FailedUploadAttemptsGauge.Set(0); - FilesToUpload.Set(0); - } - } - public static void ValidateConfig(Settings config) { if (config.Garmin.Upload == false) return; diff --git a/src/SharedUI/IApiClient.cs b/src/SharedUI/IApiClient.cs index c8fe397d2..2450521b6 100644 --- a/src/SharedUI/IApiClient.cs +++ b/src/SharedUI/IApiClient.cs @@ -28,11 +28,11 @@ public interface IApiClient public class ApiClientException : Exception { - public ApiClientException(string message, Exception innerException) : base(message, innerException) { } + public ApiClientException(string? message, Exception innerException) : base(message, innerException) { } public ApiClientException(ErrorResponse error) : base(error.Message, error.Exception) { } } public class SyncTimeoutException : Exception { - public SyncTimeoutException(string message, Exception innerException) : base(message, innerException) { } + public SyncTimeoutException(string? message, Exception innerException) : base(message, innerException) { } } \ No newline at end of file diff --git a/src/SharedUI/Shared/GarminSettingsForm.razor b/src/SharedUI/Shared/GarminSettingsForm.razor index 101e3c11b..f01176448 100644 --- a/src/SharedUI/Shared/GarminSettingsForm.razor +++ b/src/SharedUI/Shared/GarminSettingsForm.razor @@ -54,14 +54,6 @@ NullDataText="Loading info..." @bind-Value="garminSettings.FormatToUpload" /> - -
- -
@@ -76,7 +68,6 @@ @code { private static ICollection formatTypes = Enum.GetValues(typeof(FileFormat)).Cast().ToList(); - private static ICollection uploadStrategyTypes = Enum.GetValues(typeof(UploadStrategy)).Cast().ToList(); private SettingsGarminGetResponse garminSettings; diff --git a/src/UnitTests/Common/ConfigurationTests.cs b/src/UnitTests/Common/ConfigurationTests.cs index 82611239d..5a3109d49 100644 --- a/src/UnitTests/Common/ConfigurationTests.cs +++ b/src/UnitTests/Common/ConfigurationTests.cs @@ -63,7 +63,6 @@ public void DefaultConfigInit_Garmin_ShouldHaveDefaulValues() config.Garmin.Password.Should().BeNull(); config.Garmin.FormatToUpload.Should().Be(FileFormat.Fit); config.Garmin.Upload.Should().BeFalse(); - config.Garmin.UploadStrategy.Should().Be(UploadStrategy.NativeImplV1); } [Test] diff --git a/src/WebUI/ApiClient.cs b/src/WebUI/ApiClient.cs index 496da244c..5f830efb4 100644 --- a/src/WebUI/ApiClient.cs +++ b/src/WebUI/ApiClient.cs @@ -27,7 +27,7 @@ public async Task PelotonWorkoutsGetAsync(PelotonWor catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -41,7 +41,7 @@ public async Task SettingsGetAsync() catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -56,7 +56,7 @@ public async Task SettingsGetAsync() catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -71,7 +71,7 @@ public async Task SettingsFormatPostAsync(Format formatSettings) catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -86,7 +86,7 @@ public async Task SettingsPelotonPostAsync(SettingsP catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -101,7 +101,7 @@ public async Task SettingsGarminPostAsync(SettingsGar catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -119,7 +119,7 @@ public async Task SyncGetAsync() catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -131,10 +131,14 @@ public async Task SyncPostAsync(SyncPostRequest syncPostReques .PostJsonAsync(syncPostRequest) .ReceiveJson(); } + catch (FlurlHttpTimeoutException te) + { + throw new SyncTimeoutException(te.Message, te); + } catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -149,7 +153,7 @@ public async Task SystemInfoGetAsync(SystemInfoGetRequest catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -164,7 +168,7 @@ public async Task PelotonWorkoutsGetAsync(Peloton catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } @@ -178,7 +182,7 @@ public async Task GetAnnualProgressAsync() catch (FlurlHttpException e) { var error = await e.GetResponseJsonAsync(); - throw new ApiClientException(error.Message, e); + throw new ApiClientException(error?.Message, e); } } diff --git a/vNextReleaseNotes.md b/vNextReleaseNotes.md index f32d6ba96..45e4814b3 100644 --- a/vNextReleaseNotes.md +++ b/vNextReleaseNotes.md @@ -8,4 +8,23 @@ ## Changes -- [#302] Removed deprecated settings `PythonAndGUploadInstalled` and `CloseWindowOnFinish` \ No newline at end of file +- [#302] Removed deprecated settings `PythonAndGUploadInstalled` and `CloseWindowOnFinish` +- [#465] Remove support for uploading to Garmin via Python - `UploadStrategy` + +## Docker Tags + +- Console + - `console-stable` + - `console-latest` + - `console-v4.0.0` + - `console-v4` +- Api + - `api-stable` + - `api-latest` + - `api-v4.0.0` + - `api-v4` +- WebUI + - `webui-stable` + - `webui-latest` + - `webui-v4.0.0` + - `webui-v4` From 39714d27d452f8f87528600f380b5acbfdbe3873 Mon Sep 17 00:00:00 2001 From: Bailey Date: Sun, 30 Apr 2023 08:10:39 -0500 Subject: [PATCH 05/20] [479] winui remove metrics/tracing support (#490) --- src/Api/Program.cs | 45 +++++++++++------------------- src/ClientUI/MauiProgram.cs | 8 ++---- src/Common/ObservabilityStartup.cs | 33 ++++++++++++++++++++-- src/WebUI/Program.cs | 37 ++++++++---------------- 4 files changed, 61 insertions(+), 62 deletions(-) diff --git a/src/Api/Program.cs b/src/Api/Program.cs index fd3feb923..7372a644c 100644 --- a/src/Api/Program.cs +++ b/src/Api/Program.cs @@ -1,11 +1,9 @@ using Api.Services; using Common; using Common.Database; -using Common.Observe; using Common.Stateful; using Prometheus; using Serilog; -using Serilog.Enrichers.Span; using Serilog.Events; using SharedStartup; using System.Reflection; @@ -21,8 +19,7 @@ /////////////////////////////////////////////////////////// /// HOST /////////////////////////////////////////////////////////// -var builder = WebApplication - .CreateBuilder(args); +var builder = WebApplication.CreateBuilder(args); var configProvider = builder.Configuration.AddJsonFile(Statics.ConfigPath, optional: true, reloadOnChange: true) .AddEnvironmentVariables(prefix: "P2G_") @@ -33,18 +30,10 @@ builder.WebHost.UseUrls(config.Api.HostUrl); -builder.Host.UseSerilog((ctx, logConfig) => -{ - logConfig - .ReadFrom.Configuration(ctx.Configuration, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) - .Enrich.WithSpan() - .Enrich.FromLogContext(); -}); - -/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// /// SERVICES -/////////////////////////////////////////////////////////// - +/////////////////////////////////////////////////////////// + builder.Services.AddHostedService(); builder.Services.AddControllers(); @@ -64,7 +53,7 @@ builder.Services.ConfigureP2GApiServices(); -ObservabilityStartup.Configure(builder.Services, builder.Configuration, config); +ObservabilityStartup.ConfigureApi(builder.Services, builder.Configuration, config); Common.Observe.Metrics.CreateAppInfo(); /////////////////////////////////////////////////////////// @@ -73,8 +62,17 @@ var app = builder.Build(); -// Setup initial Tracing Source -Tracing.Source = new(Statics.TracingService); +if (Log.IsEnabled(LogEventLevel.Verbose)) + app.UseSerilogRequestLogging(); + +if (config.Observability.Prometheus.Enabled) +{ + Log.Information("Metrics Enabled"); + Common.Observe.Metrics.EnableCollector(config.Observability.Prometheus); + + app.MapMetrics(); + app.UseHttpMetrics(); +} app.UseCors(options => { @@ -86,22 +84,11 @@ app.UseSwagger(); app.UseSwaggerUI(); -if (Log.IsEnabled(LogEventLevel.Verbose)) - app.UseSerilogRequestLogging(); - app.Use((context, next) => { return next.Invoke(); }); -if (config.Observability.Prometheus.Enabled) -{ - Log.Information("Metrics Enabled"); - Common.Observe.Metrics.EnableCollector(config.Observability.Prometheus); - - app.MapMetrics(); - app.UseHttpMetrics(); -} //app.UseHttpsRedirection(); app.UseAuthorization(); diff --git a/src/ClientUI/MauiProgram.cs b/src/ClientUI/MauiProgram.cs index 1c613b2a2..2724c2bb1 100644 --- a/src/ClientUI/MauiProgram.cs +++ b/src/ClientUI/MauiProgram.cs @@ -1,5 +1,4 @@ -using Common.Observe; -using Common; +using Common; using Microsoft.Extensions.Logging; using SharedUI; using Common.Stateful; @@ -56,7 +55,7 @@ public static MauiApp CreateMauiApp() builder.Services.ConfigureSharedUIServices(); builder.Services.ConfigureP2GApiServices(); - ObservabilityStartup.Configure(builder.Services, builder.Configuration, config, hardcodeFileLogging: true); + ObservabilityStartup.ConfigureClientUI(builder.Services, builder.Configuration, config); /////////////////////////////////////////////////////////// /// APP @@ -69,9 +68,6 @@ public static MauiApp CreateMauiApp() builder.Logging.AddDebug(); #endif - // Setup initial Tracing Source - Tracing.Source = new(Statics.TracingService); - return builder.Build(); } diff --git a/src/Common/ObservabilityStartup.cs b/src/Common/ObservabilityStartup.cs index 49ca50f44..80169690e 100644 --- a/src/Common/ObservabilityStartup.cs +++ b/src/Common/ObservabilityStartup.cs @@ -4,19 +4,48 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Serilog; +using Serilog.Enrichers.Span; using System.IO; namespace Common; public static class ObservabilityStartup { - public static void Configure(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config, bool hardcodeFileLogging = false) + public static void ConfigureClientUI(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config) + { + FlurlConfiguration.Configure(config.Observability); + ConfigureLogging(configManager, hardcodeFileLogging:true); + + // Setup initial Tracing Source + Tracing.Source = new(Statics.TracingService); + } + + public static void ConfigureApi(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config) + { + FlurlConfiguration.Configure(config.Observability); + Tracing.EnableApiTracing(services, config.Observability.Jaeger); + ConfigureLogging(configManager); + + // Setup initial Tracing Source + Tracing.Source = new(Statics.TracingService); + } + + public static void ConfigureWebUI(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config) { FlurlConfiguration.Configure(config.Observability); Tracing.EnableWebUITracing(services, config.Observability.Jaeger); + ConfigureLogging(configManager); + // Setup initial Tracing Source + Tracing.Source = new(Statics.TracingService); + } + + private static void ConfigureLogging(ConfigurationManager configManager, bool hardcodeFileLogging = false) + { var loggingConfig = new LoggerConfiguration() - .ReadFrom.Configuration(configManager, sectionName: $"{nameof(Observability)}:Serilog"); + .ReadFrom.Configuration(configManager, sectionName: $"{nameof(Observability)}:Serilog") + .Enrich.WithSpan() + .Enrich.FromLogContext(); if (hardcodeFileLogging) loggingConfig.WriteTo.File(Path.Join(Statics.DefaultOutputDirectory, "log.txt"), rollingInterval: RollingInterval.Day, retainedFileCountLimit: 7); diff --git a/src/WebUI/Program.cs b/src/WebUI/Program.cs index 2a05fe402..da2173c5c 100644 --- a/src/WebUI/Program.cs +++ b/src/WebUI/Program.cs @@ -1,10 +1,8 @@ using Common; using WebUI; using Serilog; -using Serilog.Enrichers.Span; using Serilog.Events; using Prometheus; -using Common.Observe; using Common.Stateful; using SharedUI; @@ -13,12 +11,12 @@ /////////////////////////////////////////////////////////// Statics.AppType = Constants.WebUIName; Statics.MetricPrefix = Constants.WebUIName; -Statics.TracingService = Constants.WebUIName; +Statics.TracingService = Constants.WebUIName; Statics.ConfigPath = Path.Join(Environment.CurrentDirectory, "configuration.local.json"); - -/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// /// HOST -/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// var builder = WebApplication.CreateBuilder(args); var configProvider = builder.Configuration.AddJsonFile(Statics.ConfigPath, optional: true, reloadOnChange: true) @@ -30,26 +28,18 @@ builder.WebHost.UseUrls(config.WebUI.HostUrl); -builder.Host.UseSerilog((ctx, logConfig) => -{ - logConfig - .ReadFrom.Configuration(ctx.Configuration, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) - .Enrich.WithSpan() - .Enrich.FromLogContext(); -}); - /////////////////////////////////////////////////////////// /// SERVICES /////////////////////////////////////////////////////////// builder.Services.AddScoped(sp => new ApiClient(config.Api.HostUrl)); builder.Services.ConfigureSharedUIServices(); - -// Add services to the container. + +// Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); -ObservabilityStartup.Configure(builder.Services, builder.Configuration, config); +ObservabilityStartup.ConfigureWebUI(builder.Services, builder.Configuration, config); Common.Observe.Metrics.CreateAppInfo(); /////////////////////////////////////////////////////////// @@ -58,17 +48,9 @@ var app = builder.Build(); -// Setup initial Tracing Source -Tracing.Source = new(Statics.TracingService); - if (Log.IsEnabled(LogEventLevel.Verbose)) app.UseSerilogRequestLogging(); -app.Use((context, next) => -{ - return next.Invoke(); -}); - if (config.Observability.Prometheus.Enabled) { Log.Information("Metrics Enabled"); @@ -78,6 +60,11 @@ app.UseHttpMetrics(); } +app.Use((context, next) => +{ + return next.Invoke(); +}); + // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { From 99575429cca2cab762450128cb0d0e4642374839 Mon Sep 17 00:00:00 2001 From: Bailey Date: Sun, 30 Jul 2023 07:44:00 -0500 Subject: [PATCH 06/20] version bumps after rebase --- src/Api.Contract/Api.Contract.csproj | 6 +----- src/Api/Api.csproj | 2 +- src/ClientUI/ClientUI.csproj | 3 ++- src/Common/Common.csproj | 10 +++++----- src/SharedUI/SharedUI.csproj | 22 ++-------------------- src/SharedUI/libman.json | 2 +- 6 files changed, 12 insertions(+), 33 deletions(-) diff --git a/src/Api.Contract/Api.Contract.csproj b/src/Api.Contract/Api.Contract.csproj index 2f9aa860f..42b6e2d5f 100644 --- a/src/Api.Contract/Api.Contract.csproj +++ b/src/Api.Contract/Api.Contract.csproj @@ -1,4 +1,4 @@ - + net7.0 @@ -6,10 +6,6 @@ enable - - - - diff --git a/src/Api/Api.csproj b/src/Api/Api.csproj index 0e5d1cf2d..5b9813ef8 100644 --- a/src/Api/Api.csproj +++ b/src/Api/Api.csproj @@ -26,7 +26,7 @@ - + diff --git a/src/ClientUI/ClientUI.csproj b/src/ClientUI/ClientUI.csproj index af49783a3..d610ffd6f 100644 --- a/src/ClientUI/ClientUI.csproj +++ b/src/ClientUI/ClientUI.csproj @@ -61,7 +61,8 @@ - + + diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj index bb2496bfc..e961b7330 100644 --- a/src/Common/Common.csproj +++ b/src/Common/Common.csproj @@ -17,12 +17,12 @@ - + - - - - + + + + diff --git a/src/SharedUI/SharedUI.csproj b/src/SharedUI/SharedUI.csproj index d8f32fa0d..2d710f743 100644 --- a/src/SharedUI/SharedUI.csproj +++ b/src/SharedUI/SharedUI.csproj @@ -11,8 +11,8 @@ - - + + @@ -20,27 +20,9 @@
- - - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.css" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.css.map" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.min.css" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.min.css.map" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.css" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.css.map" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.min.css" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-grid.rtl.min.css.map" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-reboot.css" /> - <_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\css\bootstrap-reboot.css.map" /> - - - - - - diff --git a/src/SharedUI/libman.json b/src/SharedUI/libman.json index 39c8d3d6a..7f2112ebe 100644 --- a/src/SharedUI/libman.json +++ b/src/SharedUI/libman.json @@ -7,7 +7,7 @@ "destination": "wwwroot/lib/font-awesome/" }, { - "library": "bootstrap@5.2.3", + "library": "bootstrap@5.3.0", "destination": "wwwroot/lib/bootstrap/" }, { From 66aa1fd5a115f85326f7aeeefa594f3bbf0363a9 Mon Sep 17 00:00:00 2001 From: Bailey Date: Sun, 30 Jul 2023 09:51:19 -0500 Subject: [PATCH 07/20] [486] support viewing logs from UI (#512) * [486] support viewing logs from UI * ensure log file always starts with header information * keep fewer days of logs --- src/Api.Contract/SystemInfoRequest.cs | 6 +++ src/Api.Service/SystemInfoService.cs | 32 ++++++++++++ src/Api/Controllers/SystemInfoController.cs | 22 ++++++++ src/ClientUI/ServiceClient.cs | 17 ++++++ src/Common/Common.csproj | 1 + src/Common/ObservabilityStartup.cs | 16 ++++-- src/Common/Observe/Logging.cs | 45 +++++++++++++++- src/SharedUI/IApiClient.cs | 1 + src/SharedUI/Pages/About.razor | 50 ++++++------------ src/SharedUI/Shared/Logs.razor | 30 +++++++++++ src/SharedUI/Shared/SystemInfo.razor | 57 +++++++++++++++++++++ src/WebUI/ApiClient.cs | 14 +++++ 12 files changed, 249 insertions(+), 42 deletions(-) create mode 100644 src/SharedUI/Shared/Logs.razor create mode 100644 src/SharedUI/Shared/SystemInfo.razor diff --git a/src/Api.Contract/SystemInfoRequest.cs b/src/Api.Contract/SystemInfoRequest.cs index 89eb6e48d..e082abca1 100644 --- a/src/Api.Contract/SystemInfoRequest.cs +++ b/src/Api.Contract/SystemInfoRequest.cs @@ -56,3 +56,9 @@ public LatestVersionInformation() public string? ReleaseUrl { get; set; } public string? Description { get; set; } } + + +public class SystemInfoLogsGetResponse +{ + public string? LogText { get; set; } +} \ No newline at end of file diff --git a/src/Api.Service/SystemInfoService.cs b/src/Api.Service/SystemInfoService.cs index 742bf96d0..e33be54b8 100644 --- a/src/Api.Service/SystemInfoService.cs +++ b/src/Api.Service/SystemInfoService.cs @@ -1,6 +1,7 @@ using Api.Contract; using Common; using Common.Dto; +using Common.Observe; using Core.GitHub; using Philosowaffle.Capability.ReleaseChecks.Model; @@ -9,6 +10,7 @@ namespace Api.Services; public interface ISystemInfoService { Task GetAsync(SystemInfoGetRequest request, string? scheme = null, string? host = null); + Task> GetLogsAsync(); } public class SystemInfoService : ISystemInfoService @@ -52,4 +54,34 @@ public async Task GetAsync(SystemInfoGetRequest request, Api = $"{scheme}://{host}/swagger" }; } + + public async Task> GetLogsAsync() + { + var result = new ServiceResult(); + + if (string.IsNullOrWhiteSpace(Logging.CurrentFilePath)) + { + result.Error = new ServiceError() { Message = "No log file path found." }; + return result; + } + + var text = string.Empty; + try + { + using (var sr = new StreamReader(Logging.CurrentFilePath, new FileStreamOptions () { Access = FileAccess.Read, Share = FileShare.ReadWrite })) + { + text = await sr.ReadToEndAsync(); + + result.Result = new SystemInfoLogsGetResponse() { LogText = text }; + result.Successful = true; + return result; + } + } + catch (FileNotFoundException ex) + { + result.Error = new ServiceError() { Message = "Failed to read logs", Exception = ex, IsServerException = true }; + } + + return result; + } } diff --git a/src/Api/Controllers/SystemInfoController.cs b/src/Api/Controllers/SystemInfoController.cs index 0d9127128..baa2d74f9 100644 --- a/src/Api/Controllers/SystemInfoController.cs +++ b/src/Api/Controllers/SystemInfoController.cs @@ -1,5 +1,6 @@ using Api.Contract; using Api.Services; +using Api.Service.Helpers; using Microsoft.AspNetCore.Mvc; namespace WebApp.Controllers @@ -28,5 +29,26 @@ public async Task> GetAsync([FromQuery]Syste var result = await _systemInfoService.GetAsync(request, this.Request.Scheme, this.Request.Host.ToString()); return Ok(result); } + + [HttpGet] + [Route("/api/systeminfo/logs")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] + public async Task LogsGetAsync() + { + try + { + var result = await _systemInfoService.GetLogsAsync(); + + if (result.IsErrored()) + return result.GetResultForError(); + + return Ok(result.Result); + + } catch (Exception e) + { + return StatusCode(StatusCodes.Status500InternalServerError, new ErrorResponse($"Unexpected error occurred: {e.Message}")); + } + } } } diff --git a/src/ClientUI/ServiceClient.cs b/src/ClientUI/ServiceClient.cs index 55bce41f4..6ed4fb5d5 100644 --- a/src/ClientUI/ServiceClient.cs +++ b/src/ClientUI/ServiceClient.cs @@ -351,4 +351,21 @@ public async Task SystemInfoGetAsync(SystemInfoGetRequest result.Api = null; return result; } + + public async Task SystemInfoGetLogsAsync() + { + try + { + var result = await _systemInfoService.GetLogsAsync(); + + if (result.IsErrored()) + throw new ApiClientException(result.Error.Message, result.Error.Exception); + + return result.Result; + } + catch (Exception e) + { + throw new ApiClientException($"Unexpected error occurred: {e.Message}", e); + } + } } diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj index e961b7330..a97177b85 100644 --- a/src/Common/Common.csproj +++ b/src/Common/Common.csproj @@ -17,6 +17,7 @@ + diff --git a/src/Common/ObservabilityStartup.cs b/src/Common/ObservabilityStartup.cs index 80169690e..18ee4eeee 100644 --- a/src/Common/ObservabilityStartup.cs +++ b/src/Common/ObservabilityStartup.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.DependencyInjection; using Serilog; using Serilog.Enrichers.Span; +using Serilog.Settings.Configuration; using System.IO; namespace Common; @@ -14,7 +15,7 @@ public static class ObservabilityStartup public static void ConfigureClientUI(IServiceCollection services, ConfigurationManager configManager, AppConfiguration config) { FlurlConfiguration.Configure(config.Observability); - ConfigureLogging(configManager, hardcodeFileLogging:true); + ConfigureLogging(configManager); // Setup initial Tracing Source Tracing.Source = new(Statics.TracingService); @@ -40,15 +41,20 @@ public static void ConfigureWebUI(IServiceCollection services, ConfigurationMana Tracing.Source = new(Statics.TracingService); } - private static void ConfigureLogging(ConfigurationManager configManager, bool hardcodeFileLogging = false) + private static void ConfigureLogging(ConfigurationManager configManager) { var loggingConfig = new LoggerConfiguration() - .ReadFrom.Configuration(configManager, sectionName: $"{nameof(Observability)}:Serilog") + .ReadFrom.Configuration(configManager, new ConfigurationReaderOptions() { SectionName = $"{nameof(Observability)}:Serilog" }) .Enrich.WithSpan() .Enrich.FromLogContext(); - if (hardcodeFileLogging) - loggingConfig.WriteTo.File(Path.Join(Statics.DefaultOutputDirectory, "log.txt"), rollingInterval: RollingInterval.Day, retainedFileCountLimit: 7); + // Always write to app defined log file + loggingConfig.WriteTo.File( + Path.Join(Statics.DefaultOutputDirectory, "log.txt"), + rollingInterval: RollingInterval.Day, + retainedFileCountLimit: 2, + shared: false, + hooks: new CaptureFilePathHook()); Log.Logger = loggingConfig.CreateLogger(); diff --git a/src/Common/Observe/Logging.cs b/src/Common/Observe/Logging.cs index b2cf38e41..8c94be2d8 100644 --- a/src/Common/Observe/Logging.cs +++ b/src/Common/Observe/Logging.cs @@ -1,7 +1,11 @@ using Common.Dto; using Common.Stateful; using Serilog; - +using Serilog.Sinks.File; +using Serilog.Sinks.File.Header; +using System.IO; +using System.Text; + namespace Common.Observe; public class LogContext @@ -12,15 +16,52 @@ public class LogContext public static class Logging { + public static string CurrentFilePath { get; set; } + public static void LogSystemInformation() { Log.Information("*********************************************"); Log.Information("P2G Version: {@AppName} {@Version}", Statics.AppType, Constants.AppVersion); Log.Information("Operating System: {@Os}", SystemInformation.OS); Log.Information("OS Version: {@OsVersion}", SystemInformation.OSVersion); - Log.Information("DotNet Runtime: {@DotnetRuntime}", SystemInformation.OSVersion); + Log.Information("DotNet Runtime: {@DotnetRuntime}", SystemInformation.RunTimeVersion); Log.Information("Docker Deployment: {@IsDocker}", SystemInformation.RunningInDocker); Log.Information("Config path: {@ConfigPath}", Statics.ConfigPath); Log.Information("*********************************************"); } + + public static string GetSystemInformationLogMessage() + { + return $@" +********************************************* +P2G Version: {Statics.AppType} {Constants.AppVersion} +Operating System: {SystemInformation.OS} +OS Version: {SystemInformation.OSVersion} +DotNet Runtime: {SystemInformation.RunTimeVersion} +Docker Deployment: {SystemInformation.RunningInDocker} +Config path: {Statics.ConfigPath} +*********************************************"; + } +} + +public class CaptureFilePathHook : FileLifecycleHooks +{ + private HeaderWriter _headerHook; + + public CaptureFilePathHook() + { + _headerHook = new HeaderWriter(Logging.GetSystemInformationLogMessage); + } + + public override Stream OnFileOpened(string path, Stream underlyingStream, Encoding encoding) + { + Logging.CurrentFilePath = path; + + return _headerHook.OnFileOpened(path, underlyingStream, encoding); + } + + public override void OnFileDeleting(string path) + { + _headerHook.OnFileDeleting(path); + } } diff --git a/src/SharedUI/IApiClient.cs b/src/SharedUI/IApiClient.cs index 2450521b6..7fbe893ac 100644 --- a/src/SharedUI/IApiClient.cs +++ b/src/SharedUI/IApiClient.cs @@ -18,6 +18,7 @@ public interface IApiClient Task SyncPostAsync(SyncPostRequest syncPostRequest); Task SystemInfoGetAsync(SystemInfoGetRequest systemInfoGetRequest); + Task SystemInfoGetLogsAsync(); Task GetAnnualProgressAsync(); diff --git a/src/SharedUI/Pages/About.razor b/src/SharedUI/Pages/About.razor index 7548a1414..f32d7ca95 100644 --- a/src/SharedUI/Pages/About.razor +++ b/src/SharedUI/Pages/About.razor @@ -9,41 +9,20 @@ A new version of P2G is available! Checkout the release notes to see whats new. } - -
- -
- @systemInfo.Version @if (systemInfo.NewerVersionAvailable.GetValueOrDefault()){

(newer version available: @systemInfo.LatestVersionInformation?.LatestVersion)

} -
- - -
- @systemInfo.OperatingSystem -
- - -
- @systemInfo.OperatingSystemVersion -
- - -
- @systemInfo.RunTimeVersion -
-
- - - + + + +
+ +
+
+ + +
+ +
+
+
@code { private SystemInfoGetResponse systemInfo; @@ -56,6 +35,7 @@ protected override async Task OnInitializedAsync() { using var tracing = Tracing.ClientTrace($"{nameof(About)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + var settings = await _apiClient.SettingsGetAsync(); systemInfo = await _apiClient.SystemInfoGetAsync(new SystemInfoGetRequest() { CheckForUpdate = settings.App.CheckForUpdates}); } diff --git a/src/SharedUI/Shared/Logs.razor b/src/SharedUI/Shared/Logs.razor new file mode 100644 index 000000000..f7cdc2086 --- /dev/null +++ b/src/SharedUI/Shared/Logs.razor @@ -0,0 +1,30 @@ +@inherits TracingComponentBase +@inject IApiClient _apiClient +@inject IHxMessengerService _toaster; +@inject IJSRuntime JS + +

Logs

+ +
+
+        
+            @logs.LogText
+        
+    
+
+ +@code { + private SystemInfoLogsGetResponse logs; + + public Logs() : base(nameof(Logs)) + { + logs = new SystemInfoLogsGetResponse(); + } + + protected override async Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(Logs)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + + logs = await _apiClient.SystemInfoGetLogsAsync(); + } +} diff --git a/src/SharedUI/Shared/SystemInfo.razor b/src/SharedUI/Shared/SystemInfo.razor new file mode 100644 index 000000000..3878ea9ed --- /dev/null +++ b/src/SharedUI/Shared/SystemInfo.razor @@ -0,0 +1,57 @@ +@inherits TracingComponentBase +@inject IApiClient _apiClient + +
+ +
+ @systemInfo.Version @if (systemInfo.NewerVersionAvailable.GetValueOrDefault()) + { +

(newer version available: @systemInfo.LatestVersionInformation?.LatestVersion)

+ } +
+ + +
+ @systemInfo.OperatingSystem +
+ + +
+ @systemInfo.OperatingSystemVersion +
+ + +
+ @systemInfo.RunTimeVersion +
+
+ + + + +@code { + private SystemInfoGetResponse systemInfo; + + public SystemInfo() : base(nameof(SystemInfo)) + { + systemInfo = new SystemInfoGetResponse(); + } + + protected override async Task OnInitializedAsync() + { + using var tracing = Tracing.ClientTrace($"{nameof(SystemInfo)}.{nameof(OnInitializedAsync)}", kind: ActivityKind.Client); + + var settings = await _apiClient.SettingsGetAsync(); + systemInfo = await _apiClient.SystemInfoGetAsync(new SystemInfoGetRequest() { CheckForUpdate = settings.App.CheckForUpdates }); + } +} diff --git a/src/WebUI/ApiClient.cs b/src/WebUI/ApiClient.cs index 5f830efb4..abbef7601 100644 --- a/src/WebUI/ApiClient.cs +++ b/src/WebUI/ApiClient.cs @@ -203,4 +203,18 @@ public Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest requ return $"{_apiUrl}/api/garminauthentication/mfaToken" .PostJsonAsync(request); } + + public async Task SystemInfoGetLogsAsync() + { + try + { + return await $"{_apiUrl}/api/systemInfo/logs" + .GetJsonAsync(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error?.Message, e); + } + } } From c26b70e9f6d9b34b9cb39583c410abe15155025c Mon Sep 17 00:00:00 2001 From: Bailey Date: Sat, 26 Aug 2023 07:37:03 -0500 Subject: [PATCH 08/20] [483] remove settings for OutputDirectory (#513) * [483] remove settings for OutputDirectory * add ui to view directories * update docs * fix tests --- configuration.example.json | 1 - docs/configuration/environment-variables.md | 1 - docs/configuration/json.md | 2 - src/Api.Contract/SystemInfoRequest.cs | 8 ++- src/Api.Service/SettingsUpdaterService.cs | 9 +-- src/Api.Service/SystemInfoService.cs | 12 +++- src/Common/Configuration.cs | 11 ++-- src/SharedUI/Shared/AppSettingsForm.razor | 10 ---- src/SharedUI/Shared/SystemInfo.razor | 10 ++++ .../SettingsUpdaterServiceTests.cs | 56 ------------------- src/WebUI/ApiClient.cs | 28 ++++++++-- vNextReleaseNotes.md | 4 +- 12 files changed, 58 insertions(+), 94 deletions(-) diff --git a/configuration.example.json b/configuration.example.json index e1061ca41..fbbb66a8d 100644 --- a/configuration.example.json +++ b/configuration.example.json @@ -1,6 +1,5 @@ { "App": { - "OutputDirectory": "./output", "EnablePolling": true, "PollingIntervalSeconds": 86400, "CheckForUpdates": true diff --git a/docs/configuration/environment-variables.md b/docs/configuration/environment-variables.md index f639803ac..79a58a4a2 100644 --- a/docs/configuration/environment-variables.md +++ b/docs/configuration/environment-variables.md @@ -18,7 +18,6 @@ P2G_CONFIGSECTION__CONFIGPROPERTY=value #### Example App Config ```bash -P2G_APP__OUTPUTDIRECTORY P2G_APP__WORKINGDIRECTORY P2G_APP__ENABLEPOLLING P2G_APP__POLLINGINTERVALSECONDS diff --git a/docs/configuration/json.md b/docs/configuration/json.md index 74b1d1751..29652db05 100644 --- a/docs/configuration/json.md +++ b/docs/configuration/json.md @@ -80,7 +80,6 @@ This section provides global settings for the P2G application. ```json "App": { - "OutputDirectory": "./output", "EnablePolling": true, "PollingIntervalSeconds": 86400, "CheckForUpdates": true @@ -89,7 +88,6 @@ This section provides global settings for the P2G application. | Field | Required | Default | UI Setting Location | Description | |:-----------|:---------|:--------|:--------------------|:------------| -| OutputDirectory | no | `$PWD/output` | `App > Advanced` | Where downloaded and converted files should be saved to. | | EnablePolling | no | `true` | `App Tab` | `true` if you wish P2G to run continuously and poll Peloton for new workouts. | | PollingIntervalSeconds | no | 86400 | `App Tab` | The polling interval in seconds determines how frequently P2G should check for new workouts. Be warned, that setting this to a frequency of hourly or less may get you flagged by Peloton as a bad actor and they may reset your password. The default is set to Daily. | | CheckForUpdates | no | `true` | `App Tab` | `true` if P2G should check for updates and write a log message if a new release is available. If using the UI this message will display there as well. | diff --git a/src/Api.Contract/SystemInfoRequest.cs b/src/Api.Contract/SystemInfoRequest.cs index e082abca1..25e849745 100644 --- a/src/Api.Contract/SystemInfoRequest.cs +++ b/src/Api.Contract/SystemInfoRequest.cs @@ -1,6 +1,6 @@ namespace Api.Contract; -public class SystemInfoGetRequest +public record SystemInfoGetRequest { /// /// Whether or not to check if a new P2G update is available. @@ -9,7 +9,7 @@ public class SystemInfoGetRequest public bool CheckForUpdate { get; set; } } -public class SystemInfoGetResponse +public record SystemInfoGetResponse { public SystemInfoGetResponse() { @@ -23,6 +23,8 @@ public SystemInfoGetResponse() Donate = string.Empty; Issues = string.Empty; Api = string.Empty; + OutputDirectory = string.Empty; + TempDirectory = string.Empty; LatestVersionInformation = new (); } @@ -39,6 +41,8 @@ public SystemInfoGetResponse() public string Api { get; set; } public bool? NewerVersionAvailable { get; set; } public LatestVersionInformation? LatestVersionInformation { get; set; } + public string OutputDirectory { get; set; } + public string TempDirectory { get; set; } } public class LatestVersionInformation diff --git a/src/Api.Service/SettingsUpdaterService.cs b/src/Api.Service/SettingsUpdaterService.cs index 3f763321b..f8169f1fe 100644 --- a/src/Api.Service/SettingsUpdaterService.cs +++ b/src/Api.Service/SettingsUpdaterService.cs @@ -2,6 +2,7 @@ using Common; using Common.Dto; using Common.Service; +using Common.Stateful; namespace Api.Service; @@ -34,14 +35,6 @@ public async Task> UpdateAppSettingsAsync(App updatedAppSetti return result; } - if (!string.IsNullOrWhiteSpace(updatedAppSettings.OutputDirectory) - && !_fileHandler.DirExists(updatedAppSettings.OutputDirectory)) - { - result.Successful = false; - result.Error = new ServiceError() { Message = "Output Directory path is either not accessible or does not exist." }; - return result; - } - var settings = await _settingsService.GetSettingsAsync(); settings.App = updatedAppSettings; diff --git a/src/Api.Service/SystemInfoService.cs b/src/Api.Service/SystemInfoService.cs index e33be54b8..b8af4483f 100644 --- a/src/Api.Service/SystemInfoService.cs +++ b/src/Api.Service/SystemInfoService.cs @@ -2,6 +2,7 @@ using Common; using Common.Dto; using Common.Observe; +using Common.Service; using Core.GitHub; using Philosowaffle.Capability.ReleaseChecks.Model; @@ -16,10 +17,12 @@ public interface ISystemInfoService public class SystemInfoService : ISystemInfoService { private readonly IGitHubReleaseCheckService _gitHubService; + private readonly ISettingsService _settingsService; - public SystemInfoService(IGitHubReleaseCheckService gitHubService) + public SystemInfoService(IGitHubReleaseCheckService gitHubService, ISettingsService settingsService) { _gitHubService = gitHubService; + _settingsService = settingsService; } public async Task GetAsync(SystemInfoGetRequest request, string? scheme = null, string? host = null) @@ -29,6 +32,8 @@ public async Task GetAsync(SystemInfoGetRequest request, if (request.CheckForUpdate) versionInformation = await _gitHubService.GetLatestReleaseInformationAsync("philosowaffle", "peloton-to-garmin", Constants.AppVersion); + var settings = await _settingsService.GetSettingsAsync(); + return new SystemInfoGetResponse() { OperatingSystem = SystemInformation.OS, @@ -51,7 +56,10 @@ public async Task GetAsync(SystemInfoGetRequest request, Forums = "https://github.com/philosowaffle/peloton-to-garmin/discussions", Donate = "https://www.buymeacoffee.com/philosowaffle", Issues = "https://github.com/philosowaffle/peloton-to-garmin/issues", - Api = $"{scheme}://{host}/swagger" + Api = $"{scheme}://{host}/swagger", + + OutputDirectory = settings?.App?.OutputDirectory ?? string.Empty, + TempDirectory = settings?.App?.WorkingDirectory ?? string.Empty, }; } diff --git a/src/Common/Configuration.cs b/src/Common/Configuration.cs index 6e69f6375..b413c6286 100644 --- a/src/Common/Configuration.cs +++ b/src/Common/Configuration.cs @@ -67,26 +67,23 @@ public class App { public App() { - OutputDirectory = Path.Join(Statics.DefaultDataDirectory, "output"); - WorkingDirectory = Path.Join(Statics.DefaultTempDirectory, "working"); - CheckForUpdates = true; EnablePolling = false; PollingIntervalSeconds = 86400; // 1 day } - public string OutputDirectory { get; set; } - public string WorkingDirectory { get; set; } - public bool EnablePolling { get; set; } public int PollingIntervalSeconds { get; set; } public bool CheckForUpdates { get; set; } + public static string DataDirectory => Path.GetFullPath(Path.Join(Statics.DefaultDataDirectory, "data")); - public static string DataDirectory = Path.GetFullPath(Path.Join(Statics.DefaultDataDirectory, "data")); + public string WorkingDirectory => Path.Join(Statics.DefaultTempDirectory, "working"); + public string OutputDirectory => Path.Join(Statics.DefaultDataDirectory, "output"); public string FailedDirectory => Path.GetFullPath(Path.Join(OutputDirectory, "failed")); public string DownloadDirectory => Path.GetFullPath(Path.Join(WorkingDirectory, "downloaded")); public string UploadDirectory => Path.GetFullPath(Path.Join(WorkingDirectory, "upload")); + } diff --git a/src/SharedUI/Shared/AppSettingsForm.razor b/src/SharedUI/Shared/AppSettingsForm.razor index 77179388f..46a99e222 100644 --- a/src/SharedUI/Shared/AppSettingsForm.razor +++ b/src/SharedUI/Shared/AppSettingsForm.razor @@ -20,16 +20,6 @@

- - - Advanced - -
- -
-
-
-
Save diff --git a/src/SharedUI/Shared/SystemInfo.razor b/src/SharedUI/Shared/SystemInfo.razor index 3878ea9ed..a8d07bb51 100644 --- a/src/SharedUI/Shared/SystemInfo.razor +++ b/src/SharedUI/Shared/SystemInfo.razor @@ -24,6 +24,16 @@
@systemInfo.RunTimeVersion
+ + +
+ @systemInfo.OutputDirectory +
+ + +
+ @systemInfo.TempDirectory +
diff --git a/src/UnitTests/Api.Service/SettingsUpdaterServiceTests.cs b/src/UnitTests/Api.Service/SettingsUpdaterServiceTests.cs index b83176222..08ce9b98f 100644 --- a/src/UnitTests/Api.Service/SettingsUpdaterServiceTests.cs +++ b/src/UnitTests/Api.Service/SettingsUpdaterServiceTests.cs @@ -26,61 +26,6 @@ public async Task UpdateAppSettingsAsync_With_NullRequest_Returns400() response.Error.Message.Should().Be("Updated AppSettings must not be null or empty."); } - [Test] - public async Task UpdateAppSettingsAsync_With_InvalidOutPutDir_Returns400() - { - var autoMocker = new AutoMocker(); - var service = autoMocker.CreateInstance(); - var fileHandler = autoMocker.GetMock(); - - fileHandler - .Setup(f => f.DirExists("blah")) - .Returns(false) - .Verifiable(); - - var request = new App() - { - OutputDirectory = "blah" - }; - - var response = await service.UpdateAppSettingsAsync(request); - - response.IsErrored().Should().BeTrue(); - response.Error.Should().NotBeNull(); - response.Error.Message.Should().Be("Output Directory path is either not accessible or does not exist."); - - fileHandler.Verify(); - } - - [Test] - public async Task UpdateAppSettingsAsync_With_EmptyOutPutDir_DoesNotValidateIt() - { - var autoMocker = new AutoMocker(); - var service = autoMocker.CreateInstance(); - var fileHandler = autoMocker.GetMock(); - var settingService = autoMocker.GetMock(); - - fileHandler - .Setup(f => f.DirExists(It.IsAny())) - .Returns(false); - - var request = new App() - { - OutputDirectory = string.Empty - }; - - settingService - .Setup(s => s.GetSettingsAsync()) - .ReturnsAsync(new Settings()); - - var response = await service.UpdateAppSettingsAsync(request); - - response.IsErrored().Should().BeFalse(); - response.Result.Should().NotBeNull(); - - fileHandler.Verify(f => f.DirExists(It.IsAny()), Times.Never); - } - [Test] public async Task UpdateAppSettingsAsync_With_EnablePollingWhenGarminMFAEnabled_Throws() { @@ -100,7 +45,6 @@ public async Task UpdateAppSettingsAsync_With_EnablePollingWhenGarminMFAEnabled_ var request = new App() { EnablePolling = true, - OutputDirectory = "blah", }; var response = await service.UpdateAppSettingsAsync(request); diff --git a/src/WebUI/ApiClient.cs b/src/WebUI/ApiClient.cs index abbef7601..a23ae9b21 100644 --- a/src/WebUI/ApiClient.cs +++ b/src/WebUI/ApiClient.cs @@ -186,10 +186,18 @@ public async Task GetAnnualProgressAsync() } } - public Task GetGarminAuthenticationAsync() + public async Task GetGarminAuthenticationAsync() { - return $"{_apiUrl}/api/garminauthentication" + try + { + return await $"{_apiUrl}/api/garminauthentication" .GetJsonAsync(); + } + catch (FlurlHttpException e) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error?.Message, e); + } } public Task SignInToGarminAsync() @@ -198,10 +206,22 @@ public Task SignInToGarminAsync() .PostAsync(); } - public Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest request) + public async Task SendGarminMfaTokenAsync(GarminAuthenticationMfaTokenPostRequest request) { - return $"{_apiUrl}/api/garminauthentication/mfaToken" + try + { + await $"{_apiUrl}/api/garminauthentication/mfaToken" .PostJsonAsync(request); + } + catch (FlurlHttpException e) when (e.StatusCode is StatusCodes.Status400BadRequest) + { + var error = await e.GetResponseJsonAsync(); + throw new ApiClientException(error?.Message, e); + } + catch (Exception e) + { + throw new ApiClientException($"Failed to submit Garmin MFA Code - {e.Message} - See logs for details.", e); + } } public async Task SystemInfoGetLogsAsync() diff --git a/vNextReleaseNotes.md b/vNextReleaseNotes.md index 45e4814b3..75a0e6a15 100644 --- a/vNextReleaseNotes.md +++ b/vNextReleaseNotes.md @@ -5,11 +5,13 @@ - [#352] Created Windows GUI application - [#421] Uplift to dotnet 7 +- [#486] View logs from UI -## Changes +## Breaking Changes - [#302] Removed deprecated settings `PythonAndGUploadInstalled` and `CloseWindowOnFinish` - [#465] Remove support for uploading to Garmin via Python - `UploadStrategy` +- [#483] Removed setting for configuring `OutputDirectory` ## Docker Tags From cda37aa501bcc7d0b4c447b5927673b715fbe535 Mon Sep 17 00:00:00 2001 From: Bailey Date: Sat, 26 Aug 2023 07:45:54 -0500 Subject: [PATCH 09/20] [348] bind to port 8080 by default --- docker/webui/api.local.json | 4 ---- docker/webui/webui.local.json | 4 ---- docs/install/docker-headless.md | 17 +---------------- src/Common/Configuration.cs | 4 ++-- vNextReleaseNotes.md | 1 + 5 files changed, 4 insertions(+), 26 deletions(-) diff --git a/docker/webui/api.local.json b/docker/webui/api.local.json index 84754a4fd..3d9f91e03 100644 --- a/docker/webui/api.local.json +++ b/docker/webui/api.local.json @@ -1,8 +1,4 @@ { - "Api": { - "HostUrl": "http://*:8080" - }, - "Observability": { "Prometheus": { diff --git a/docker/webui/webui.local.json b/docker/webui/webui.local.json index 9da35a011..116fac8f1 100644 --- a/docker/webui/webui.local.json +++ b/docker/webui/webui.local.json @@ -3,10 +3,6 @@ "HostUrl": "http://p2g-api:8080" }, - "WebUI": { - "HostUrl": "http://*:8080" - }, - "Observability": { "Prometheus": { diff --git a/docs/install/docker-headless.md b/docs/install/docker-headless.md index 0146bffdc..88e2a8f22 100644 --- a/docs/install/docker-headless.md +++ b/docs/install/docker-headless.md @@ -48,19 +48,4 @@ Any logs or generated files will be available in the `output` directory. Additi ## Prometheus -If you configure P2G to serve Prometheus metrics then you will also need to map the corresponding port for your docker container. By default, Prometheus metrics will be served on port `4000`. You can learn more about P2G and Prometheus in the [Observability Configuration]({{ site.baseurl }}{% link configuration/index.md %}) section. - -```yaml -version: "3.9" -services: - p2g: - container_name: p2g - image: philosowaffle/peloton-to-garmin:stable - environment: - - TZ=America/Chicago - ports: - - 4000:4000 - volumes: - - ./configuration.local.json:/app/configuration.local.json - - ./output:/app/output -``` +If you configure P2G to serve Prometheus metrics then you will also need to map the corresponding port for your docker container. By default, Prometheus metrics will be served on port `4000`. You can learn more about P2G and Prometheus in the [Observability Configuration]({{ site.baseurl }}{% link configuration/index.md %}) section. \ No newline at end of file diff --git a/src/Common/Configuration.cs b/src/Common/Configuration.cs index b413c6286..5d1d1d9bc 100644 --- a/src/Common/Configuration.cs +++ b/src/Common/Configuration.cs @@ -173,7 +173,7 @@ public class ApiSettings { public ApiSettings() { - HostUrl = "http://localhost"; + HostUrl = "http://*:8080"; } public string HostUrl { get; set; } @@ -183,7 +183,7 @@ public class WebUISettings { public WebUISettings() { - HostUrl = "http://localhost"; + HostUrl = "http://*:8080"; } public string HostUrl { get; set; } diff --git a/vNextReleaseNotes.md b/vNextReleaseNotes.md index 75a0e6a15..58ab1c03a 100644 --- a/vNextReleaseNotes.md +++ b/vNextReleaseNotes.md @@ -12,6 +12,7 @@ - [#302] Removed deprecated settings `PythonAndGUploadInstalled` and `CloseWindowOnFinish` - [#465] Remove support for uploading to Garmin via Python - `UploadStrategy` - [#483] Removed setting for configuring `OutputDirectory` +- [#348] P2G API and WebUI now binds to port `8080` by default ## Docker Tags From 3c0470db5fc25789184faa41ad1625e91a785977 Mon Sep 17 00:00:00 2001 From: Bailey Date: Sun, 24 Sep 2023 09:28:32 -0500 Subject: [PATCH 10/20] [485] fix github workflows (#518) * [485] fix github workflows * try fix signing * change password string * lets see what this does * fix location * try fix path * remove env * can't type * add bash * comment out * cmd * pwsh * explicit reference * whack * testing * remove cache * version * simplify * bash * further simplify * try pwsh * back to og * try reuse compile steps * compile * fix upload * test docker * secrets * ui * ui * ui * bigger refactor to use shared actions * cmd * quick * cmd * pwsh * pwsh * pwsh * back to cmd * polish * Fix upload path * optimize maui install * update various actions * bump dotnet version to cache bust * revert * cache bust again * testing ui artifact * working on msix * different dir * ready to run * finally got published exe to work - back to the good old days * delete extra dirs * fix first time run errors * copy config file * change copy command * delete publish, and rename * maui-windows * dotnet version * pin and list workloads * back to installing all workloads * windows and desktop * cleanup * list before install * try not installing the workloads manually * checkin js deps * also remove install from build and test * cleanup --- .../publish-console-exe-dist/action.yaml | 49 + .../actions/publish-docker-images/action.yaml | 94 + .github/actions/publish-ui-dist/action.yaml | 63 + .github/workflows/docker_latest.yml | 73 - .github/workflows/pr-check.yml | 185 +- .github/workflows/publish-latest.yaml | 75 + .github/workflows/publish-release.yaml | 115 + .github/workflows/publish_distros_latest.yml | 61 - .github/workflows/release.yml | 142 - .gitignore | 2 - src/ClientUI/ClientUI.csproj | 29 +- src/ClientUI/ClientUI_TemporaryKey.pfx | Bin 2536 -> 0 bytes src/ClientUI/MauiProgram.cs | 4 - src/ClientUI/Properties/launchSettings.json | 2 +- src/ClientUI/configuration.example.json | 37 + src/Common/Common.csproj | 4 +- src/Common/Database/SettingsDb.cs | 37 +- src/ConsoleClient/ConsoleClient.csproj | 4 +- src/SharedUI/SharedUI.csproj | 6 +- .../wwwroot/lib/bootstrap-icons/LICENSE | 21 + .../wwwroot/lib/bootstrap-icons/LICENSE.md | 21 + .../wwwroot/lib/bootstrap-icons/README.md | 97 + .../lib/bootstrap-icons/bootstrap-icons.svg | 1 + .../bootstrap-icons/font/bootstrap-icons.css | 1876 +++ .../bootstrap-icons/font/bootstrap-icons.json | 1856 +++ .../font/bootstrap-icons.min.css | 8 + .../bootstrap-icons/font/bootstrap-icons.scss | 3738 +++++ .../font/fonts/bootstrap-icons.woff | Bin 0 -> 150592 bytes .../font/fonts/bootstrap-icons.woff2 | Bin 0 -> 112440 bytes .../lib/bootstrap-icons/font/index.html | 7291 ++++++++++ .../bootstrap-icons/icons/0-circle-fill.svg | 4 + .../lib/bootstrap-icons/icons/0-circle.svg | 4 + .../bootstrap-icons/icons/0-square-fill.svg | 4 + .../lib/bootstrap-icons/icons/0-square.svg | 4 + .../bootstrap-icons/icons/1-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/1-circle.svg | 3 + .../bootstrap-icons/icons/1-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/1-square.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/123.svg | 3 + .../bootstrap-icons/icons/2-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/2-circle.svg | 3 + .../bootstrap-icons/icons/2-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/2-square.svg | 4 + .../bootstrap-icons/icons/3-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/3-circle.svg | 4 + .../bootstrap-icons/icons/3-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/3-square.svg | 4 + .../bootstrap-icons/icons/4-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/4-circle.svg | 4 + .../bootstrap-icons/icons/4-square-fill.svg | 4 + .../lib/bootstrap-icons/icons/4-square.svg | 4 + .../bootstrap-icons/icons/5-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/5-circle.svg | 3 + .../bootstrap-icons/icons/5-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/5-square.svg | 4 + .../bootstrap-icons/icons/6-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/6-circle.svg | 3 + .../bootstrap-icons/icons/6-square-fill.svg | 4 + .../lib/bootstrap-icons/icons/6-square.svg | 4 + .../bootstrap-icons/icons/7-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/7-circle.svg | 3 + .../bootstrap-icons/icons/7-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/7-square.svg | 4 + .../bootstrap-icons/icons/8-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/8-circle.svg | 3 + .../bootstrap-icons/icons/8-square-fill.svg | 4 + .../lib/bootstrap-icons/icons/8-square.svg | 4 + .../bootstrap-icons/icons/9-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/9-circle.svg | 3 + .../bootstrap-icons/icons/9-square-fill.svg | 4 + .../lib/bootstrap-icons/icons/9-square.svg | 4 + .../lib/bootstrap-icons/icons/activity.svg | 3 + .../icons/airplane-engines-fill.svg | 3 + .../icons/airplane-engines.svg | 3 + .../bootstrap-icons/icons/airplane-fill.svg | 3 + .../lib/bootstrap-icons/icons/airplane.svg | 3 + .../lib/bootstrap-icons/icons/alarm-fill.svg | 3 + .../lib/bootstrap-icons/icons/alarm.svg | 4 + .../lib/bootstrap-icons/icons/alexa.svg | 3 + .../bootstrap-icons/icons/align-bottom.svg | 4 + .../bootstrap-icons/icons/align-center.svg | 3 + .../lib/bootstrap-icons/icons/align-end.svg | 4 + .../bootstrap-icons/icons/align-middle.svg | 3 + .../lib/bootstrap-icons/icons/align-start.svg | 4 + .../lib/bootstrap-icons/icons/align-top.svg | 4 + .../lib/bootstrap-icons/icons/alipay.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/alt.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/amd.svg | 3 + .../lib/bootstrap-icons/icons/android.svg | 3 + .../lib/bootstrap-icons/icons/android2.svg | 3 + .../bootstrap-icons/icons/app-indicator.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/app.svg | 3 + .../lib/bootstrap-icons/icons/apple.svg | 4 + .../bootstrap-icons/icons/archive-fill.svg | 3 + .../lib/bootstrap-icons/icons/archive.svg | 3 + .../icons/arrow-90deg-down.svg | 3 + .../icons/arrow-90deg-left.svg | 3 + .../icons/arrow-90deg-right.svg | 3 + .../bootstrap-icons/icons/arrow-90deg-up.svg | 3 + .../bootstrap-icons/icons/arrow-bar-down.svg | 3 + .../bootstrap-icons/icons/arrow-bar-left.svg | 3 + .../bootstrap-icons/icons/arrow-bar-right.svg | 3 + .../bootstrap-icons/icons/arrow-bar-up.svg | 3 + .../bootstrap-icons/icons/arrow-clockwise.svg | 4 + .../icons/arrow-counterclockwise.svg | 4 + .../icons/arrow-down-circle-fill.svg | 3 + .../icons/arrow-down-circle.svg | 3 + .../icons/arrow-down-left-circle-fill.svg | 3 + .../icons/arrow-down-left-circle.svg | 3 + .../icons/arrow-down-left-square-fill.svg | 3 + .../icons/arrow-down-left-square.svg | 3 + .../bootstrap-icons/icons/arrow-down-left.svg | 3 + .../icons/arrow-down-right-circle-fill.svg | 3 + .../icons/arrow-down-right-circle.svg | 3 + .../icons/arrow-down-right-square-fill.svg | 3 + .../icons/arrow-down-right-square.svg | 3 + .../icons/arrow-down-right.svg | 3 + .../icons/arrow-down-short.svg | 3 + .../icons/arrow-down-square-fill.svg | 3 + .../icons/arrow-down-square.svg | 3 + .../bootstrap-icons/icons/arrow-down-up.svg | 3 + .../lib/bootstrap-icons/icons/arrow-down.svg | 3 + .../icons/arrow-left-circle-fill.svg | 3 + .../icons/arrow-left-circle.svg | 3 + .../icons/arrow-left-right.svg | 3 + .../icons/arrow-left-short.svg | 3 + .../icons/arrow-left-square-fill.svg | 3 + .../icons/arrow-left-square.svg | 3 + .../lib/bootstrap-icons/icons/arrow-left.svg | 3 + .../bootstrap-icons/icons/arrow-repeat.svg | 4 + .../icons/arrow-return-left.svg | 3 + .../icons/arrow-return-right.svg | 3 + .../icons/arrow-right-circle-fill.svg | 3 + .../icons/arrow-right-circle.svg | 3 + .../icons/arrow-right-short.svg | 3 + .../icons/arrow-right-square-fill.svg | 3 + .../icons/arrow-right-square.svg | 3 + .../lib/bootstrap-icons/icons/arrow-right.svg | 3 + .../icons/arrow-through-heart-fill.svg | 3 + .../icons/arrow-through-heart.svg | 3 + .../icons/arrow-up-circle-fill.svg | 3 + .../bootstrap-icons/icons/arrow-up-circle.svg | 3 + .../icons/arrow-up-left-circle-fill.svg | 3 + .../icons/arrow-up-left-circle.svg | 3 + .../icons/arrow-up-left-square-fill.svg | 3 + .../icons/arrow-up-left-square.svg | 3 + .../bootstrap-icons/icons/arrow-up-left.svg | 3 + .../icons/arrow-up-right-circle-fill.svg | 3 + .../icons/arrow-up-right-circle.svg | 3 + .../icons/arrow-up-right-square-fill.svg | 3 + .../icons/arrow-up-right-square.svg | 3 + .../bootstrap-icons/icons/arrow-up-right.svg | 3 + .../bootstrap-icons/icons/arrow-up-short.svg | 3 + .../icons/arrow-up-square-fill.svg | 3 + .../bootstrap-icons/icons/arrow-up-square.svg | 3 + .../lib/bootstrap-icons/icons/arrow-up.svg | 3 + .../icons/arrows-angle-contract.svg | 3 + .../icons/arrows-angle-expand.svg | 3 + .../bootstrap-icons/icons/arrows-collapse.svg | 3 + .../bootstrap-icons/icons/arrows-expand.svg | 3 + .../icons/arrows-fullscreen.svg | 3 + .../lib/bootstrap-icons/icons/arrows-move.svg | 3 + .../icons/aspect-ratio-fill.svg | 3 + .../bootstrap-icons/icons/aspect-ratio.svg | 4 + .../lib/bootstrap-icons/icons/asterisk.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/at.svg | 3 + .../lib/bootstrap-icons/icons/award-fill.svg | 4 + .../lib/bootstrap-icons/icons/award.svg | 4 + .../lib/bootstrap-icons/icons/back.svg | 3 + .../bootstrap-icons/icons/backspace-fill.svg | 3 + .../icons/backspace-reverse-fill.svg | 3 + .../icons/backspace-reverse.svg | 4 + .../lib/bootstrap-icons/icons/backspace.svg | 4 + .../bootstrap-icons/icons/badge-3d-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-3d.svg | 4 + .../bootstrap-icons/icons/badge-4k-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-4k.svg | 4 + .../bootstrap-icons/icons/badge-8k-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-8k.svg | 4 + .../bootstrap-icons/icons/badge-ad-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-ad.svg | 4 + .../bootstrap-icons/icons/badge-ar-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-ar.svg | 4 + .../bootstrap-icons/icons/badge-cc-fill.svg | 3 + .../lib/bootstrap-icons/icons/badge-cc.svg | 4 + .../bootstrap-icons/icons/badge-hd-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-hd.svg | 4 + .../bootstrap-icons/icons/badge-sd-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-sd.svg | 3 + .../bootstrap-icons/icons/badge-tm-fill.svg | 3 + .../lib/bootstrap-icons/icons/badge-tm.svg | 4 + .../bootstrap-icons/icons/badge-vo-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-vo.svg | 4 + .../bootstrap-icons/icons/badge-vr-fill.svg | 4 + .../lib/bootstrap-icons/icons/badge-vr.svg | 4 + .../bootstrap-icons/icons/badge-wc-fill.svg | 3 + .../lib/bootstrap-icons/icons/badge-wc.svg | 4 + .../bootstrap-icons/icons/bag-check-fill.svg | 3 + .../lib/bootstrap-icons/icons/bag-check.svg | 4 + .../bootstrap-icons/icons/bag-dash-fill.svg | 3 + .../lib/bootstrap-icons/icons/bag-dash.svg | 4 + .../lib/bootstrap-icons/icons/bag-fill.svg | 3 + .../bootstrap-icons/icons/bag-heart-fill.svg | 3 + .../lib/bootstrap-icons/icons/bag-heart.svg | 3 + .../bootstrap-icons/icons/bag-plus-fill.svg | 3 + .../lib/bootstrap-icons/icons/bag-plus.svg | 4 + .../lib/bootstrap-icons/icons/bag-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/bag-x.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/bag.svg | 3 + .../bootstrap-icons/icons/balloon-fill.svg | 3 + .../icons/balloon-heart-fill.svg | 3 + .../bootstrap-icons/icons/balloon-heart.svg | 3 + .../lib/bootstrap-icons/icons/balloon.svg | 3 + .../bootstrap-icons/icons/bandaid-fill.svg | 3 + .../lib/bootstrap-icons/icons/bandaid.svg | 4 + .../lib/bootstrap-icons/icons/bank.svg | 3 + .../lib/bootstrap-icons/icons/bank2.svg | 3 + .../bootstrap-icons/icons/bar-chart-fill.svg | 3 + .../icons/bar-chart-line-fill.svg | 3 + .../bootstrap-icons/icons/bar-chart-line.svg | 3 + .../bootstrap-icons/icons/bar-chart-steps.svg | 3 + .../lib/bootstrap-icons/icons/bar-chart.svg | 3 + .../lib/bootstrap-icons/icons/basket-fill.svg | 3 + .../lib/bootstrap-icons/icons/basket.svg | 3 + .../bootstrap-icons/icons/basket2-fill.svg | 3 + .../lib/bootstrap-icons/icons/basket2.svg | 4 + .../bootstrap-icons/icons/basket3-fill.svg | 3 + .../lib/bootstrap-icons/icons/basket3.svg | 3 + .../icons/battery-charging.svg | 6 + .../bootstrap-icons/icons/battery-full.svg | 4 + .../bootstrap-icons/icons/battery-half.svg | 4 + .../lib/bootstrap-icons/icons/battery.svg | 3 + .../lib/bootstrap-icons/icons/behance.svg | 3 + .../lib/bootstrap-icons/icons/bell-fill.svg | 3 + .../bootstrap-icons/icons/bell-slash-fill.svg | 3 + .../lib/bootstrap-icons/icons/bell-slash.svg | 3 + .../lib/bootstrap-icons/icons/bell.svg | 3 + .../lib/bootstrap-icons/icons/bezier.svg | 4 + .../lib/bootstrap-icons/icons/bezier2.svg | 3 + .../lib/bootstrap-icons/icons/bicycle.svg | 3 + .../bootstrap-icons/icons/binoculars-fill.svg | 3 + .../lib/bootstrap-icons/icons/binoculars.svg | 3 + .../bootstrap-icons/icons/blockquote-left.svg | 3 + .../icons/blockquote-right.svg | 3 + .../lib/bootstrap-icons/icons/bluetooth.svg | 3 + .../lib/bootstrap-icons/icons/body-text.svg | 3 + .../lib/bootstrap-icons/icons/book-fill.svg | 3 + .../lib/bootstrap-icons/icons/book-half.svg | 3 + .../lib/bootstrap-icons/icons/book.svg | 3 + .../icons/bookmark-check-fill.svg | 3 + .../bootstrap-icons/icons/bookmark-check.svg | 4 + .../icons/bookmark-dash-fill.svg | 3 + .../bootstrap-icons/icons/bookmark-dash.svg | 4 + .../bootstrap-icons/icons/bookmark-fill.svg | 3 + .../icons/bookmark-heart-fill.svg | 3 + .../bootstrap-icons/icons/bookmark-heart.svg | 4 + .../icons/bookmark-plus-fill.svg | 3 + .../bootstrap-icons/icons/bookmark-plus.svg | 4 + .../icons/bookmark-star-fill.svg | 3 + .../bootstrap-icons/icons/bookmark-star.svg | 4 + .../bootstrap-icons/icons/bookmark-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/bookmark-x.svg | 4 + .../lib/bootstrap-icons/icons/bookmark.svg | 3 + .../bootstrap-icons/icons/bookmarks-fill.svg | 4 + .../lib/bootstrap-icons/icons/bookmarks.svg | 4 + .../lib/bootstrap-icons/icons/bookshelf.svg | 3 + .../bootstrap-icons/icons/boombox-fill.svg | 4 + .../lib/bootstrap-icons/icons/boombox.svg | 6 + .../bootstrap-icons/icons/bootstrap-fill.svg | 4 + .../icons/bootstrap-reboot.svg | 4 + .../lib/bootstrap-icons/icons/bootstrap.svg | 4 + .../lib/bootstrap-icons/icons/border-all.svg | 3 + .../bootstrap-icons/icons/border-bottom.svg | 3 + .../bootstrap-icons/icons/border-center.svg | 3 + .../bootstrap-icons/icons/border-inner.svg | 5 + .../lib/bootstrap-icons/icons/border-left.svg | 3 + .../bootstrap-icons/icons/border-middle.svg | 3 + .../bootstrap-icons/icons/border-outer.svg | 4 + .../bootstrap-icons/icons/border-right.svg | 3 + .../bootstrap-icons/icons/border-style.svg | 3 + .../lib/bootstrap-icons/icons/border-top.svg | 3 + .../bootstrap-icons/icons/border-width.svg | 3 + .../lib/bootstrap-icons/icons/border.svg | 3 + .../icons/bounding-box-circles.svg | 3 + .../bootstrap-icons/icons/bounding-box.svg | 3 + .../icons/box-arrow-down-left.svg | 4 + .../icons/box-arrow-down-right.svg | 4 + .../bootstrap-icons/icons/box-arrow-down.svg | 4 + .../icons/box-arrow-in-down-left.svg | 4 + .../icons/box-arrow-in-down-right.svg | 4 + .../icons/box-arrow-in-down.svg | 4 + .../icons/box-arrow-in-left.svg | 4 + .../icons/box-arrow-in-right.svg | 4 + .../icons/box-arrow-in-up-left.svg | 4 + .../icons/box-arrow-in-up-right.svg | 4 + .../bootstrap-icons/icons/box-arrow-in-up.svg | 4 + .../bootstrap-icons/icons/box-arrow-left.svg | 4 + .../bootstrap-icons/icons/box-arrow-right.svg | 4 + .../icons/box-arrow-up-left.svg | 4 + .../icons/box-arrow-up-right.svg | 4 + .../bootstrap-icons/icons/box-arrow-up.svg | 4 + .../lib/bootstrap-icons/icons/box-fill.svg | 3 + .../bootstrap-icons/icons/box-seam-fill.svg | 3 + .../lib/bootstrap-icons/icons/box-seam.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/box.svg | 3 + .../lib/bootstrap-icons/icons/box2-fill.svg | 3 + .../bootstrap-icons/icons/box2-heart-fill.svg | 3 + .../lib/bootstrap-icons/icons/box2-heart.svg | 4 + .../lib/bootstrap-icons/icons/box2.svg | 3 + .../lib/bootstrap-icons/icons/boxes.svg | 3 + .../bootstrap-icons/icons/braces-asterisk.svg | 3 + .../lib/bootstrap-icons/icons/braces.svg | 3 + .../lib/bootstrap-icons/icons/bricks.svg | 3 + .../bootstrap-icons/icons/briefcase-fill.svg | 4 + .../lib/bootstrap-icons/icons/briefcase.svg | 3 + .../icons/brightness-alt-high-fill.svg | 3 + .../icons/brightness-alt-high.svg | 3 + .../icons/brightness-alt-low-fill.svg | 3 + .../icons/brightness-alt-low.svg | 3 + .../icons/brightness-high-fill.svg | 3 + .../bootstrap-icons/icons/brightness-high.svg | 3 + .../icons/brightness-low-fill.svg | 3 + .../bootstrap-icons/icons/brightness-low.svg | 3 + .../bootstrap-icons/icons/broadcast-pin.svg | 3 + .../lib/bootstrap-icons/icons/broadcast.svg | 3 + .../bootstrap-icons/icons/browser-chrome.svg | 3 + .../bootstrap-icons/icons/browser-edge.svg | 5 + .../bootstrap-icons/icons/browser-firefox.svg | 3 + .../bootstrap-icons/icons/browser-safari.svg | 3 + .../lib/bootstrap-icons/icons/brush-fill.svg | 3 + .../lib/bootstrap-icons/icons/brush.svg | 3 + .../lib/bootstrap-icons/icons/bucket-fill.svg | 3 + .../lib/bootstrap-icons/icons/bucket.svg | 3 + .../lib/bootstrap-icons/icons/bug-fill.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/bug.svg | 3 + .../bootstrap-icons/icons/building-add.svg | 5 + .../bootstrap-icons/icons/building-check.svg | 5 + .../bootstrap-icons/icons/building-dash.svg | 5 + .../bootstrap-icons/icons/building-down.svg | 5 + .../icons/building-exclamation.svg | 4 + .../icons/building-fill-add.svg | 4 + .../icons/building-fill-check.svg | 4 + .../icons/building-fill-dash.svg | 4 + .../icons/building-fill-down.svg | 4 + .../icons/building-fill-exclamation.svg | 4 + .../icons/building-fill-gear.svg | 4 + .../icons/building-fill-lock.svg | 4 + .../icons/building-fill-slash.svg | 4 + .../icons/building-fill-up.svg | 4 + .../bootstrap-icons/icons/building-fill-x.svg | 4 + .../bootstrap-icons/icons/building-fill.svg | 3 + .../bootstrap-icons/icons/building-gear.svg | 4 + .../bootstrap-icons/icons/building-lock.svg | 4 + .../bootstrap-icons/icons/building-slash.svg | 5 + .../lib/bootstrap-icons/icons/building-up.svg | 5 + .../lib/bootstrap-icons/icons/building-x.svg | 4 + .../lib/bootstrap-icons/icons/building.svg | 4 + .../bootstrap-icons/icons/buildings-fill.svg | 3 + .../lib/bootstrap-icons/icons/buildings.svg | 4 + .../lib/bootstrap-icons/icons/bullseye.svg | 6 + .../bootstrap-icons/icons/bus-front-fill.svg | 3 + .../lib/bootstrap-icons/icons/bus-front.svg | 4 + .../bootstrap-icons/icons/c-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/c-circle.svg | 3 + .../bootstrap-icons/icons/c-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/c-square.svg | 4 + .../bootstrap-icons/icons/calculator-fill.svg | 3 + .../lib/bootstrap-icons/icons/calculator.svg | 4 + .../icons/calendar-check-fill.svg | 3 + .../bootstrap-icons/icons/calendar-check.svg | 4 + .../icons/calendar-date-fill.svg | 4 + .../bootstrap-icons/icons/calendar-date.svg | 4 + .../icons/calendar-day-fill.svg | 3 + .../bootstrap-icons/icons/calendar-day.svg | 4 + .../icons/calendar-event-fill.svg | 3 + .../bootstrap-icons/icons/calendar-event.svg | 4 + .../bootstrap-icons/icons/calendar-fill.svg | 3 + .../icons/calendar-heart-fill.svg | 3 + .../bootstrap-icons/icons/calendar-heart.svg | 3 + .../icons/calendar-minus-fill.svg | 3 + .../bootstrap-icons/icons/calendar-minus.svg | 4 + .../icons/calendar-month-fill.svg | 4 + .../bootstrap-icons/icons/calendar-month.svg | 4 + .../icons/calendar-plus-fill.svg | 3 + .../bootstrap-icons/icons/calendar-plus.svg | 4 + .../icons/calendar-range-fill.svg | 3 + .../bootstrap-icons/icons/calendar-range.svg | 4 + .../icons/calendar-week-fill.svg | 3 + .../bootstrap-icons/icons/calendar-week.svg | 4 + .../bootstrap-icons/icons/calendar-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/calendar-x.svg | 4 + .../lib/bootstrap-icons/icons/calendar.svg | 3 + .../icons/calendar2-check-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-check.svg | 5 + .../icons/calendar2-date-fill.svg | 4 + .../bootstrap-icons/icons/calendar2-date.svg | 5 + .../icons/calendar2-day-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-day.svg | 5 + .../icons/calendar2-event-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-event.svg | 5 + .../bootstrap-icons/icons/calendar2-fill.svg | 3 + .../icons/calendar2-heart-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-heart.svg | 3 + .../icons/calendar2-minus-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-minus.svg | 5 + .../icons/calendar2-month-fill.svg | 4 + .../bootstrap-icons/icons/calendar2-month.svg | 5 + .../icons/calendar2-plus-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-plus.svg | 4 + .../icons/calendar2-range-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-range.svg | 4 + .../icons/calendar2-week-fill.svg | 3 + .../bootstrap-icons/icons/calendar2-week.svg | 4 + .../icons/calendar2-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/calendar2-x.svg | 5 + .../lib/bootstrap-icons/icons/calendar2.svg | 4 + .../icons/calendar3-event-fill.svg | 3 + .../bootstrap-icons/icons/calendar3-event.svg | 4 + .../bootstrap-icons/icons/calendar3-fill.svg | 3 + .../icons/calendar3-range-fill.svg | 3 + .../bootstrap-icons/icons/calendar3-range.svg | 4 + .../icons/calendar3-week-fill.svg | 3 + .../bootstrap-icons/icons/calendar3-week.svg | 4 + .../lib/bootstrap-icons/icons/calendar3.svg | 4 + .../bootstrap-icons/icons/calendar4-event.svg | 4 + .../bootstrap-icons/icons/calendar4-range.svg | 4 + .../bootstrap-icons/icons/calendar4-week.svg | 4 + .../lib/bootstrap-icons/icons/calendar4.svg | 3 + .../lib/bootstrap-icons/icons/camera-fill.svg | 4 + .../icons/camera-reels-fill.svg | 5 + .../bootstrap-icons/icons/camera-reels.svg | 5 + .../icons/camera-video-fill.svg | 3 + .../icons/camera-video-off-fill.svg | 3 + .../icons/camera-video-off.svg | 3 + .../bootstrap-icons/icons/camera-video.svg | 3 + .../lib/bootstrap-icons/icons/camera.svg | 4 + .../lib/bootstrap-icons/icons/camera2.svg | 4 + .../bootstrap-icons/icons/capslock-fill.svg | 3 + .../lib/bootstrap-icons/icons/capslock.svg | 3 + .../bootstrap-icons/icons/capsule-pill.svg | 3 + .../lib/bootstrap-icons/icons/capsule.svg | 3 + .../bootstrap-icons/icons/car-front-fill.svg | 3 + .../lib/bootstrap-icons/icons/car-front.svg | 4 + .../bootstrap-icons/icons/card-checklist.svg | 4 + .../bootstrap-icons/icons/card-heading.svg | 4 + .../lib/bootstrap-icons/icons/card-image.svg | 4 + .../lib/bootstrap-icons/icons/card-list.svg | 4 + .../lib/bootstrap-icons/icons/card-text.svg | 4 + .../bootstrap-icons/icons/caret-down-fill.svg | 3 + .../icons/caret-down-square-fill.svg | 3 + .../icons/caret-down-square.svg | 4 + .../lib/bootstrap-icons/icons/caret-down.svg | 3 + .../bootstrap-icons/icons/caret-left-fill.svg | 3 + .../icons/caret-left-square-fill.svg | 3 + .../icons/caret-left-square.svg | 4 + .../lib/bootstrap-icons/icons/caret-left.svg | 3 + .../icons/caret-right-fill.svg | 3 + .../icons/caret-right-square-fill.svg | 3 + .../icons/caret-right-square.svg | 4 + .../lib/bootstrap-icons/icons/caret-right.svg | 3 + .../bootstrap-icons/icons/caret-up-fill.svg | 3 + .../icons/caret-up-square-fill.svg | 3 + .../bootstrap-icons/icons/caret-up-square.svg | 4 + .../lib/bootstrap-icons/icons/caret-up.svg | 3 + .../bootstrap-icons/icons/cart-check-fill.svg | 3 + .../lib/bootstrap-icons/icons/cart-check.svg | 4 + .../bootstrap-icons/icons/cart-dash-fill.svg | 3 + .../lib/bootstrap-icons/icons/cart-dash.svg | 4 + .../lib/bootstrap-icons/icons/cart-fill.svg | 3 + .../bootstrap-icons/icons/cart-plus-fill.svg | 3 + .../lib/bootstrap-icons/icons/cart-plus.svg | 4 + .../lib/bootstrap-icons/icons/cart-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/cart-x.svg | 4 + .../lib/bootstrap-icons/icons/cart.svg | 3 + .../lib/bootstrap-icons/icons/cart2.svg | 3 + .../lib/bootstrap-icons/icons/cart3.svg | 3 + .../lib/bootstrap-icons/icons/cart4.svg | 3 + .../lib/bootstrap-icons/icons/cash-coin.svg | 6 + .../lib/bootstrap-icons/icons/cash-stack.svg | 4 + .../lib/bootstrap-icons/icons/cash.svg | 4 + .../bootstrap-icons/icons/cassette-fill.svg | 4 + .../lib/bootstrap-icons/icons/cassette.svg | 4 + .../lib/bootstrap-icons/icons/cast.svg | 4 + .../bootstrap-icons/icons/cc-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/cc-circle.svg | 3 + .../bootstrap-icons/icons/cc-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/cc-square.svg | 4 + .../bootstrap-icons/icons/chat-dots-fill.svg | 3 + .../lib/bootstrap-icons/icons/chat-dots.svg | 4 + .../lib/bootstrap-icons/icons/chat-fill.svg | 3 + .../bootstrap-icons/icons/chat-heart-fill.svg | 3 + .../lib/bootstrap-icons/icons/chat-heart.svg | 3 + .../icons/chat-left-dots-fill.svg | 3 + .../bootstrap-icons/icons/chat-left-dots.svg | 4 + .../bootstrap-icons/icons/chat-left-fill.svg | 3 + .../icons/chat-left-heart-fill.svg | 3 + .../bootstrap-icons/icons/chat-left-heart.svg | 4 + .../icons/chat-left-quote-fill.svg | 3 + .../bootstrap-icons/icons/chat-left-quote.svg | 4 + .../icons/chat-left-text-fill.svg | 3 + .../bootstrap-icons/icons/chat-left-text.svg | 4 + .../lib/bootstrap-icons/icons/chat-left.svg | 3 + .../bootstrap-icons/icons/chat-quote-fill.svg | 3 + .../lib/bootstrap-icons/icons/chat-quote.svg | 4 + .../icons/chat-right-dots-fill.svg | 3 + .../bootstrap-icons/icons/chat-right-dots.svg | 4 + .../bootstrap-icons/icons/chat-right-fill.svg | 3 + .../icons/chat-right-heart-fill.svg | 3 + .../icons/chat-right-heart.svg | 4 + .../icons/chat-right-quote-fill.svg | 3 + .../icons/chat-right-quote.svg | 4 + .../icons/chat-right-text-fill.svg | 3 + .../bootstrap-icons/icons/chat-right-text.svg | 4 + .../lib/bootstrap-icons/icons/chat-right.svg | 3 + .../icons/chat-square-dots-fill.svg | 3 + .../icons/chat-square-dots.svg | 4 + .../icons/chat-square-fill.svg | 3 + .../icons/chat-square-heart-fill.svg | 3 + .../icons/chat-square-heart.svg | 4 + .../icons/chat-square-quote-fill.svg | 3 + .../icons/chat-square-quote.svg | 4 + .../icons/chat-square-text-fill.svg | 3 + .../icons/chat-square-text.svg | 4 + .../lib/bootstrap-icons/icons/chat-square.svg | 3 + .../bootstrap-icons/icons/chat-text-fill.svg | 3 + .../lib/bootstrap-icons/icons/chat-text.svg | 4 + .../lib/bootstrap-icons/icons/chat.svg | 3 + .../lib/bootstrap-icons/icons/check-all.svg | 3 + .../icons/check-circle-fill.svg | 3 + .../bootstrap-icons/icons/check-circle.svg | 4 + .../lib/bootstrap-icons/icons/check-lg.svg | 3 + .../icons/check-square-fill.svg | 3 + .../bootstrap-icons/icons/check-square.svg | 4 + .../lib/bootstrap-icons/icons/check.svg | 3 + .../lib/bootstrap-icons/icons/check2-all.svg | 4 + .../bootstrap-icons/icons/check2-circle.svg | 4 + .../bootstrap-icons/icons/check2-square.svg | 4 + .../lib/bootstrap-icons/icons/check2.svg | 3 + .../icons/chevron-bar-contract.svg | 3 + .../icons/chevron-bar-down.svg | 3 + .../icons/chevron-bar-expand.svg | 3 + .../icons/chevron-bar-left.svg | 3 + .../icons/chevron-bar-right.svg | 3 + .../bootstrap-icons/icons/chevron-bar-up.svg | 3 + .../icons/chevron-compact-down.svg | 3 + .../icons/chevron-compact-left.svg | 3 + .../icons/chevron-compact-right.svg | 3 + .../icons/chevron-compact-up.svg | 3 + .../icons/chevron-contract.svg | 3 + .../icons/chevron-double-down.svg | 4 + .../icons/chevron-double-left.svg | 4 + .../icons/chevron-double-right.svg | 4 + .../icons/chevron-double-up.svg | 4 + .../bootstrap-icons/icons/chevron-down.svg | 3 + .../bootstrap-icons/icons/chevron-expand.svg | 3 + .../bootstrap-icons/icons/chevron-left.svg | 3 + .../bootstrap-icons/icons/chevron-right.svg | 3 + .../lib/bootstrap-icons/icons/chevron-up.svg | 3 + .../lib/bootstrap-icons/icons/circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/circle-half.svg | 3 + .../bootstrap-icons/icons/circle-square.svg | 4 + .../lib/bootstrap-icons/icons/circle.svg | 3 + .../icons/clipboard-check-fill.svg | 4 + .../bootstrap-icons/icons/clipboard-check.svg | 5 + .../icons/clipboard-data-fill.svg | 4 + .../bootstrap-icons/icons/clipboard-data.svg | 5 + .../bootstrap-icons/icons/clipboard-fill.svg | 3 + .../icons/clipboard-heart-fill.svg | 4 + .../bootstrap-icons/icons/clipboard-heart.svg | 5 + .../icons/clipboard-minus-fill.svg | 4 + .../bootstrap-icons/icons/clipboard-minus.svg | 5 + .../icons/clipboard-plus-fill.svg | 4 + .../bootstrap-icons/icons/clipboard-plus.svg | 5 + .../bootstrap-icons/icons/clipboard-pulse.svg | 3 + .../icons/clipboard-x-fill.svg | 4 + .../lib/bootstrap-icons/icons/clipboard-x.svg | 5 + .../lib/bootstrap-icons/icons/clipboard.svg | 4 + .../icons/clipboard2-check-fill.svg | 4 + .../icons/clipboard2-check.svg | 5 + .../icons/clipboard2-data-fill.svg | 4 + .../bootstrap-icons/icons/clipboard2-data.svg | 5 + .../bootstrap-icons/icons/clipboard2-fill.svg | 4 + .../icons/clipboard2-heart-fill.svg | 4 + .../icons/clipboard2-heart.svg | 5 + .../icons/clipboard2-minus-fill.svg | 4 + .../icons/clipboard2-minus.svg | 5 + .../icons/clipboard2-plus-fill.svg | 4 + .../bootstrap-icons/icons/clipboard2-plus.svg | 5 + .../icons/clipboard2-pulse-fill.svg | 4 + .../icons/clipboard2-pulse.svg | 5 + .../icons/clipboard2-x-fill.svg | 4 + .../bootstrap-icons/icons/clipboard2-x.svg | 5 + .../lib/bootstrap-icons/icons/clipboard2.svg | 4 + .../lib/bootstrap-icons/icons/clock-fill.svg | 3 + .../bootstrap-icons/icons/clock-history.svg | 5 + .../lib/bootstrap-icons/icons/clock.svg | 4 + .../icons/cloud-arrow-down-fill.svg | 3 + .../icons/cloud-arrow-down.svg | 4 + .../icons/cloud-arrow-up-fill.svg | 3 + .../bootstrap-icons/icons/cloud-arrow-up.svg | 4 + .../icons/cloud-check-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-check.svg | 4 + .../icons/cloud-download-fill.svg | 3 + .../bootstrap-icons/icons/cloud-download.svg | 4 + .../icons/cloud-drizzle-fill.svg | 3 + .../bootstrap-icons/icons/cloud-drizzle.svg | 3 + .../lib/bootstrap-icons/icons/cloud-fill.svg | 3 + .../bootstrap-icons/icons/cloud-fog-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-fog.svg | 3 + .../bootstrap-icons/icons/cloud-fog2-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-fog2.svg | 3 + .../bootstrap-icons/icons/cloud-hail-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-hail.svg | 3 + .../bootstrap-icons/icons/cloud-haze-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-haze.svg | 3 + .../icons/cloud-haze2-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-haze2.svg | 3 + .../icons/cloud-lightning-fill.svg | 3 + .../icons/cloud-lightning-rain-fill.svg | 3 + .../icons/cloud-lightning-rain.svg | 3 + .../bootstrap-icons/icons/cloud-lightning.svg | 3 + .../icons/cloud-minus-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-minus.svg | 4 + .../bootstrap-icons/icons/cloud-moon-fill.svg | 4 + .../lib/bootstrap-icons/icons/cloud-moon.svg | 4 + .../bootstrap-icons/icons/cloud-plus-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-plus.svg | 4 + .../bootstrap-icons/icons/cloud-rain-fill.svg | 3 + .../icons/cloud-rain-heavy-fill.svg | 3 + .../icons/cloud-rain-heavy.svg | 3 + .../lib/bootstrap-icons/icons/cloud-rain.svg | 3 + .../icons/cloud-slash-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-slash.svg | 4 + .../icons/cloud-sleet-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-sleet.svg | 3 + .../bootstrap-icons/icons/cloud-snow-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloud-snow.svg | 3 + .../bootstrap-icons/icons/cloud-sun-fill.svg | 4 + .../lib/bootstrap-icons/icons/cloud-sun.svg | 4 + .../icons/cloud-upload-fill.svg | 3 + .../bootstrap-icons/icons/cloud-upload.svg | 4 + .../lib/bootstrap-icons/icons/cloud.svg | 3 + .../lib/bootstrap-icons/icons/clouds-fill.svg | 4 + .../lib/bootstrap-icons/icons/clouds.svg | 4 + .../lib/bootstrap-icons/icons/cloudy-fill.svg | 3 + .../lib/bootstrap-icons/icons/cloudy.svg | 3 + .../lib/bootstrap-icons/icons/code-slash.svg | 3 + .../lib/bootstrap-icons/icons/code-square.svg | 4 + .../lib/bootstrap-icons/icons/code.svg | 3 + .../lib/bootstrap-icons/icons/coin.svg | 5 + .../bootstrap-icons/icons/collection-fill.svg | 3 + .../icons/collection-play-fill.svg | 3 + .../bootstrap-icons/icons/collection-play.svg | 4 + .../lib/bootstrap-icons/icons/collection.svg | 3 + .../lib/bootstrap-icons/icons/columns-gap.svg | 3 + .../lib/bootstrap-icons/icons/columns.svg | 3 + .../lib/bootstrap-icons/icons/command.svg | 3 + .../bootstrap-icons/icons/compass-fill.svg | 3 + .../lib/bootstrap-icons/icons/compass.svg | 4 + .../bootstrap-icons/icons/cone-striped.svg | 3 + .../lib/bootstrap-icons/icons/cone.svg | 3 + .../lib/bootstrap-icons/icons/controller.svg | 4 + .../lib/bootstrap-icons/icons/cpu-fill.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/cpu.svg | 3 + .../icons/credit-card-2-back-fill.svg | 3 + .../icons/credit-card-2-back.svg | 4 + .../icons/credit-card-2-front-fill.svg | 3 + .../icons/credit-card-2-front.svg | 4 + .../icons/credit-card-fill.svg | 3 + .../lib/bootstrap-icons/icons/credit-card.svg | 4 + .../lib/bootstrap-icons/icons/crop.svg | 3 + .../lib/bootstrap-icons/icons/cup-fill.svg | 3 + .../bootstrap-icons/icons/cup-hot-fill.svg | 4 + .../lib/bootstrap-icons/icons/cup-hot.svg | 4 + .../lib/bootstrap-icons/icons/cup-straw.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/cup.svg | 3 + .../icons/currency-bitcoin.svg | 3 + .../bootstrap-icons/icons/currency-dollar.svg | 3 + .../bootstrap-icons/icons/currency-euro.svg | 3 + .../icons/currency-exchange.svg | 3 + .../bootstrap-icons/icons/currency-pound.svg | 3 + .../bootstrap-icons/icons/currency-rupee.svg | 3 + .../bootstrap-icons/icons/currency-yen.svg | 3 + .../lib/bootstrap-icons/icons/cursor-fill.svg | 3 + .../lib/bootstrap-icons/icons/cursor-text.svg | 3 + .../lib/bootstrap-icons/icons/cursor.svg | 3 + .../icons/dash-circle-dotted.svg | 3 + .../icons/dash-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/dash-circle.svg | 4 + .../lib/bootstrap-icons/icons/dash-lg.svg | 3 + .../icons/dash-square-dotted.svg | 3 + .../icons/dash-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/dash-square.svg | 4 + .../lib/bootstrap-icons/icons/dash.svg | 3 + .../bootstrap-icons/icons/database-add.svg | 4 + .../bootstrap-icons/icons/database-check.svg | 4 + .../bootstrap-icons/icons/database-dash.svg | 4 + .../bootstrap-icons/icons/database-down.svg | 4 + .../icons/database-exclamation.svg | 4 + .../icons/database-fill-add.svg | 4 + .../icons/database-fill-check.svg | 4 + .../icons/database-fill-dash.svg | 4 + .../icons/database-fill-down.svg | 4 + .../icons/database-fill-exclamation.svg | 5 + .../icons/database-fill-gear.svg | 4 + .../icons/database-fill-lock.svg | 5 + .../icons/database-fill-slash.svg | 4 + .../icons/database-fill-up.svg | 4 + .../bootstrap-icons/icons/database-fill-x.svg | 5 + .../bootstrap-icons/icons/database-fill.svg | 6 + .../bootstrap-icons/icons/database-gear.svg | 4 + .../bootstrap-icons/icons/database-lock.svg | 4 + .../bootstrap-icons/icons/database-slash.svg | 4 + .../lib/bootstrap-icons/icons/database-up.svg | 4 + .../lib/bootstrap-icons/icons/database-x.svg | 4 + .../lib/bootstrap-icons/icons/database.svg | 3 + .../bootstrap-icons/icons/device-hdd-fill.svg | 4 + .../lib/bootstrap-icons/icons/device-hdd.svg | 5 + .../bootstrap-icons/icons/device-ssd-fill.svg | 4 + .../lib/bootstrap-icons/icons/device-ssd.svg | 4 + .../bootstrap-icons/icons/diagram-2-fill.svg | 3 + .../lib/bootstrap-icons/icons/diagram-2.svg | 3 + .../bootstrap-icons/icons/diagram-3-fill.svg | 3 + .../lib/bootstrap-icons/icons/diagram-3.svg | 3 + .../bootstrap-icons/icons/diamond-fill.svg | 3 + .../bootstrap-icons/icons/diamond-half.svg | 3 + .../lib/bootstrap-icons/icons/diamond.svg | 3 + .../lib/bootstrap-icons/icons/dice-1-fill.svg | 3 + .../lib/bootstrap-icons/icons/dice-1.svg | 4 + .../lib/bootstrap-icons/icons/dice-2-fill.svg | 3 + .../lib/bootstrap-icons/icons/dice-2.svg | 4 + .../lib/bootstrap-icons/icons/dice-3-fill.svg | 3 + .../lib/bootstrap-icons/icons/dice-3.svg | 4 + .../lib/bootstrap-icons/icons/dice-4-fill.svg | 3 + .../lib/bootstrap-icons/icons/dice-4.svg | 4 + .../lib/bootstrap-icons/icons/dice-5-fill.svg | 3 + .../lib/bootstrap-icons/icons/dice-5.svg | 4 + .../lib/bootstrap-icons/icons/dice-6-fill.svg | 3 + .../lib/bootstrap-icons/icons/dice-6.svg | 4 + .../lib/bootstrap-icons/icons/disc-fill.svg | 3 + .../lib/bootstrap-icons/icons/disc.svg | 4 + .../lib/bootstrap-icons/icons/discord.svg | 3 + .../bootstrap-icons/icons/display-fill.svg | 3 + .../lib/bootstrap-icons/icons/display.svg | 3 + .../icons/displayport-fill.svg | 3 + .../lib/bootstrap-icons/icons/displayport.svg | 4 + .../icons/distribute-horizontal.svg | 4 + .../icons/distribute-vertical.svg | 4 + .../icons/door-closed-fill.svg | 3 + .../lib/bootstrap-icons/icons/door-closed.svg | 4 + .../bootstrap-icons/icons/door-open-fill.svg | 3 + .../lib/bootstrap-icons/icons/door-open.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/dot.svg | 3 + .../lib/bootstrap-icons/icons/download.svg | 4 + .../lib/bootstrap-icons/icons/dpad-fill.svg | 3 + .../lib/bootstrap-icons/icons/dpad.svg | 4 + .../lib/bootstrap-icons/icons/dribbble.svg | 3 + .../lib/bootstrap-icons/icons/dropbox.svg | 3 + .../bootstrap-icons/icons/droplet-fill.svg | 3 + .../bootstrap-icons/icons/droplet-half.svg | 4 + .../lib/bootstrap-icons/icons/droplet.svg | 4 + .../lib/bootstrap-icons/icons/ear-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/ear.svg | 3 + .../lib/bootstrap-icons/icons/earbuds.svg | 3 + .../lib/bootstrap-icons/icons/easel-fill.svg | 3 + .../lib/bootstrap-icons/icons/easel.svg | 3 + .../lib/bootstrap-icons/icons/easel2-fill.svg | 4 + .../lib/bootstrap-icons/icons/easel2.svg | 3 + .../lib/bootstrap-icons/icons/easel3-fill.svg | 3 + .../lib/bootstrap-icons/icons/easel3.svg | 3 + .../lib/bootstrap-icons/icons/egg-fill.svg | 3 + .../lib/bootstrap-icons/icons/egg-fried.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/egg.svg | 3 + .../lib/bootstrap-icons/icons/eject-fill.svg | 3 + .../lib/bootstrap-icons/icons/eject.svg | 3 + .../icons/emoji-angry-fill.svg | 3 + .../lib/bootstrap-icons/icons/emoji-angry.svg | 4 + .../icons/emoji-dizzy-fill.svg | 3 + .../lib/bootstrap-icons/icons/emoji-dizzy.svg | 4 + .../icons/emoji-expressionless-fill.svg | 3 + .../icons/emoji-expressionless.svg | 4 + .../icons/emoji-frown-fill.svg | 3 + .../lib/bootstrap-icons/icons/emoji-frown.svg | 4 + .../icons/emoji-heart-eyes-fill.svg | 3 + .../icons/emoji-heart-eyes.svg | 4 + .../bootstrap-icons/icons/emoji-kiss-fill.svg | 3 + .../lib/bootstrap-icons/icons/emoji-kiss.svg | 3 + .../icons/emoji-laughing-fill.svg | 3 + .../bootstrap-icons/icons/emoji-laughing.svg | 4 + .../icons/emoji-neutral-fill.svg | 3 + .../bootstrap-icons/icons/emoji-neutral.svg | 4 + .../icons/emoji-smile-fill.svg | 3 + .../icons/emoji-smile-upside-down-fill.svg | 3 + .../icons/emoji-smile-upside-down.svg | 4 + .../lib/bootstrap-icons/icons/emoji-smile.svg | 4 + .../icons/emoji-sunglasses-fill.svg | 3 + .../icons/emoji-sunglasses.svg | 4 + .../bootstrap-icons/icons/emoji-wink-fill.svg | 3 + .../lib/bootstrap-icons/icons/emoji-wink.svg | 4 + .../icons/envelope-at-fill.svg | 4 + .../lib/bootstrap-icons/icons/envelope-at.svg | 4 + .../icons/envelope-check-fill.svg | 4 + .../bootstrap-icons/icons/envelope-check.svg | 4 + .../icons/envelope-dash-fill.svg | 4 + .../bootstrap-icons/icons/envelope-dash.svg | 4 + .../icons/envelope-exclamation-fill.svg | 4 + .../icons/envelope-exclamation.svg | 4 + .../bootstrap-icons/icons/envelope-fill.svg | 3 + .../icons/envelope-heart-fill.svg | 4 + .../bootstrap-icons/icons/envelope-heart.svg | 3 + .../icons/envelope-open-fill.svg | 3 + .../icons/envelope-open-heart-fill.svg | 4 + .../icons/envelope-open-heart.svg | 3 + .../bootstrap-icons/icons/envelope-open.svg | 3 + .../icons/envelope-paper-fill.svg | 3 + .../icons/envelope-paper-heart-fill.svg | 3 + .../icons/envelope-paper-heart.svg | 3 + .../bootstrap-icons/icons/envelope-paper.svg | 3 + .../icons/envelope-plus-fill.svg | 4 + .../bootstrap-icons/icons/envelope-plus.svg | 4 + .../icons/envelope-slash-fill.svg | 4 + .../bootstrap-icons/icons/envelope-slash.svg | 4 + .../bootstrap-icons/icons/envelope-x-fill.svg | 4 + .../lib/bootstrap-icons/icons/envelope-x.svg | 4 + .../lib/bootstrap-icons/icons/envelope.svg | 3 + .../lib/bootstrap-icons/icons/eraser-fill.svg | 3 + .../lib/bootstrap-icons/icons/eraser.svg | 3 + .../lib/bootstrap-icons/icons/escape.svg | 4 + .../lib/bootstrap-icons/icons/ethernet.svg | 4 + .../bootstrap-icons/icons/ev-front-fill.svg | 3 + .../lib/bootstrap-icons/icons/ev-front.svg | 4 + .../bootstrap-icons/icons/ev-station-fill.svg | 3 + .../lib/bootstrap-icons/icons/ev-station.svg | 4 + .../icons/exclamation-circle-fill.svg | 3 + .../icons/exclamation-circle.svg | 4 + .../icons/exclamation-diamond-fill.svg | 3 + .../icons/exclamation-diamond.svg | 4 + .../bootstrap-icons/icons/exclamation-lg.svg | 3 + .../icons/exclamation-octagon-fill.svg | 3 + .../icons/exclamation-octagon.svg | 4 + .../icons/exclamation-square-fill.svg | 3 + .../icons/exclamation-square.svg | 4 + .../icons/exclamation-triangle-fill.svg | 3 + .../icons/exclamation-triangle.svg | 4 + .../lib/bootstrap-icons/icons/exclamation.svg | 3 + .../lib/bootstrap-icons/icons/exclude.svg | 3 + .../bootstrap-icons/icons/explicit-fill.svg | 3 + .../lib/bootstrap-icons/icons/explicit.svg | 4 + .../lib/bootstrap-icons/icons/eye-fill.svg | 4 + .../bootstrap-icons/icons/eye-slash-fill.svg | 4 + .../lib/bootstrap-icons/icons/eye-slash.svg | 5 + .../wwwroot/lib/bootstrap-icons/icons/eye.svg | 4 + .../lib/bootstrap-icons/icons/eyedropper.svg | 3 + .../lib/bootstrap-icons/icons/eyeglasses.svg | 3 + .../lib/bootstrap-icons/icons/facebook.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/fan.svg | 4 + .../icons/fast-forward-btn-fill.svg | 3 + .../icons/fast-forward-btn.svg | 4 + .../icons/fast-forward-circle-fill.svg | 3 + .../icons/fast-forward-circle.svg | 4 + .../icons/fast-forward-fill.svg | 4 + .../bootstrap-icons/icons/fast-forward.svg | 4 + .../icons/file-arrow-down-fill.svg | 3 + .../bootstrap-icons/icons/file-arrow-down.svg | 4 + .../icons/file-arrow-up-fill.svg | 3 + .../bootstrap-icons/icons/file-arrow-up.svg | 4 + .../icons/file-bar-graph-fill.svg | 3 + .../bootstrap-icons/icons/file-bar-graph.svg | 4 + .../icons/file-binary-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-binary.svg | 4 + .../bootstrap-icons/icons/file-break-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-break.svg | 3 + .../bootstrap-icons/icons/file-check-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-check.svg | 4 + .../bootstrap-icons/icons/file-code-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-code.svg | 4 + .../bootstrap-icons/icons/file-diff-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-diff.svg | 4 + .../icons/file-earmark-arrow-down-fill.svg | 3 + .../icons/file-earmark-arrow-down.svg | 4 + .../icons/file-earmark-arrow-up-fill.svg | 3 + .../icons/file-earmark-arrow-up.svg | 4 + .../icons/file-earmark-bar-graph-fill.svg | 3 + .../icons/file-earmark-bar-graph.svg | 4 + .../icons/file-earmark-binary-fill.svg | 4 + .../icons/file-earmark-binary.svg | 4 + .../icons/file-earmark-break-fill.svg | 3 + .../icons/file-earmark-break.svg | 3 + .../icons/file-earmark-check-fill.svg | 3 + .../icons/file-earmark-check.svg | 4 + .../icons/file-earmark-code-fill.svg | 3 + .../icons/file-earmark-code.svg | 4 + .../icons/file-earmark-diff-fill.svg | 3 + .../icons/file-earmark-diff.svg | 4 + .../icons/file-earmark-easel-fill.svg | 4 + .../icons/file-earmark-easel.svg | 4 + .../icons/file-earmark-excel-fill.svg | 3 + .../icons/file-earmark-excel.svg | 4 + .../icons/file-earmark-fill.svg | 3 + .../icons/file-earmark-font-fill.svg | 3 + .../icons/file-earmark-font.svg | 4 + .../icons/file-earmark-image-fill.svg | 4 + .../icons/file-earmark-image.svg | 4 + .../icons/file-earmark-lock-fill.svg | 4 + .../icons/file-earmark-lock.svg | 4 + .../icons/file-earmark-lock2-fill.svg | 4 + .../icons/file-earmark-lock2.svg | 4 + .../icons/file-earmark-medical-fill.svg | 3 + .../icons/file-earmark-medical.svg | 4 + .../icons/file-earmark-minus-fill.svg | 3 + .../icons/file-earmark-minus.svg | 4 + .../icons/file-earmark-music-fill.svg | 3 + .../icons/file-earmark-music.svg | 4 + .../icons/file-earmark-pdf-fill.svg | 4 + .../icons/file-earmark-pdf.svg | 4 + .../icons/file-earmark-person-fill.svg | 3 + .../icons/file-earmark-person.svg | 4 + .../icons/file-earmark-play-fill.svg | 3 + .../icons/file-earmark-play.svg | 4 + .../icons/file-earmark-plus-fill.svg | 3 + .../icons/file-earmark-plus.svg | 4 + .../icons/file-earmark-post-fill.svg | 3 + .../icons/file-earmark-post.svg | 4 + .../icons/file-earmark-ppt-fill.svg | 4 + .../icons/file-earmark-ppt.svg | 4 + .../icons/file-earmark-richtext-fill.svg | 3 + .../icons/file-earmark-richtext.svg | 4 + .../icons/file-earmark-ruled-fill.svg | 3 + .../icons/file-earmark-ruled.svg | 3 + .../icons/file-earmark-slides-fill.svg | 4 + .../icons/file-earmark-slides.svg | 4 + .../icons/file-earmark-spreadsheet-fill.svg | 4 + .../icons/file-earmark-spreadsheet.svg | 3 + .../icons/file-earmark-text-fill.svg | 3 + .../icons/file-earmark-text.svg | 4 + .../icons/file-earmark-word-fill.svg | 3 + .../icons/file-earmark-word.svg | 4 + .../icons/file-earmark-x-fill.svg | 3 + .../bootstrap-icons/icons/file-earmark-x.svg | 4 + .../icons/file-earmark-zip-fill.svg | 4 + .../icons/file-earmark-zip.svg | 4 + .../bootstrap-icons/icons/file-earmark.svg | 3 + .../bootstrap-icons/icons/file-easel-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-easel.svg | 4 + .../bootstrap-icons/icons/file-excel-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-excel.svg | 4 + .../lib/bootstrap-icons/icons/file-fill.svg | 3 + .../bootstrap-icons/icons/file-font-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-font.svg | 4 + .../bootstrap-icons/icons/file-image-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-image.svg | 4 + .../bootstrap-icons/icons/file-lock-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-lock.svg | 4 + .../bootstrap-icons/icons/file-lock2-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-lock2.svg | 4 + .../icons/file-medical-fill.svg | 3 + .../bootstrap-icons/icons/file-medical.svg | 4 + .../bootstrap-icons/icons/file-minus-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-minus.svg | 4 + .../bootstrap-icons/icons/file-music-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-music.svg | 4 + .../bootstrap-icons/icons/file-pdf-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-pdf.svg | 4 + .../icons/file-person-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-person.svg | 4 + .../bootstrap-icons/icons/file-play-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-play.svg | 4 + .../bootstrap-icons/icons/file-plus-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-plus.svg | 4 + .../bootstrap-icons/icons/file-post-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-post.svg | 4 + .../bootstrap-icons/icons/file-ppt-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-ppt.svg | 4 + .../icons/file-richtext-fill.svg | 3 + .../bootstrap-icons/icons/file-richtext.svg | 4 + .../bootstrap-icons/icons/file-ruled-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-ruled.svg | 3 + .../icons/file-slides-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-slides.svg | 4 + .../icons/file-spreadsheet-fill.svg | 3 + .../icons/file-spreadsheet.svg | 3 + .../bootstrap-icons/icons/file-text-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-text.svg | 4 + .../bootstrap-icons/icons/file-word-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-word.svg | 4 + .../lib/bootstrap-icons/icons/file-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/file-x.svg | 4 + .../bootstrap-icons/icons/file-zip-fill.svg | 4 + .../lib/bootstrap-icons/icons/file-zip.svg | 4 + .../lib/bootstrap-icons/icons/file.svg | 3 + .../lib/bootstrap-icons/icons/files-alt.svg | 3 + .../lib/bootstrap-icons/icons/files.svg | 3 + .../bootstrap-icons/icons/filetype-aac.svg | 3 + .../lib/bootstrap-icons/icons/filetype-ai.svg | 3 + .../bootstrap-icons/icons/filetype-bmp.svg | 3 + .../lib/bootstrap-icons/icons/filetype-cs.svg | 3 + .../bootstrap-icons/icons/filetype-css.svg | 3 + .../bootstrap-icons/icons/filetype-csv.svg | 3 + .../bootstrap-icons/icons/filetype-doc.svg | 3 + .../bootstrap-icons/icons/filetype-docx.svg | 3 + .../bootstrap-icons/icons/filetype-exe.svg | 3 + .../bootstrap-icons/icons/filetype-gif.svg | 3 + .../bootstrap-icons/icons/filetype-heic.svg | 3 + .../bootstrap-icons/icons/filetype-html.svg | 3 + .../bootstrap-icons/icons/filetype-java.svg | 3 + .../bootstrap-icons/icons/filetype-jpg.svg | 3 + .../lib/bootstrap-icons/icons/filetype-js.svg | 3 + .../bootstrap-icons/icons/filetype-json.svg | 3 + .../bootstrap-icons/icons/filetype-jsx.svg | 3 + .../bootstrap-icons/icons/filetype-key.svg | 3 + .../bootstrap-icons/icons/filetype-m4p.svg | 3 + .../lib/bootstrap-icons/icons/filetype-md.svg | 3 + .../bootstrap-icons/icons/filetype-mdx.svg | 3 + .../bootstrap-icons/icons/filetype-mov.svg | 3 + .../bootstrap-icons/icons/filetype-mp3.svg | 3 + .../bootstrap-icons/icons/filetype-mp4.svg | 3 + .../bootstrap-icons/icons/filetype-otf.svg | 3 + .../bootstrap-icons/icons/filetype-pdf.svg | 3 + .../bootstrap-icons/icons/filetype-php.svg | 3 + .../bootstrap-icons/icons/filetype-png.svg | 3 + .../bootstrap-icons/icons/filetype-ppt.svg | 3 + .../bootstrap-icons/icons/filetype-pptx.svg | 3 + .../bootstrap-icons/icons/filetype-psd.svg | 3 + .../lib/bootstrap-icons/icons/filetype-py.svg | 3 + .../bootstrap-icons/icons/filetype-raw.svg | 3 + .../lib/bootstrap-icons/icons/filetype-rb.svg | 3 + .../bootstrap-icons/icons/filetype-sass.svg | 3 + .../bootstrap-icons/icons/filetype-scss.svg | 3 + .../lib/bootstrap-icons/icons/filetype-sh.svg | 3 + .../bootstrap-icons/icons/filetype-sql.svg | 3 + .../bootstrap-icons/icons/filetype-svg.svg | 3 + .../bootstrap-icons/icons/filetype-tiff.svg | 3 + .../bootstrap-icons/icons/filetype-tsx.svg | 3 + .../bootstrap-icons/icons/filetype-ttf.svg | 3 + .../bootstrap-icons/icons/filetype-txt.svg | 3 + .../bootstrap-icons/icons/filetype-wav.svg | 3 + .../bootstrap-icons/icons/filetype-woff.svg | 3 + .../bootstrap-icons/icons/filetype-xls.svg | 3 + .../bootstrap-icons/icons/filetype-xlsx.svg | 3 + .../bootstrap-icons/icons/filetype-xml.svg | 3 + .../bootstrap-icons/icons/filetype-yml.svg | 3 + .../lib/bootstrap-icons/icons/film.svg | 3 + .../icons/filter-circle-fill.svg | 3 + .../bootstrap-icons/icons/filter-circle.svg | 4 + .../lib/bootstrap-icons/icons/filter-left.svg | 3 + .../bootstrap-icons/icons/filter-right.svg | 3 + .../icons/filter-square-fill.svg | 3 + .../bootstrap-icons/icons/filter-square.svg | 4 + .../lib/bootstrap-icons/icons/filter.svg | 3 + .../lib/bootstrap-icons/icons/fingerprint.svg | 7 + .../lib/bootstrap-icons/icons/fire.svg | 3 + .../lib/bootstrap-icons/icons/flag-fill.svg | 3 + .../lib/bootstrap-icons/icons/flag.svg | 3 + .../lib/bootstrap-icons/icons/flower1.svg | 3 + .../lib/bootstrap-icons/icons/flower2.svg | 3 + .../lib/bootstrap-icons/icons/flower3.svg | 3 + .../bootstrap-icons/icons/folder-check.svg | 4 + .../lib/bootstrap-icons/icons/folder-fill.svg | 3 + .../bootstrap-icons/icons/folder-minus.svg | 4 + .../lib/bootstrap-icons/icons/folder-plus.svg | 4 + .../icons/folder-symlink-fill.svg | 3 + .../bootstrap-icons/icons/folder-symlink.svg | 4 + .../lib/bootstrap-icons/icons/folder-x.svg | 4 + .../lib/bootstrap-icons/icons/folder.svg | 3 + .../bootstrap-icons/icons/folder2-open.svg | 3 + .../lib/bootstrap-icons/icons/folder2.svg | 3 + .../lib/bootstrap-icons/icons/fonts.svg | 3 + .../bootstrap-icons/icons/forward-fill.svg | 3 + .../lib/bootstrap-icons/icons/forward.svg | 3 + .../lib/bootstrap-icons/icons/front.svg | 3 + .../icons/fuel-pump-diesel-fill.svg | 4 + .../icons/fuel-pump-diesel.svg | 4 + .../bootstrap-icons/icons/fuel-pump-fill.svg | 3 + .../lib/bootstrap-icons/icons/fuel-pump.svg | 4 + .../bootstrap-icons/icons/fullscreen-exit.svg | 3 + .../lib/bootstrap-icons/icons/fullscreen.svg | 3 + .../lib/bootstrap-icons/icons/funnel-fill.svg | 3 + .../lib/bootstrap-icons/icons/funnel.svg | 3 + .../lib/bootstrap-icons/icons/gear-fill.svg | 3 + .../icons/gear-wide-connected.svg | 3 + .../lib/bootstrap-icons/icons/gear-wide.svg | 3 + .../lib/bootstrap-icons/icons/gear.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/gem.svg | 3 + .../icons/gender-ambiguous.svg | 3 + .../bootstrap-icons/icons/gender-female.svg | 3 + .../lib/bootstrap-icons/icons/gender-male.svg | 3 + .../bootstrap-icons/icons/gender-trans.svg | 3 + .../bootstrap-icons/icons/geo-alt-fill.svg | 3 + .../lib/bootstrap-icons/icons/geo-alt.svg | 4 + .../lib/bootstrap-icons/icons/geo-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/geo.svg | 3 + .../lib/bootstrap-icons/icons/gift-fill.svg | 3 + .../lib/bootstrap-icons/icons/gift.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/git.svg | 3 + .../lib/bootstrap-icons/icons/github.svg | 3 + .../bootstrap-icons/icons/globe-americas.svg | 3 + .../icons/globe-asia-australia.svg | 4 + .../icons/globe-central-south-asia.svg | 3 + .../icons/globe-europe-africa.svg | 3 + .../lib/bootstrap-icons/icons/globe.svg | 3 + .../lib/bootstrap-icons/icons/globe2.svg | 3 + .../lib/bootstrap-icons/icons/google-play.svg | 3 + .../lib/bootstrap-icons/icons/google.svg | 3 + .../lib/bootstrap-icons/icons/gpu-card.svg | 5 + .../icons/graph-down-arrow.svg | 3 + .../lib/bootstrap-icons/icons/graph-down.svg | 3 + .../bootstrap-icons/icons/graph-up-arrow.svg | 3 + .../lib/bootstrap-icons/icons/graph-up.svg | 3 + .../bootstrap-icons/icons/grid-1x2-fill.svg | 3 + .../lib/bootstrap-icons/icons/grid-1x2.svg | 3 + .../icons/grid-3x2-gap-fill.svg | 3 + .../bootstrap-icons/icons/grid-3x2-gap.svg | 3 + .../lib/bootstrap-icons/icons/grid-3x2.svg | 3 + .../icons/grid-3x3-gap-fill.svg | 3 + .../bootstrap-icons/icons/grid-3x3-gap.svg | 3 + .../lib/bootstrap-icons/icons/grid-3x3.svg | 3 + .../lib/bootstrap-icons/icons/grid-fill.svg | 3 + .../lib/bootstrap-icons/icons/grid.svg | 3 + .../bootstrap-icons/icons/grip-horizontal.svg | 3 + .../bootstrap-icons/icons/grip-vertical.svg | 3 + .../bootstrap-icons/icons/h-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/h-circle.svg | 3 + .../bootstrap-icons/icons/h-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/h-square.svg | 4 + .../lib/bootstrap-icons/icons/hammer.svg | 3 + .../bootstrap-icons/icons/hand-index-fill.svg | 3 + .../icons/hand-index-thumb-fill.svg | 3 + .../icons/hand-index-thumb.svg | 3 + .../lib/bootstrap-icons/icons/hand-index.svg | 3 + .../icons/hand-thumbs-down-fill.svg | 3 + .../icons/hand-thumbs-down.svg | 3 + .../icons/hand-thumbs-up-fill.svg | 3 + .../bootstrap-icons/icons/hand-thumbs-up.svg | 3 + .../bootstrap-icons/icons/handbag-fill.svg | 3 + .../lib/bootstrap-icons/icons/handbag.svg | 3 + .../lib/bootstrap-icons/icons/hash.svg | 3 + .../lib/bootstrap-icons/icons/hdd-fill.svg | 3 + .../icons/hdd-network-fill.svg | 3 + .../lib/bootstrap-icons/icons/hdd-network.svg | 4 + .../bootstrap-icons/icons/hdd-rack-fill.svg | 3 + .../lib/bootstrap-icons/icons/hdd-rack.svg | 4 + .../bootstrap-icons/icons/hdd-stack-fill.svg | 3 + .../lib/bootstrap-icons/icons/hdd-stack.svg | 5 + .../wwwroot/lib/bootstrap-icons/icons/hdd.svg | 4 + .../lib/bootstrap-icons/icons/hdmi-fill.svg | 3 + .../lib/bootstrap-icons/icons/hdmi.svg | 4 + .../lib/bootstrap-icons/icons/headphones.svg | 3 + .../lib/bootstrap-icons/icons/headset-vr.svg | 4 + .../lib/bootstrap-icons/icons/headset.svg | 3 + .../lib/bootstrap-icons/icons/heart-arrow.svg | 3 + .../lib/bootstrap-icons/icons/heart-fill.svg | 3 + .../lib/bootstrap-icons/icons/heart-half.svg | 3 + .../icons/heart-pulse-fill.svg | 3 + .../lib/bootstrap-icons/icons/heart-pulse.svg | 3 + .../lib/bootstrap-icons/icons/heart.svg | 3 + .../bootstrap-icons/icons/heartbreak-fill.svg | 3 + .../lib/bootstrap-icons/icons/heartbreak.svg | 3 + .../lib/bootstrap-icons/icons/hearts.svg | 3 + .../bootstrap-icons/icons/heptagon-fill.svg | 3 + .../bootstrap-icons/icons/heptagon-half.svg | 3 + .../lib/bootstrap-icons/icons/heptagon.svg | 3 + .../bootstrap-icons/icons/hexagon-fill.svg | 3 + .../bootstrap-icons/icons/hexagon-half.svg | 3 + .../lib/bootstrap-icons/icons/hexagon.svg | 3 + .../bootstrap-icons/icons/hospital-fill.svg | 3 + .../lib/bootstrap-icons/icons/hospital.svg | 4 + .../icons/hourglass-bottom.svg | 3 + .../bootstrap-icons/icons/hourglass-split.svg | 3 + .../bootstrap-icons/icons/hourglass-top.svg | 3 + .../lib/bootstrap-icons/icons/hourglass.svg | 3 + .../bootstrap-icons/icons/house-add-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-add.svg | 4 + .../icons/house-check-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-check.svg | 4 + .../bootstrap-icons/icons/house-dash-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-dash.svg | 4 + .../bootstrap-icons/icons/house-door-fill.svg | 3 + .../lib/bootstrap-icons/icons/house-door.svg | 3 + .../bootstrap-icons/icons/house-down-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-down.svg | 4 + .../icons/house-exclamation-fill.svg | 5 + .../icons/house-exclamation.svg | 4 + .../lib/bootstrap-icons/icons/house-fill.svg | 4 + .../bootstrap-icons/icons/house-gear-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-gear.svg | 4 + .../icons/house-heart-fill.svg | 4 + .../lib/bootstrap-icons/icons/house-heart.svg | 4 + .../bootstrap-icons/icons/house-lock-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-lock.svg | 4 + .../icons/house-slash-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-slash.svg | 4 + .../bootstrap-icons/icons/house-up-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-up.svg | 4 + .../bootstrap-icons/icons/house-x-fill.svg | 5 + .../lib/bootstrap-icons/icons/house-x.svg | 4 + .../lib/bootstrap-icons/icons/house.svg | 4 + .../lib/bootstrap-icons/icons/houses-fill.svg | 4 + .../lib/bootstrap-icons/icons/houses.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/hr.svg | 3 + .../lib/bootstrap-icons/icons/hurricane.svg | 3 + .../lib/bootstrap-icons/icons/hypnotize.svg | 4 + .../lib/bootstrap-icons/icons/image-alt.svg | 3 + .../lib/bootstrap-icons/icons/image-fill.svg | 3 + .../lib/bootstrap-icons/icons/image.svg | 4 + .../lib/bootstrap-icons/icons/images.svg | 4 + .../lib/bootstrap-icons/icons/inbox-fill.svg | 3 + .../lib/bootstrap-icons/icons/inbox.svg | 3 + .../bootstrap-icons/icons/inboxes-fill.svg | 3 + .../lib/bootstrap-icons/icons/inboxes.svg | 3 + .../lib/bootstrap-icons/icons/incognito.svg | 3 + .../lib/bootstrap-icons/icons/indent.svg | 4 + .../lib/bootstrap-icons/icons/infinity.svg | 3 + .../icons/info-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/info-circle.svg | 4 + .../lib/bootstrap-icons/icons/info-lg.svg | 3 + .../icons/info-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/info-square.svg | 4 + .../lib/bootstrap-icons/icons/info.svg | 3 + .../icons/input-cursor-text.svg | 4 + .../bootstrap-icons/icons/input-cursor.svg | 4 + .../lib/bootstrap-icons/icons/instagram.svg | 3 + .../lib/bootstrap-icons/icons/intersect.svg | 3 + .../bootstrap-icons/icons/journal-album.svg | 5 + .../icons/journal-arrow-down.svg | 5 + .../icons/journal-arrow-up.svg | 5 + .../icons/journal-bookmark-fill.svg | 5 + .../icons/journal-bookmark.svg | 5 + .../bootstrap-icons/icons/journal-check.svg | 5 + .../bootstrap-icons/icons/journal-code.svg | 5 + .../bootstrap-icons/icons/journal-medical.svg | 5 + .../bootstrap-icons/icons/journal-minus.svg | 5 + .../bootstrap-icons/icons/journal-plus.svg | 5 + .../icons/journal-richtext.svg | 5 + .../bootstrap-icons/icons/journal-text.svg | 5 + .../lib/bootstrap-icons/icons/journal-x.svg | 5 + .../lib/bootstrap-icons/icons/journal.svg | 4 + .../lib/bootstrap-icons/icons/journals.svg | 4 + .../lib/bootstrap-icons/icons/joystick.svg | 4 + .../bootstrap-icons/icons/justify-left.svg | 3 + .../bootstrap-icons/icons/justify-right.svg | 3 + .../lib/bootstrap-icons/icons/justify.svg | 3 + .../lib/bootstrap-icons/icons/kanban-fill.svg | 3 + .../lib/bootstrap-icons/icons/kanban.svg | 4 + .../lib/bootstrap-icons/icons/key-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/key.svg | 4 + .../bootstrap-icons/icons/keyboard-fill.svg | 3 + .../lib/bootstrap-icons/icons/keyboard.svg | 4 + .../lib/bootstrap-icons/icons/ladder.svg | 3 + .../lib/bootstrap-icons/icons/lamp-fill.svg | 4 + .../lib/bootstrap-icons/icons/lamp.svg | 4 + .../lib/bootstrap-icons/icons/laptop-fill.svg | 3 + .../lib/bootstrap-icons/icons/laptop.svg | 3 + .../bootstrap-icons/icons/layer-backward.svg | 4 + .../bootstrap-icons/icons/layer-forward.svg | 4 + .../lib/bootstrap-icons/icons/layers-fill.svg | 4 + .../lib/bootstrap-icons/icons/layers-half.svg | 3 + .../lib/bootstrap-icons/icons/layers.svg | 3 + .../icons/layout-sidebar-inset-reverse.svg | 4 + .../icons/layout-sidebar-inset.svg | 4 + .../icons/layout-sidebar-reverse.svg | 3 + .../bootstrap-icons/icons/layout-sidebar.svg | 3 + .../bootstrap-icons/icons/layout-split.svg | 3 + .../icons/layout-text-sidebar-reverse.svg | 4 + .../icons/layout-text-sidebar.svg | 4 + .../icons/layout-text-window-reverse.svg | 4 + .../icons/layout-text-window.svg | 4 + .../icons/layout-three-columns.svg | 3 + .../lib/bootstrap-icons/icons/layout-wtf.svg | 3 + .../bootstrap-icons/icons/life-preserver.svg | 3 + .../bootstrap-icons/icons/lightbulb-fill.svg | 3 + .../icons/lightbulb-off-fill.svg | 3 + .../bootstrap-icons/icons/lightbulb-off.svg | 3 + .../lib/bootstrap-icons/icons/lightbulb.svg | 3 + .../icons/lightning-charge-fill.svg | 3 + .../icons/lightning-charge.svg | 3 + .../bootstrap-icons/icons/lightning-fill.svg | 3 + .../lib/bootstrap-icons/icons/lightning.svg | 3 + .../lib/bootstrap-icons/icons/line.svg | 3 + .../lib/bootstrap-icons/icons/link-45deg.svg | 4 + .../lib/bootstrap-icons/icons/link.svg | 4 + .../lib/bootstrap-icons/icons/linkedin.svg | 3 + .../lib/bootstrap-icons/icons/list-check.svg | 3 + .../icons/list-columns-reverse.svg | 3 + .../bootstrap-icons/icons/list-columns.svg | 3 + .../lib/bootstrap-icons/icons/list-nested.svg | 3 + .../lib/bootstrap-icons/icons/list-ol.svg | 4 + .../lib/bootstrap-icons/icons/list-stars.svg | 4 + .../lib/bootstrap-icons/icons/list-task.svg | 5 + .../lib/bootstrap-icons/icons/list-ul.svg | 3 + .../lib/bootstrap-icons/icons/list.svg | 3 + .../lib/bootstrap-icons/icons/lock-fill.svg | 3 + .../lib/bootstrap-icons/icons/lock.svg | 3 + .../lib/bootstrap-icons/icons/lungs-fill.svg | 3 + .../lib/bootstrap-icons/icons/lungs.svg | 3 + .../lib/bootstrap-icons/icons/magic.svg | 3 + .../lib/bootstrap-icons/icons/magnet-fill.svg | 3 + .../lib/bootstrap-icons/icons/magnet.svg | 3 + .../lib/bootstrap-icons/icons/mailbox.svg | 4 + .../lib/bootstrap-icons/icons/mailbox2.svg | 4 + .../lib/bootstrap-icons/icons/map-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/map.svg | 3 + .../bootstrap-icons/icons/markdown-fill.svg | 3 + .../lib/bootstrap-icons/icons/markdown.svg | 6 + .../lib/bootstrap-icons/icons/mask.svg | 3 + .../lib/bootstrap-icons/icons/mastodon.svg | 3 + .../lib/bootstrap-icons/icons/medium.svg | 3 + .../bootstrap-icons/icons/megaphone-fill.svg | 3 + .../lib/bootstrap-icons/icons/megaphone.svg | 3 + .../lib/bootstrap-icons/icons/memory.svg | 3 + .../bootstrap-icons/icons/menu-app-fill.svg | 3 + .../lib/bootstrap-icons/icons/menu-app.svg | 3 + .../icons/menu-button-fill.svg | 3 + .../icons/menu-button-wide-fill.svg | 3 + .../icons/menu-button-wide.svg | 4 + .../lib/bootstrap-icons/icons/menu-button.svg | 4 + .../lib/bootstrap-icons/icons/menu-down.svg | 3 + .../lib/bootstrap-icons/icons/menu-up.svg | 3 + .../lib/bootstrap-icons/icons/messenger.svg | 3 + .../lib/bootstrap-icons/icons/meta.svg | 3 + .../lib/bootstrap-icons/icons/mic-fill.svg | 4 + .../bootstrap-icons/icons/mic-mute-fill.svg | 4 + .../lib/bootstrap-icons/icons/mic-mute.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/mic.svg | 4 + .../bootstrap-icons/icons/microsoft-teams.svg | 4 + .../lib/bootstrap-icons/icons/microsoft.svg | 3 + .../bootstrap-icons/icons/minecart-loaded.svg | 4 + .../lib/bootstrap-icons/icons/minecart.svg | 3 + .../lib/bootstrap-icons/icons/modem-fill.svg | 3 + .../lib/bootstrap-icons/icons/modem.svg | 4 + .../lib/bootstrap-icons/icons/moisture.svg | 3 + .../lib/bootstrap-icons/icons/moon-fill.svg | 3 + .../bootstrap-icons/icons/moon-stars-fill.svg | 4 + .../lib/bootstrap-icons/icons/moon-stars.svg | 4 + .../lib/bootstrap-icons/icons/moon.svg | 3 + .../icons/mortarboard-fill.svg | 4 + .../lib/bootstrap-icons/icons/mortarboard.svg | 4 + .../icons/motherboard-fill.svg | 4 + .../lib/bootstrap-icons/icons/motherboard.svg | 4 + .../lib/bootstrap-icons/icons/mouse-fill.svg | 3 + .../lib/bootstrap-icons/icons/mouse.svg | 3 + .../lib/bootstrap-icons/icons/mouse2-fill.svg | 3 + .../lib/bootstrap-icons/icons/mouse2.svg | 3 + .../lib/bootstrap-icons/icons/mouse3-fill.svg | 3 + .../lib/bootstrap-icons/icons/mouse3.svg | 3 + .../icons/music-note-beamed.svg | 5 + .../bootstrap-icons/icons/music-note-list.svg | 6 + .../lib/bootstrap-icons/icons/music-note.svg | 5 + .../icons/music-player-fill.svg | 4 + .../bootstrap-icons/icons/music-player.svg | 5 + .../lib/bootstrap-icons/icons/newspaper.svg | 4 + .../bootstrap-icons/icons/nintendo-switch.svg | 4 + .../bootstrap-icons/icons/node-minus-fill.svg | 3 + .../lib/bootstrap-icons/icons/node-minus.svg | 3 + .../bootstrap-icons/icons/node-plus-fill.svg | 3 + .../lib/bootstrap-icons/icons/node-plus.svg | 3 + .../lib/bootstrap-icons/icons/nut-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/nut.svg | 4 + .../lib/bootstrap-icons/icons/nvidia.svg | 3 + .../bootstrap-icons/icons/octagon-fill.svg | 3 + .../bootstrap-icons/icons/octagon-half.svg | 3 + .../lib/bootstrap-icons/icons/octagon.svg | 3 + .../icons/optical-audio-fill.svg | 4 + .../bootstrap-icons/icons/optical-audio.svg | 5 + .../lib/bootstrap-icons/icons/option.svg | 3 + .../lib/bootstrap-icons/icons/outlet.svg | 4 + .../bootstrap-icons/icons/p-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/p-circle.svg | 3 + .../bootstrap-icons/icons/p-square-fill.svg | 4 + .../lib/bootstrap-icons/icons/p-square.svg | 4 + .../bootstrap-icons/icons/paint-bucket.svg | 3 + .../bootstrap-icons/icons/palette-fill.svg | 3 + .../lib/bootstrap-icons/icons/palette.svg | 4 + .../lib/bootstrap-icons/icons/palette2.svg | 4 + .../lib/bootstrap-icons/icons/paperclip.svg | 3 + .../lib/bootstrap-icons/icons/paragraph.svg | 3 + .../lib/bootstrap-icons/icons/pass-fill.svg | 3 + .../lib/bootstrap-icons/icons/pass.svg | 4 + .../icons/patch-check-fill.svg | 3 + .../lib/bootstrap-icons/icons/patch-check.svg | 4 + .../icons/patch-exclamation-fill.svg | 3 + .../icons/patch-exclamation.svg | 4 + .../icons/patch-minus-fill.svg | 3 + .../lib/bootstrap-icons/icons/patch-minus.svg | 4 + .../bootstrap-icons/icons/patch-plus-fill.svg | 3 + .../lib/bootstrap-icons/icons/patch-plus.svg | 4 + .../icons/patch-question-fill.svg | 3 + .../bootstrap-icons/icons/patch-question.svg | 5 + .../bootstrap-icons/icons/pause-btn-fill.svg | 3 + .../lib/bootstrap-icons/icons/pause-btn.svg | 4 + .../icons/pause-circle-fill.svg | 3 + .../bootstrap-icons/icons/pause-circle.svg | 4 + .../lib/bootstrap-icons/icons/pause-fill.svg | 3 + .../lib/bootstrap-icons/icons/pause.svg | 3 + .../lib/bootstrap-icons/icons/paypal.svg | 3 + .../icons/pc-display-horizontal.svg | 3 + .../lib/bootstrap-icons/icons/pc-display.svg | 3 + .../bootstrap-icons/icons/pc-horizontal.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/pc.svg | 3 + .../lib/bootstrap-icons/icons/pci-card.svg | 4 + .../lib/bootstrap-icons/icons/peace-fill.svg | 3 + .../lib/bootstrap-icons/icons/peace.svg | 3 + .../lib/bootstrap-icons/icons/pen-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/pen.svg | 3 + .../lib/bootstrap-icons/icons/pencil-fill.svg | 3 + .../bootstrap-icons/icons/pencil-square.svg | 4 + .../lib/bootstrap-icons/icons/pencil.svg | 3 + .../bootstrap-icons/icons/pentagon-fill.svg | 3 + .../bootstrap-icons/icons/pentagon-half.svg | 3 + .../lib/bootstrap-icons/icons/pentagon.svg | 3 + .../lib/bootstrap-icons/icons/people-fill.svg | 5 + .../lib/bootstrap-icons/icons/people.svg | 3 + .../lib/bootstrap-icons/icons/percent.svg | 3 + .../lib/bootstrap-icons/icons/person-add.svg | 4 + .../icons/person-badge-fill.svg | 3 + .../bootstrap-icons/icons/person-badge.svg | 4 + .../icons/person-bounding-box.svg | 4 + .../icons/person-check-fill.svg | 4 + .../bootstrap-icons/icons/person-check.svg | 4 + .../bootstrap-icons/icons/person-circle.svg | 4 + .../icons/person-dash-fill.svg | 4 + .../lib/bootstrap-icons/icons/person-dash.svg | 4 + .../lib/bootstrap-icons/icons/person-down.svg | 4 + .../icons/person-exclamation.svg | 4 + .../bootstrap-icons/icons/person-fill-add.svg | 4 + .../icons/person-fill-check.svg | 4 + .../icons/person-fill-dash.svg | 4 + .../icons/person-fill-down.svg | 4 + .../icons/person-fill-exclamation.svg | 4 + .../icons/person-fill-gear.svg | 3 + .../icons/person-fill-lock.svg | 3 + .../icons/person-fill-slash.svg | 3 + .../bootstrap-icons/icons/person-fill-up.svg | 4 + .../bootstrap-icons/icons/person-fill-x.svg | 4 + .../lib/bootstrap-icons/icons/person-fill.svg | 3 + .../lib/bootstrap-icons/icons/person-gear.svg | 3 + .../bootstrap-icons/icons/person-heart.svg | 3 + .../bootstrap-icons/icons/person-hearts.svg | 3 + .../icons/person-lines-fill.svg | 3 + .../lib/bootstrap-icons/icons/person-lock.svg | 3 + .../icons/person-plus-fill.svg | 4 + .../lib/bootstrap-icons/icons/person-plus.svg | 4 + .../bootstrap-icons/icons/person-rolodex.svg | 4 + .../bootstrap-icons/icons/person-slash.svg | 3 + .../bootstrap-icons/icons/person-square.svg | 4 + .../lib/bootstrap-icons/icons/person-up.svg | 4 + .../icons/person-vcard-fill.svg | 3 + .../bootstrap-icons/icons/person-vcard.svg | 4 + .../bootstrap-icons/icons/person-video.svg | 4 + .../bootstrap-icons/icons/person-video2.svg | 4 + .../bootstrap-icons/icons/person-video3.svg | 4 + .../icons/person-workspace.svg | 4 + .../bootstrap-icons/icons/person-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/person-x.svg | 4 + .../lib/bootstrap-icons/icons/person.svg | 3 + .../lib/bootstrap-icons/icons/phone-fill.svg | 3 + .../lib/bootstrap-icons/icons/phone-flip.svg | 3 + .../icons/phone-landscape-fill.svg | 3 + .../bootstrap-icons/icons/phone-landscape.svg | 4 + .../icons/phone-vibrate-fill.svg | 3 + .../bootstrap-icons/icons/phone-vibrate.svg | 4 + .../lib/bootstrap-icons/icons/phone.svg | 4 + .../bootstrap-icons/icons/pie-chart-fill.svg | 3 + .../lib/bootstrap-icons/icons/pie-chart.svg | 3 + .../bootstrap-icons/icons/piggy-bank-fill.svg | 3 + .../lib/bootstrap-icons/icons/piggy-bank.svg | 4 + .../bootstrap-icons/icons/pin-angle-fill.svg | 3 + .../lib/bootstrap-icons/icons/pin-angle.svg | 3 + .../lib/bootstrap-icons/icons/pin-fill.svg | 3 + .../bootstrap-icons/icons/pin-map-fill.svg | 4 + .../lib/bootstrap-icons/icons/pin-map.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/pin.svg | 3 + .../lib/bootstrap-icons/icons/pinterest.svg | 3 + .../lib/bootstrap-icons/icons/pip-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/pip.svg | 4 + .../bootstrap-icons/icons/play-btn-fill.svg | 3 + .../lib/bootstrap-icons/icons/play-btn.svg | 4 + .../icons/play-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/play-circle.svg | 4 + .../lib/bootstrap-icons/icons/play-fill.svg | 3 + .../lib/bootstrap-icons/icons/play.svg | 3 + .../lib/bootstrap-icons/icons/playstation.svg | 3 + .../lib/bootstrap-icons/icons/plug-fill.svg | 3 + .../lib/bootstrap-icons/icons/plug.svg | 3 + .../lib/bootstrap-icons/icons/plugin.svg | 3 + .../icons/plus-circle-dotted.svg | 3 + .../icons/plus-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/plus-circle.svg | 4 + .../lib/bootstrap-icons/icons/plus-lg.svg | 3 + .../icons/plus-slash-minus.svg | 3 + .../icons/plus-square-dotted.svg | 3 + .../icons/plus-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/plus-square.svg | 4 + .../lib/bootstrap-icons/icons/plus.svg | 3 + .../bootstrap-icons/icons/postage-fill.svg | 4 + .../icons/postage-heart-fill.svg | 4 + .../bootstrap-icons/icons/postage-heart.svg | 4 + .../lib/bootstrap-icons/icons/postage.svg | 4 + .../bootstrap-icons/icons/postcard-fill.svg | 4 + .../icons/postcard-heart-fill.svg | 3 + .../bootstrap-icons/icons/postcard-heart.svg | 4 + .../lib/bootstrap-icons/icons/postcard.svg | 3 + .../lib/bootstrap-icons/icons/power.svg | 4 + .../bootstrap-icons/icons/prescription.svg | 4 + .../bootstrap-icons/icons/prescription2.svg | 4 + .../bootstrap-icons/icons/printer-fill.svg | 4 + .../lib/bootstrap-icons/icons/printer.svg | 4 + .../bootstrap-icons/icons/projector-fill.svg | 3 + .../lib/bootstrap-icons/icons/projector.svg | 4 + .../lib/bootstrap-icons/icons/puzzle-fill.svg | 3 + .../lib/bootstrap-icons/icons/puzzle.svg | 3 + .../bootstrap-icons/icons/qr-code-scan.svg | 7 + .../lib/bootstrap-icons/icons/qr-code.svg | 7 + .../icons/question-circle-fill.svg | 3 + .../bootstrap-icons/icons/question-circle.svg | 4 + .../icons/question-diamond-fill.svg | 3 + .../icons/question-diamond.svg | 4 + .../lib/bootstrap-icons/icons/question-lg.svg | 3 + .../icons/question-octagon-fill.svg | 3 + .../icons/question-octagon.svg | 4 + .../icons/question-square-fill.svg | 3 + .../bootstrap-icons/icons/question-square.svg | 4 + .../lib/bootstrap-icons/icons/question.svg | 3 + .../lib/bootstrap-icons/icons/quora.svg | 3 + .../lib/bootstrap-icons/icons/quote.svg | 3 + .../bootstrap-icons/icons/r-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/r-circle.svg | 3 + .../bootstrap-icons/icons/r-square-fill.svg | 4 + .../lib/bootstrap-icons/icons/r-square.svg | 4 + .../lib/bootstrap-icons/icons/radioactive.svg | 4 + .../lib/bootstrap-icons/icons/rainbow.svg | 3 + .../bootstrap-icons/icons/receipt-cutoff.svg | 4 + .../lib/bootstrap-icons/icons/receipt.svg | 4 + .../lib/bootstrap-icons/icons/reception-0.svg | 3 + .../lib/bootstrap-icons/icons/reception-1.svg | 3 + .../lib/bootstrap-icons/icons/reception-2.svg | 3 + .../lib/bootstrap-icons/icons/reception-3.svg | 3 + .../lib/bootstrap-icons/icons/reception-4.svg | 3 + .../bootstrap-icons/icons/record-btn-fill.svg | 3 + .../lib/bootstrap-icons/icons/record-btn.svg | 4 + .../icons/record-circle-fill.svg | 3 + .../bootstrap-icons/icons/record-circle.svg | 4 + .../lib/bootstrap-icons/icons/record-fill.svg | 3 + .../lib/bootstrap-icons/icons/record.svg | 3 + .../bootstrap-icons/icons/record2-fill.svg | 4 + .../lib/bootstrap-icons/icons/record2.svg | 4 + .../lib/bootstrap-icons/icons/recycle.svg | 3 + .../lib/bootstrap-icons/icons/reddit.svg | 4 + .../lib/bootstrap-icons/icons/regex.svg | 3 + .../lib/bootstrap-icons/icons/repeat-1.svg | 4 + .../lib/bootstrap-icons/icons/repeat.svg | 3 + .../bootstrap-icons/icons/reply-all-fill.svg | 4 + .../lib/bootstrap-icons/icons/reply-all.svg | 4 + .../lib/bootstrap-icons/icons/reply-fill.svg | 3 + .../lib/bootstrap-icons/icons/reply.svg | 3 + .../bootstrap-icons/icons/rewind-btn-fill.svg | 3 + .../lib/bootstrap-icons/icons/rewind-btn.svg | 4 + .../icons/rewind-circle-fill.svg | 3 + .../bootstrap-icons/icons/rewind-circle.svg | 4 + .../lib/bootstrap-icons/icons/rewind-fill.svg | 4 + .../lib/bootstrap-icons/icons/rewind.svg | 4 + .../lib/bootstrap-icons/icons/robot.svg | 4 + .../lib/bootstrap-icons/icons/rocket-fill.svg | 4 + .../icons/rocket-takeoff-fill.svg | 4 + .../bootstrap-icons/icons/rocket-takeoff.svg | 5 + .../lib/bootstrap-icons/icons/rocket.svg | 5 + .../lib/bootstrap-icons/icons/router-fill.svg | 6 + .../lib/bootstrap-icons/icons/router.svg | 6 + .../lib/bootstrap-icons/icons/rss-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/rss.svg | 4 + .../lib/bootstrap-icons/icons/rulers.svg | 3 + .../lib/bootstrap-icons/icons/safe-fill.svg | 4 + .../lib/bootstrap-icons/icons/safe.svg | 4 + .../lib/bootstrap-icons/icons/safe2-fill.svg | 4 + .../lib/bootstrap-icons/icons/safe2.svg | 4 + .../lib/bootstrap-icons/icons/save-fill.svg | 3 + .../lib/bootstrap-icons/icons/save.svg | 3 + .../lib/bootstrap-icons/icons/save2-fill.svg | 3 + .../lib/bootstrap-icons/icons/save2.svg | 3 + .../lib/bootstrap-icons/icons/scissors.svg | 3 + .../lib/bootstrap-icons/icons/scooter.svg | 3 + .../lib/bootstrap-icons/icons/screwdriver.svg | 3 + .../bootstrap-icons/icons/sd-card-fill.svg | 3 + .../lib/bootstrap-icons/icons/sd-card.svg | 4 + .../icons/search-heart-fill.svg | 3 + .../bootstrap-icons/icons/search-heart.svg | 4 + .../lib/bootstrap-icons/icons/search.svg | 3 + .../bootstrap-icons/icons/segmented-nav.svg | 3 + .../bootstrap-icons/icons/send-check-fill.svg | 4 + .../lib/bootstrap-icons/icons/send-check.svg | 4 + .../bootstrap-icons/icons/send-dash-fill.svg | 4 + .../lib/bootstrap-icons/icons/send-dash.svg | 4 + .../icons/send-exclamation-fill.svg | 4 + .../icons/send-exclamation.svg | 4 + .../lib/bootstrap-icons/icons/send-fill.svg | 3 + .../bootstrap-icons/icons/send-plus-fill.svg | 4 + .../lib/bootstrap-icons/icons/send-plus.svg | 4 + .../bootstrap-icons/icons/send-slash-fill.svg | 4 + .../lib/bootstrap-icons/icons/send-slash.svg | 4 + .../lib/bootstrap-icons/icons/send-x-fill.svg | 4 + .../lib/bootstrap-icons/icons/send-x.svg | 4 + .../lib/bootstrap-icons/icons/send.svg | 3 + .../lib/bootstrap-icons/icons/server.svg | 5 + .../lib/bootstrap-icons/icons/share-fill.svg | 3 + .../lib/bootstrap-icons/icons/share.svg | 3 + .../bootstrap-icons/icons/shield-check.svg | 4 + .../icons/shield-exclamation.svg | 4 + .../icons/shield-fill-check.svg | 3 + .../icons/shield-fill-exclamation.svg | 3 + .../icons/shield-fill-minus.svg | 3 + .../icons/shield-fill-plus.svg | 3 + .../bootstrap-icons/icons/shield-fill-x.svg | 3 + .../lib/bootstrap-icons/icons/shield-fill.svg | 3 + .../icons/shield-lock-fill.svg | 3 + .../lib/bootstrap-icons/icons/shield-lock.svg | 4 + .../bootstrap-icons/icons/shield-minus.svg | 4 + .../lib/bootstrap-icons/icons/shield-plus.svg | 4 + .../bootstrap-icons/icons/shield-shaded.svg | 3 + .../icons/shield-slash-fill.svg | 3 + .../bootstrap-icons/icons/shield-slash.svg | 3 + .../lib/bootstrap-icons/icons/shield-x.svg | 4 + .../lib/bootstrap-icons/icons/shield.svg | 3 + .../lib/bootstrap-icons/icons/shift-fill.svg | 3 + .../lib/bootstrap-icons/icons/shift.svg | 3 + .../lib/bootstrap-icons/icons/shop-window.svg | 3 + .../lib/bootstrap-icons/icons/shop.svg | 3 + .../lib/bootstrap-icons/icons/shuffle.svg | 4 + .../icons/sign-dead-end-fill.svg | 4 + .../bootstrap-icons/icons/sign-dead-end.svg | 4 + .../icons/sign-do-not-enter-fill.svg | 4 + .../icons/sign-do-not-enter.svg | 4 + .../icons/sign-intersection-fill.svg | 3 + .../icons/sign-intersection-side-fill.svg | 3 + .../icons/sign-intersection-side.svg | 4 + .../icons/sign-intersection-t-fill.svg | 3 + .../icons/sign-intersection-t.svg | 4 + .../icons/sign-intersection-y-fill.svg | 3 + .../icons/sign-intersection-y.svg | 4 + .../icons/sign-intersection.svg | 4 + .../icons/sign-merge-left-fill.svg | 3 + .../bootstrap-icons/icons/sign-merge-left.svg | 4 + .../icons/sign-merge-right-fill.svg | 3 + .../icons/sign-merge-right.svg | 4 + .../icons/sign-no-left-turn-fill.svg | 4 + .../icons/sign-no-left-turn.svg | 3 + .../icons/sign-no-parking-fill.svg | 4 + .../bootstrap-icons/icons/sign-no-parking.svg | 3 + .../icons/sign-no-right-turn-fill.svg | 4 + .../icons/sign-no-right-turn.svg | 3 + .../icons/sign-railroad-fill.svg | 5 + .../bootstrap-icons/icons/sign-railroad.svg | 4 + .../bootstrap-icons/icons/sign-stop-fill.svg | 4 + .../icons/sign-stop-lights-fill.svg | 4 + .../icons/sign-stop-lights.svg | 4 + .../lib/bootstrap-icons/icons/sign-stop.svg | 5 + .../icons/sign-turn-left-fill.svg | 3 + .../bootstrap-icons/icons/sign-turn-left.svg | 4 + .../icons/sign-turn-right-fill.svg | 3 + .../bootstrap-icons/icons/sign-turn-right.svg | 4 + .../icons/sign-turn-slight-left-fill.svg | 3 + .../icons/sign-turn-slight-left.svg | 4 + .../icons/sign-turn-slight-right-fill.svg | 3 + .../icons/sign-turn-slight-right.svg | 4 + .../bootstrap-icons/icons/sign-yield-fill.svg | 4 + .../lib/bootstrap-icons/icons/sign-yield.svg | 5 + .../lib/bootstrap-icons/icons/signal.svg | 3 + .../bootstrap-icons/icons/signpost-2-fill.svg | 3 + .../lib/bootstrap-icons/icons/signpost-2.svg | 3 + .../bootstrap-icons/icons/signpost-fill.svg | 3 + .../icons/signpost-split-fill.svg | 3 + .../bootstrap-icons/icons/signpost-split.svg | 3 + .../lib/bootstrap-icons/icons/signpost.svg | 3 + .../lib/bootstrap-icons/icons/sim-fill.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/sim.svg | 4 + .../lib/bootstrap-icons/icons/sina-weibo.svg | 4 + .../icons/skip-backward-btn-fill.svg | 3 + .../icons/skip-backward-btn.svg | 4 + .../icons/skip-backward-circle-fill.svg | 3 + .../icons/skip-backward-circle.svg | 4 + .../icons/skip-backward-fill.svg | 3 + .../bootstrap-icons/icons/skip-backward.svg | 3 + .../icons/skip-end-btn-fill.svg | 3 + .../bootstrap-icons/icons/skip-end-btn.svg | 4 + .../icons/skip-end-circle-fill.svg | 3 + .../bootstrap-icons/icons/skip-end-circle.svg | 4 + .../bootstrap-icons/icons/skip-end-fill.svg | 3 + .../lib/bootstrap-icons/icons/skip-end.svg | 3 + .../icons/skip-forward-btn-fill.svg | 3 + .../icons/skip-forward-btn.svg | 4 + .../icons/skip-forward-circle-fill.svg | 3 + .../icons/skip-forward-circle.svg | 4 + .../icons/skip-forward-fill.svg | 3 + .../bootstrap-icons/icons/skip-forward.svg | 3 + .../icons/skip-start-btn-fill.svg | 3 + .../bootstrap-icons/icons/skip-start-btn.svg | 4 + .../icons/skip-start-circle-fill.svg | 3 + .../icons/skip-start-circle.svg | 4 + .../bootstrap-icons/icons/skip-start-fill.svg | 3 + .../lib/bootstrap-icons/icons/skip-start.svg | 3 + .../lib/bootstrap-icons/icons/skype.svg | 3 + .../lib/bootstrap-icons/icons/slack.svg | 3 + .../icons/slash-circle-fill.svg | 3 + .../bootstrap-icons/icons/slash-circle.svg | 4 + .../lib/bootstrap-icons/icons/slash-lg.svg | 3 + .../icons/slash-square-fill.svg | 3 + .../bootstrap-icons/icons/slash-square.svg | 4 + .../lib/bootstrap-icons/icons/slash.svg | 3 + .../lib/bootstrap-icons/icons/sliders.svg | 3 + .../icons/sliders2-vertical.svg | 3 + .../lib/bootstrap-icons/icons/sliders2.svg | 3 + .../lib/bootstrap-icons/icons/smartwatch.svg | 4 + .../lib/bootstrap-icons/icons/snapchat.svg | 3 + .../lib/bootstrap-icons/icons/snow.svg | 3 + .../lib/bootstrap-icons/icons/snow2.svg | 3 + .../lib/bootstrap-icons/icons/snow3.svg | 4 + .../icons/sort-alpha-down-alt.svg | 5 + .../bootstrap-icons/icons/sort-alpha-down.svg | 4 + .../icons/sort-alpha-up-alt.svg | 5 + .../bootstrap-icons/icons/sort-alpha-up.svg | 4 + .../bootstrap-icons/icons/sort-down-alt.svg | 3 + .../lib/bootstrap-icons/icons/sort-down.svg | 3 + .../icons/sort-numeric-down-alt.svg | 4 + .../icons/sort-numeric-down.svg | 5 + .../icons/sort-numeric-up-alt.svg | 4 + .../bootstrap-icons/icons/sort-numeric-up.svg | 5 + .../lib/bootstrap-icons/icons/sort-up-alt.svg | 3 + .../lib/bootstrap-icons/icons/sort-up.svg | 3 + .../lib/bootstrap-icons/icons/soundwave.svg | 3 + .../bootstrap-icons/icons/speaker-fill.svg | 4 + .../lib/bootstrap-icons/icons/speaker.svg | 4 + .../lib/bootstrap-icons/icons/speedometer.svg | 4 + .../bootstrap-icons/icons/speedometer2.svg | 4 + .../lib/bootstrap-icons/icons/spellcheck.svg | 4 + .../lib/bootstrap-icons/icons/spotify.svg | 3 + .../lib/bootstrap-icons/icons/square-fill.svg | 3 + .../lib/bootstrap-icons/icons/square-half.svg | 3 + .../lib/bootstrap-icons/icons/square.svg | 3 + .../bootstrap-icons/icons/stack-overflow.svg | 4 + .../lib/bootstrap-icons/icons/stack.svg | 4 + .../lib/bootstrap-icons/icons/star-fill.svg | 3 + .../lib/bootstrap-icons/icons/star-half.svg | 3 + .../lib/bootstrap-icons/icons/star.svg | 3 + .../lib/bootstrap-icons/icons/stars.svg | 3 + .../lib/bootstrap-icons/icons/steam.svg | 4 + .../bootstrap-icons/icons/stickies-fill.svg | 4 + .../lib/bootstrap-icons/icons/stickies.svg | 4 + .../lib/bootstrap-icons/icons/sticky-fill.svg | 3 + .../lib/bootstrap-icons/icons/sticky.svg | 3 + .../bootstrap-icons/icons/stop-btn-fill.svg | 3 + .../lib/bootstrap-icons/icons/stop-btn.svg | 4 + .../icons/stop-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/stop-circle.svg | 4 + .../lib/bootstrap-icons/icons/stop-fill.svg | 3 + .../lib/bootstrap-icons/icons/stop.svg | 3 + .../bootstrap-icons/icons/stoplights-fill.svg | 3 + .../lib/bootstrap-icons/icons/stoplights.svg | 4 + .../bootstrap-icons/icons/stopwatch-fill.svg | 3 + .../lib/bootstrap-icons/icons/stopwatch.svg | 4 + .../lib/bootstrap-icons/icons/strava.svg | 3 + .../lib/bootstrap-icons/icons/stripe.svg | 3 + .../lib/bootstrap-icons/icons/subscript.svg | 3 + .../lib/bootstrap-icons/icons/subtract.svg | 3 + .../bootstrap-icons/icons/suit-club-fill.svg | 3 + .../lib/bootstrap-icons/icons/suit-club.svg | 3 + .../icons/suit-diamond-fill.svg | 3 + .../bootstrap-icons/icons/suit-diamond.svg | 3 + .../bootstrap-icons/icons/suit-heart-fill.svg | 3 + .../lib/bootstrap-icons/icons/suit-heart.svg | 3 + .../bootstrap-icons/icons/suit-spade-fill.svg | 3 + .../lib/bootstrap-icons/icons/suit-spade.svg | 3 + .../lib/bootstrap-icons/icons/sun-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/sun.svg | 3 + .../lib/bootstrap-icons/icons/sunglasses.svg | 3 + .../bootstrap-icons/icons/sunrise-fill.svg | 3 + .../lib/bootstrap-icons/icons/sunrise.svg | 3 + .../lib/bootstrap-icons/icons/sunset-fill.svg | 3 + .../lib/bootstrap-icons/icons/sunset.svg | 3 + .../lib/bootstrap-icons/icons/superscript.svg | 3 + .../icons/symmetry-horizontal.svg | 3 + .../icons/symmetry-vertical.svg | 3 + .../lib/bootstrap-icons/icons/table.svg | 3 + .../lib/bootstrap-icons/icons/tablet-fill.svg | 3 + .../icons/tablet-landscape-fill.svg | 3 + .../icons/tablet-landscape.svg | 4 + .../lib/bootstrap-icons/icons/tablet.svg | 4 + .../lib/bootstrap-icons/icons/tag-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/tag.svg | 4 + .../lib/bootstrap-icons/icons/tags-fill.svg | 4 + .../lib/bootstrap-icons/icons/tags.svg | 4 + .../bootstrap-icons/icons/taxi-front-fill.svg | 3 + .../lib/bootstrap-icons/icons/taxi-front.svg | 4 + .../lib/bootstrap-icons/icons/telegram.svg | 3 + .../bootstrap-icons/icons/telephone-fill.svg | 3 + .../icons/telephone-forward-fill.svg | 3 + .../icons/telephone-forward.svg | 3 + .../icons/telephone-inbound-fill.svg | 3 + .../icons/telephone-inbound.svg | 3 + .../icons/telephone-minus-fill.svg | 3 + .../bootstrap-icons/icons/telephone-minus.svg | 4 + .../icons/telephone-outbound-fill.svg | 3 + .../icons/telephone-outbound.svg | 3 + .../icons/telephone-plus-fill.svg | 3 + .../bootstrap-icons/icons/telephone-plus.svg | 4 + .../icons/telephone-x-fill.svg | 3 + .../lib/bootstrap-icons/icons/telephone-x.svg | 4 + .../lib/bootstrap-icons/icons/telephone.svg | 3 + .../lib/bootstrap-icons/icons/tencent-qq.svg | 4 + .../bootstrap-icons/icons/terminal-dash.svg | 4 + .../bootstrap-icons/icons/terminal-fill.svg | 3 + .../bootstrap-icons/icons/terminal-plus.svg | 4 + .../bootstrap-icons/icons/terminal-split.svg | 4 + .../lib/bootstrap-icons/icons/terminal-x.svg | 4 + .../lib/bootstrap-icons/icons/terminal.svg | 4 + .../lib/bootstrap-icons/icons/text-center.svg | 3 + .../icons/text-indent-left.svg | 3 + .../icons/text-indent-right.svg | 3 + .../lib/bootstrap-icons/icons/text-left.svg | 3 + .../bootstrap-icons/icons/text-paragraph.svg | 3 + .../lib/bootstrap-icons/icons/text-right.svg | 3 + .../lib/bootstrap-icons/icons/text-wrap.svg | 3 + .../bootstrap-icons/icons/textarea-resize.svg | 3 + .../lib/bootstrap-icons/icons/textarea-t.svg | 4 + .../lib/bootstrap-icons/icons/textarea.svg | 3 + .../icons/thermometer-half.svg | 4 + .../icons/thermometer-high.svg | 4 + .../bootstrap-icons/icons/thermometer-low.svg | 4 + .../icons/thermometer-snow.svg | 4 + .../bootstrap-icons/icons/thermometer-sun.svg | 4 + .../lib/bootstrap-icons/icons/thermometer.svg | 4 + .../icons/three-dots-vertical.svg | 3 + .../lib/bootstrap-icons/icons/three-dots.svg | 3 + .../icons/thunderbolt-fill.svg | 3 + .../lib/bootstrap-icons/icons/thunderbolt.svg | 4 + .../icons/ticket-detailed-fill.svg | 3 + .../bootstrap-icons/icons/ticket-detailed.svg | 4 + .../lib/bootstrap-icons/icons/ticket-fill.svg | 3 + .../icons/ticket-perforated-fill.svg | 3 + .../icons/ticket-perforated.svg | 4 + .../lib/bootstrap-icons/icons/ticket.svg | 3 + .../lib/bootstrap-icons/icons/tiktok.svg | 3 + .../lib/bootstrap-icons/icons/toggle-off.svg | 3 + .../lib/bootstrap-icons/icons/toggle-on.svg | 3 + .../lib/bootstrap-icons/icons/toggle2-off.svg | 4 + .../lib/bootstrap-icons/icons/toggle2-on.svg | 4 + .../lib/bootstrap-icons/icons/toggles.svg | 3 + .../lib/bootstrap-icons/icons/toggles2.svg | 5 + .../lib/bootstrap-icons/icons/tools.svg | 3 + .../lib/bootstrap-icons/icons/tornado.svg | 3 + .../icons/train-freight-front-fill.svg | 3 + .../icons/train-freight-front.svg | 3 + .../icons/train-front-fill.svg | 3 + .../lib/bootstrap-icons/icons/train-front.svg | 3 + .../icons/train-lightrail-front-fill.svg | 3 + .../icons/train-lightrail-front.svg | 3 + .../lib/bootstrap-icons/icons/translate.svg | 4 + .../lib/bootstrap-icons/icons/trash-fill.svg | 3 + .../lib/bootstrap-icons/icons/trash.svg | 4 + .../lib/bootstrap-icons/icons/trash2-fill.svg | 3 + .../lib/bootstrap-icons/icons/trash2.svg | 3 + .../lib/bootstrap-icons/icons/trash3-fill.svg | 3 + .../lib/bootstrap-icons/icons/trash3.svg | 3 + .../lib/bootstrap-icons/icons/tree-fill.svg | 3 + .../lib/bootstrap-icons/icons/tree.svg | 3 + .../lib/bootstrap-icons/icons/trello.svg | 3 + .../bootstrap-icons/icons/triangle-fill.svg | 3 + .../bootstrap-icons/icons/triangle-half.svg | 3 + .../lib/bootstrap-icons/icons/triangle.svg | 3 + .../lib/bootstrap-icons/icons/trophy-fill.svg | 3 + .../lib/bootstrap-icons/icons/trophy.svg | 3 + .../bootstrap-icons/icons/tropical-storm.svg | 4 + .../bootstrap-icons/icons/truck-flatbed.svg | 3 + .../icons/truck-front-fill.svg | 3 + .../lib/bootstrap-icons/icons/truck-front.svg | 5 + .../lib/bootstrap-icons/icons/truck.svg | 3 + .../lib/bootstrap-icons/icons/tsunami.svg | 3 + .../lib/bootstrap-icons/icons/tv-fill.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/tv.svg | 3 + .../lib/bootstrap-icons/icons/twitch.svg | 4 + .../lib/bootstrap-icons/icons/twitter.svg | 3 + .../lib/bootstrap-icons/icons/type-bold.svg | 3 + .../lib/bootstrap-icons/icons/type-h1.svg | 3 + .../lib/bootstrap-icons/icons/type-h2.svg | 3 + .../lib/bootstrap-icons/icons/type-h3.svg | 3 + .../lib/bootstrap-icons/icons/type-italic.svg | 3 + .../icons/type-strikethrough.svg | 3 + .../bootstrap-icons/icons/type-underline.svg | 3 + .../lib/bootstrap-icons/icons/type.svg | 3 + .../lib/bootstrap-icons/icons/ubuntu.svg | 3 + .../bootstrap-icons/icons/ui-checks-grid.svg | 3 + .../lib/bootstrap-icons/icons/ui-checks.svg | 3 + .../bootstrap-icons/icons/ui-radios-grid.svg | 3 + .../lib/bootstrap-icons/icons/ui-radios.svg | 3 + .../bootstrap-icons/icons/umbrella-fill.svg | 3 + .../lib/bootstrap-icons/icons/umbrella.svg | 3 + .../lib/bootstrap-icons/icons/unindent.svg | 4 + .../lib/bootstrap-icons/icons/union.svg | 3 + .../lib/bootstrap-icons/icons/unity.svg | 3 + .../icons/universal-access-circle.svg | 4 + .../icons/universal-access.svg | 3 + .../lib/bootstrap-icons/icons/unlock-fill.svg | 3 + .../lib/bootstrap-icons/icons/unlock.svg | 3 + .../lib/bootstrap-icons/icons/upc-scan.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/upc.svg | 3 + .../lib/bootstrap-icons/icons/upload.svg | 4 + .../lib/bootstrap-icons/icons/usb-c-fill.svg | 3 + .../lib/bootstrap-icons/icons/usb-c.svg | 4 + .../bootstrap-icons/icons/usb-drive-fill.svg | 3 + .../lib/bootstrap-icons/icons/usb-drive.svg | 3 + .../lib/bootstrap-icons/icons/usb-fill.svg | 3 + .../bootstrap-icons/icons/usb-micro-fill.svg | 3 + .../lib/bootstrap-icons/icons/usb-micro.svg | 4 + .../bootstrap-icons/icons/usb-mini-fill.svg | 3 + .../lib/bootstrap-icons/icons/usb-mini.svg | 4 + .../bootstrap-icons/icons/usb-plug-fill.svg | 3 + .../lib/bootstrap-icons/icons/usb-plug.svg | 3 + .../lib/bootstrap-icons/icons/usb-symbol.svg | 3 + .../wwwroot/lib/bootstrap-icons/icons/usb.svg | 4 + .../lib/bootstrap-icons/icons/valentine.svg | 4 + .../lib/bootstrap-icons/icons/valentine2.svg | 4 + .../lib/bootstrap-icons/icons/vector-pen.svg | 4 + .../lib/bootstrap-icons/icons/view-list.svg | 3 + .../bootstrap-icons/icons/view-stacked.svg | 3 + .../lib/bootstrap-icons/icons/vimeo.svg | 3 + .../lib/bootstrap-icons/icons/vinyl-fill.svg | 4 + .../lib/bootstrap-icons/icons/vinyl.svg | 5 + .../lib/bootstrap-icons/icons/virus.svg | 3 + .../lib/bootstrap-icons/icons/virus2.svg | 3 + .../lib/bootstrap-icons/icons/voicemail.svg | 3 + .../icons/volume-down-fill.svg | 3 + .../lib/bootstrap-icons/icons/volume-down.svg | 3 + .../icons/volume-mute-fill.svg | 3 + .../lib/bootstrap-icons/icons/volume-mute.svg | 3 + .../bootstrap-icons/icons/volume-off-fill.svg | 3 + .../lib/bootstrap-icons/icons/volume-off.svg | 3 + .../bootstrap-icons/icons/volume-up-fill.svg | 5 + .../lib/bootstrap-icons/icons/volume-up.svg | 5 + .../wwwroot/lib/bootstrap-icons/icons/vr.svg | 3 + .../lib/bootstrap-icons/icons/wallet-fill.svg | 4 + .../lib/bootstrap-icons/icons/wallet.svg | 3 + .../lib/bootstrap-icons/icons/wallet2.svg | 3 + .../lib/bootstrap-icons/icons/watch.svg | 4 + .../lib/bootstrap-icons/icons/water.svg | 3 + .../lib/bootstrap-icons/icons/webcam-fill.svg | 4 + .../lib/bootstrap-icons/icons/webcam.svg | 4 + .../lib/bootstrap-icons/icons/wechat.svg | 4 + .../lib/bootstrap-icons/icons/whatsapp.svg | 3 + .../lib/bootstrap-icons/icons/wifi-1.svg | 3 + .../lib/bootstrap-icons/icons/wifi-2.svg | 3 + .../lib/bootstrap-icons/icons/wifi-off.svg | 3 + .../lib/bootstrap-icons/icons/wifi.svg | 4 + .../lib/bootstrap-icons/icons/wikipedia.svg | 3 + .../lib/bootstrap-icons/icons/wind.svg | 3 + .../lib/bootstrap-icons/icons/window-dash.svg | 5 + .../bootstrap-icons/icons/window-desktop.svg | 4 + .../lib/bootstrap-icons/icons/window-dock.svg | 4 + .../icons/window-fullscreen.svg | 4 + .../lib/bootstrap-icons/icons/window-plus.svg | 5 + .../bootstrap-icons/icons/window-sidebar.svg | 4 + .../bootstrap-icons/icons/window-split.svg | 4 + .../bootstrap-icons/icons/window-stack.svg | 4 + .../lib/bootstrap-icons/icons/window-x.svg | 5 + .../lib/bootstrap-icons/icons/window.svg | 4 + .../lib/bootstrap-icons/icons/windows.svg | 3 + .../lib/bootstrap-icons/icons/wordpress.svg | 5 + .../icons/wrench-adjustable-circle-fill.svg | 4 + .../icons/wrench-adjustable-circle.svg | 4 + .../icons/wrench-adjustable.svg | 4 + .../lib/bootstrap-icons/icons/wrench.svg | 3 + .../bootstrap-icons/icons/x-circle-fill.svg | 3 + .../lib/bootstrap-icons/icons/x-circle.svg | 4 + .../bootstrap-icons/icons/x-diamond-fill.svg | 3 + .../lib/bootstrap-icons/icons/x-diamond.svg | 3 + .../lib/bootstrap-icons/icons/x-lg.svg | 3 + .../bootstrap-icons/icons/x-octagon-fill.svg | 3 + .../lib/bootstrap-icons/icons/x-octagon.svg | 4 + .../bootstrap-icons/icons/x-square-fill.svg | 3 + .../lib/bootstrap-icons/icons/x-square.svg | 4 + .../wwwroot/lib/bootstrap-icons/icons/x.svg | 3 + .../lib/bootstrap-icons/icons/xbox.svg | 3 + .../lib/bootstrap-icons/icons/yelp.svg | 3 + .../lib/bootstrap-icons/icons/yin-yang.svg | 4 + .../lib/bootstrap-icons/icons/youtube.svg | 3 + .../lib/bootstrap-icons/icons/zoom-in.svg | 5 + .../lib/bootstrap-icons/icons/zoom-out.svg | 5 + .../wwwroot/lib/bootstrap-icons/package.json | 70 + .../lib/bootstrap/css/bootstrap-grid.css | 4085 ++++++ .../lib/bootstrap/css/bootstrap-grid.css.map | 1 + .../lib/bootstrap/css/bootstrap-grid.min.css | 6 + .../bootstrap/css/bootstrap-grid.min.css.map | 1 + .../lib/bootstrap/css/bootstrap-grid.rtl.css | 4084 ++++++ .../bootstrap/css/bootstrap-grid.rtl.css.map | 1 + .../bootstrap/css/bootstrap-grid.rtl.min.css | 6 + .../css/bootstrap-grid.rtl.min.css.map | 1 + .../lib/bootstrap/css/bootstrap-reboot.css | 593 + .../bootstrap/css/bootstrap-reboot.css.map | 1 + .../bootstrap/css/bootstrap-reboot.min.css | 6 + .../css/bootstrap-reboot.min.css.map | 1 + .../bootstrap/css/bootstrap-reboot.rtl.css | 590 + .../css/bootstrap-reboot.rtl.css.map | 1 + .../css/bootstrap-reboot.rtl.min.css | 6 + .../css/bootstrap-reboot.rtl.min.css.map | 1 + .../lib/bootstrap/css/bootstrap-utilities.css | 5399 +++++++ .../bootstrap/css/bootstrap-utilities.css.map | 1 + .../bootstrap/css/bootstrap-utilities.min.css | 6 + .../css/bootstrap-utilities.min.css.map | 1 + .../bootstrap/css/bootstrap-utilities.rtl.css | 5390 +++++++ .../css/bootstrap-utilities.rtl.css.map | 1 + .../css/bootstrap-utilities.rtl.min.css | 6 + .../css/bootstrap-utilities.rtl.min.css.map | 1 + .../wwwroot/lib/bootstrap/css/bootstrap.css | 12071 ++++++++++++++++ .../lib/bootstrap/css/bootstrap.css.map | 1 + .../lib/bootstrap/css/bootstrap.min.css | 6 + .../lib/bootstrap/css/bootstrap.min.css.map | 1 + .../lib/bootstrap/css/bootstrap.rtl.css | 12035 +++++++++++++++ .../lib/bootstrap/css/bootstrap.rtl.css.map | 1 + .../lib/bootstrap/css/bootstrap.rtl.min.css | 6 + .../bootstrap/css/bootstrap.rtl.min.css.map | 1 + .../lib/bootstrap/js/bootstrap.bundle.js | 6306 ++++++++ .../lib/bootstrap/js/bootstrap.bundle.js.map | 1 + .../lib/bootstrap/js/bootstrap.bundle.min.js | 7 + .../bootstrap/js/bootstrap.bundle.min.js.map | 1 + .../wwwroot/lib/bootstrap/js/bootstrap.esm.js | 4439 ++++++ .../lib/bootstrap/js/bootstrap.esm.js.map | 1 + .../lib/bootstrap/js/bootstrap.esm.min.js | 7 + .../lib/bootstrap/js/bootstrap.esm.min.js.map | 1 + .../wwwroot/lib/bootstrap/js/bootstrap.js | 4486 ++++++ .../wwwroot/lib/bootstrap/js/bootstrap.js.map | 1 + .../wwwroot/lib/bootstrap/js/bootstrap.min.js | 7 + .../lib/bootstrap/js/bootstrap.min.js.map | 1 + .../lib/bootstrap/scss/_accordion.scss | 158 + .../wwwroot/lib/bootstrap/scss/_alert.scss | 68 + .../wwwroot/lib/bootstrap/scss/_badge.scss | 38 + .../lib/bootstrap/scss/_breadcrumb.scss | 40 + .../lib/bootstrap/scss/_button-group.scss | 142 + .../wwwroot/lib/bootstrap/scss/_buttons.scss | 207 + .../wwwroot/lib/bootstrap/scss/_card.scss | 239 + .../wwwroot/lib/bootstrap/scss/_carousel.scss | 244 + .../wwwroot/lib/bootstrap/scss/_close.scss | 63 + .../lib/bootstrap/scss/_containers.scss | 41 + .../wwwroot/lib/bootstrap/scss/_dropdown.scss | 250 + .../wwwroot/lib/bootstrap/scss/_forms.scss | 9 + .../lib/bootstrap/scss/_functions.scss | 302 + .../wwwroot/lib/bootstrap/scss/_grid.scss | 39 + .../wwwroot/lib/bootstrap/scss/_helpers.scss | 12 + .../wwwroot/lib/bootstrap/scss/_images.scss | 42 + .../lib/bootstrap/scss/_list-group.scss | 197 + .../wwwroot/lib/bootstrap/scss/_maps.scss | 174 + .../wwwroot/lib/bootstrap/scss/_mixins.scss | 42 + .../wwwroot/lib/bootstrap/scss/_modal.scss | 237 + .../wwwroot/lib/bootstrap/scss/_nav.scss | 209 + .../wwwroot/lib/bootstrap/scss/_navbar.scss | 289 + .../lib/bootstrap/scss/_offcanvas.scss | 146 + .../lib/bootstrap/scss/_pagination.scss | 109 + .../lib/bootstrap/scss/_placeholders.scss | 51 + .../wwwroot/lib/bootstrap/scss/_popover.scss | 196 + .../wwwroot/lib/bootstrap/scss/_progress.scss | 68 + .../wwwroot/lib/bootstrap/scss/_reboot.scss | 610 + .../wwwroot/lib/bootstrap/scss/_root.scss | 184 + .../wwwroot/lib/bootstrap/scss/_spinners.scss | 85 + .../wwwroot/lib/bootstrap/scss/_tables.scss | 171 + .../wwwroot/lib/bootstrap/scss/_toasts.scss | 73 + .../wwwroot/lib/bootstrap/scss/_tooltip.scss | 119 + .../lib/bootstrap/scss/_transitions.scss | 27 + .../wwwroot/lib/bootstrap/scss/_type.scss | 106 + .../lib/bootstrap/scss/_utilities.scss | 806 ++ .../lib/bootstrap/scss/_variables-dark.scss | 85 + .../lib/bootstrap/scss/_variables.scss | 1743 +++ .../lib/bootstrap/scss/bootstrap-grid.scss | 62 + .../lib/bootstrap/scss/bootstrap-reboot.scss | 10 + .../bootstrap/scss/bootstrap-utilities.scss | 19 + .../wwwroot/lib/bootstrap/scss/bootstrap.scss | 52 + .../scss/forms/_floating-labels.scss | 94 + .../lib/bootstrap/scss/forms/_form-check.scss | 188 + .../bootstrap/scss/forms/_form-control.scss | 214 + .../lib/bootstrap/scss/forms/_form-range.scss | 91 + .../bootstrap/scss/forms/_form-select.scss | 80 + .../lib/bootstrap/scss/forms/_form-text.scss | 11 + .../bootstrap/scss/forms/_input-group.scss | 132 + .../lib/bootstrap/scss/forms/_labels.scss | 36 + .../lib/bootstrap/scss/forms/_validation.scss | 12 + .../lib/bootstrap/scss/helpers/_clearfix.scss | 3 + .../lib/bootstrap/scss/helpers/_color-bg.scss | 8 + .../scss/helpers/_colored-links.scss | 30 + .../bootstrap/scss/helpers/_focus-ring.scss | 5 + .../bootstrap/scss/helpers/_icon-link.scss | 25 + .../lib/bootstrap/scss/helpers/_position.scss | 36 + .../lib/bootstrap/scss/helpers/_ratio.scss | 26 + .../lib/bootstrap/scss/helpers/_stacks.scss | 15 + .../scss/helpers/_stretched-link.scss | 15 + .../scss/helpers/_text-truncation.scss | 7 + .../scss/helpers/_visually-hidden.scss | 8 + .../lib/bootstrap/scss/helpers/_vr.scss | 8 + .../lib/bootstrap/scss/mixins/_alert.scss | 18 + .../lib/bootstrap/scss/mixins/_backdrop.scss | 14 + .../lib/bootstrap/scss/mixins/_banner.scss | 7 + .../bootstrap/scss/mixins/_border-radius.scss | 78 + .../bootstrap/scss/mixins/_box-shadow.scss | 18 + .../bootstrap/scss/mixins/_breakpoints.scss | 127 + .../lib/bootstrap/scss/mixins/_buttons.scss | 70 + .../lib/bootstrap/scss/mixins/_caret.scss | 69 + .../lib/bootstrap/scss/mixins/_clearfix.scss | 9 + .../bootstrap/scss/mixins/_color-mode.scss | 21 + .../bootstrap/scss/mixins/_color-scheme.scss | 7 + .../lib/bootstrap/scss/mixins/_container.scss | 11 + .../lib/bootstrap/scss/mixins/_deprecate.scss | 10 + .../lib/bootstrap/scss/mixins/_forms.scss | 153 + .../lib/bootstrap/scss/mixins/_gradients.scss | 47 + .../lib/bootstrap/scss/mixins/_grid.scss | 151 + .../lib/bootstrap/scss/mixins/_image.scss | 16 + .../bootstrap/scss/mixins/_list-group.scss | 26 + .../lib/bootstrap/scss/mixins/_lists.scss | 7 + .../bootstrap/scss/mixins/_pagination.scss | 10 + .../bootstrap/scss/mixins/_reset-text.scss | 17 + .../lib/bootstrap/scss/mixins/_resize.scss | 6 + .../scss/mixins/_table-variants.scss | 24 + .../bootstrap/scss/mixins/_text-truncate.scss | 8 + .../bootstrap/scss/mixins/_transition.scss | 26 + .../lib/bootstrap/scss/mixins/_utilities.scss | 97 + .../scss/mixins/_visually-hidden.scss | 33 + .../lib/bootstrap/scss/utilities/_api.scss | 47 + .../lib/bootstrap/scss/vendor/_rfs.scss | 348 + .../wwwroot/lib/font-awesome/css/all.css | 7937 ++++++++++ .../wwwroot/lib/font-awesome/css/all.min.css | 6 + .../wwwroot/lib/font-awesome/css/brands.css | 1516 ++ .../lib/font-awesome/css/brands.min.css | 6 + .../lib/font-awesome/css/fontawesome.css | 6360 ++++++++ .../lib/font-awesome/css/fontawesome.min.css | 6 + .../wwwroot/lib/font-awesome/css/regular.css | 19 + .../lib/font-awesome/css/regular.min.css | 6 + .../wwwroot/lib/font-awesome/css/solid.css | 19 + .../lib/font-awesome/css/solid.min.css | 6 + .../lib/font-awesome/css/svg-with-js.css | 635 + .../lib/font-awesome/css/svg-with-js.min.css | 6 + .../lib/font-awesome/css/v4-font-face.css | 26 + .../lib/font-awesome/css/v4-font-face.min.css | 6 + .../wwwroot/lib/font-awesome/css/v4-shims.css | 2194 +++ .../lib/font-awesome/css/v4-shims.min.css | 6 + .../lib/font-awesome/css/v5-font-face.css | 22 + .../lib/font-awesome/css/v5-font-face.min.css | 6 + .../wwwroot/lib/font-awesome/js/all.js | 5930 ++++++++ .../wwwroot/lib/font-awesome/js/all.min.js | 6 + .../wwwroot/lib/font-awesome/js/brands.js | 737 + .../wwwroot/lib/font-awesome/js/brands.min.js | 6 + .../lib/font-awesome/js/conflict-detection.js | 1128 ++ .../font-awesome/js/conflict-detection.min.js | 6 + .../lib/font-awesome/js/fontawesome.js | 3113 ++++ .../lib/font-awesome/js/fontawesome.min.js | 6 + .../wwwroot/lib/font-awesome/js/regular.js | 435 + .../lib/font-awesome/js/regular.min.js | 6 + .../wwwroot/lib/font-awesome/js/solid.js | 1660 +++ .../wwwroot/lib/font-awesome/js/solid.min.js | 6 + .../wwwroot/lib/font-awesome/js/v4-shims.js | 215 + .../lib/font-awesome/js/v4-shims.min.js | 6 + .../lib/font-awesome/sprites/brands.svg | 1403 ++ .../lib/font-awesome/sprites/regular.svg | 497 + .../lib/font-awesome/sprites/solid.svg | 4172 ++++++ .../font-awesome/webfonts/fa-brands-400.ttf | Bin 0 -> 186112 bytes .../font-awesome/webfonts/fa-brands-400.woff2 | Bin 0 -> 107460 bytes .../font-awesome/webfonts/fa-regular-400.ttf | Bin 0 -> 62048 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 25096 bytes .../font-awesome/webfonts/fa-solid-900.ttf | Bin 0 -> 397728 bytes .../font-awesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 150472 bytes .../webfonts/fa-v4compatibility.ttf | Bin 0 -> 10136 bytes .../webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4584 bytes .../wwwroot/lib/popperjs/cjs/enums.js | 65 + .../wwwroot/lib/popperjs/cjs/enums.js.map | 1 + .../wwwroot/lib/popperjs/cjs/enums.min.js | 1 + .../wwwroot/lib/popperjs/cjs/popper-base.js | 1097 ++ .../lib/popperjs/cjs/popper-base.js.map | 1 + .../lib/popperjs/cjs/popper-base.min.js | 1 + .../wwwroot/lib/popperjs/cjs/popper-lite.js | 1430 ++ .../lib/popperjs/cjs/popper-lite.js.map | 1 + .../lib/popperjs/cjs/popper-lite.min.js | 1 + .../wwwroot/lib/popperjs/cjs/popper.js | 2002 +++ .../wwwroot/lib/popperjs/cjs/popper.js.map | 1 + .../wwwroot/lib/popperjs/cjs/popper.min.js | 1 + .../wwwroot/lib/popperjs/esm/createPopper.js | 259 + .../lib/popperjs/esm/createPopper.min.js | 1 + .../lib/popperjs/esm/dom-utils/contains.js | 23 + .../popperjs/esm/dom-utils/contains.min.js | 1 + .../esm/dom-utils/getBoundingClientRect.js | 41 + .../dom-utils/getBoundingClientRect.min.js | 1 + .../popperjs/esm/dom-utils/getClippingRect.js | 70 + .../esm/dom-utils/getClippingRect.min.js | 1 + .../esm/dom-utils/getCompositeRect.js | 58 + .../esm/dom-utils/getCompositeRect.min.js | 1 + .../esm/dom-utils/getComputedStyle.js | 4 + .../esm/dom-utils/getComputedStyle.min.js | 1 + .../esm/dom-utils/getDocumentElement.js | 6 + .../esm/dom-utils/getDocumentElement.min.js | 1 + .../popperjs/esm/dom-utils/getDocumentRect.js | 29 + .../esm/dom-utils/getDocumentRect.min.js | 1 + .../esm/dom-utils/getHTMLElementScroll.js | 6 + .../esm/dom-utils/getHTMLElementScroll.min.js | 1 + .../popperjs/esm/dom-utils/getLayoutRect.js | 25 + .../esm/dom-utils/getLayoutRect.min.js | 1 + .../lib/popperjs/esm/dom-utils/getNodeName.js | 3 + .../popperjs/esm/dom-utils/getNodeName.min.js | 1 + .../popperjs/esm/dom-utils/getNodeScroll.js | 11 + .../esm/dom-utils/getNodeScroll.min.js | 1 + .../popperjs/esm/dom-utils/getOffsetParent.js | 69 + .../esm/dom-utils/getOffsetParent.min.js | 1 + .../popperjs/esm/dom-utils/getParentNode.js | 19 + .../esm/dom-utils/getParentNode.min.js | 1 + .../popperjs/esm/dom-utils/getScrollParent.js | 16 + .../esm/dom-utils/getScrollParent.min.js | 1 + .../popperjs/esm/dom-utils/getViewportRect.js | 31 + .../esm/dom-utils/getViewportRect.min.js | 1 + .../lib/popperjs/esm/dom-utils/getWindow.js | 12 + .../popperjs/esm/dom-utils/getWindow.min.js | 1 + .../popperjs/esm/dom-utils/getWindowScroll.js | 10 + .../esm/dom-utils/getWindowScroll.min.js | 1 + .../esm/dom-utils/getWindowScrollBarX.js | 13 + .../esm/dom-utils/getWindowScrollBarX.min.js | 1 + .../lib/popperjs/esm/dom-utils/instanceOf.js | 23 + .../popperjs/esm/dom-utils/instanceOf.min.js | 1 + .../esm/dom-utils/isLayoutViewport.js | 4 + .../esm/dom-utils/isLayoutViewport.min.js | 1 + .../popperjs/esm/dom-utils/isScrollParent.js | 10 + .../esm/dom-utils/isScrollParent.min.js | 1 + .../popperjs/esm/dom-utils/isTableElement.js | 4 + .../esm/dom-utils/isTableElement.min.js | 1 + .../esm/dom-utils/listScrollParents.js | 26 + .../esm/dom-utils/listScrollParents.min.js | 1 + .../wwwroot/lib/popperjs/esm/enums.js | 31 + .../wwwroot/lib/popperjs/esm/enums.min.js | 1 + .../wwwroot/lib/popperjs/esm/index.js | 8 + .../wwwroot/lib/popperjs/esm/index.min.js | 1 + .../lib/popperjs/esm/modifiers/applyStyles.js | 84 + .../popperjs/esm/modifiers/applyStyles.min.js | 1 + .../lib/popperjs/esm/modifiers/arrow.js | 101 + .../lib/popperjs/esm/modifiers/arrow.min.js | 1 + .../popperjs/esm/modifiers/computeStyles.js | 181 + .../esm/modifiers/computeStyles.min.js | 1 + .../popperjs/esm/modifiers/eventListeners.js | 49 + .../esm/modifiers/eventListeners.min.js | 1 + .../lib/popperjs/esm/modifiers/flip.js | 147 + .../lib/popperjs/esm/modifiers/flip.min.js | 1 + .../lib/popperjs/esm/modifiers/hide.js | 61 + .../lib/popperjs/esm/modifiers/hide.min.js | 1 + .../lib/popperjs/esm/modifiers/index.js | 9 + .../lib/popperjs/esm/modifiers/index.min.js | 1 + .../lib/popperjs/esm/modifiers/offset.js | 54 + .../lib/popperjs/esm/modifiers/offset.min.js | 1 + .../popperjs/esm/modifiers/popperOffsets.js | 25 + .../esm/modifiers/popperOffsets.min.js | 1 + .../popperjs/esm/modifiers/preventOverflow.js | 142 + .../esm/modifiers/preventOverflow.min.js | 1 + .../wwwroot/lib/popperjs/esm/popper-base.js | 3 + .../lib/popperjs/esm/popper-base.min.js | 1 + .../wwwroot/lib/popperjs/esm/popper-lite.js | 11 + .../lib/popperjs/esm/popper-lite.min.js | 1 + .../wwwroot/lib/popperjs/esm/popper.js | 20 + .../wwwroot/lib/popperjs/esm/popper.min.js | 1 + .../wwwroot/lib/popperjs/esm/types.js | 0 .../wwwroot/lib/popperjs/esm/types.min.js | 0 .../esm/utils/computeAutoPlacement.js | 47 + .../esm/utils/computeAutoPlacement.min.js | 1 + .../lib/popperjs/esm/utils/computeOffsets.js | 70 + .../popperjs/esm/utils/computeOffsets.min.js | 1 + .../lib/popperjs/esm/utils/debounce.js | 15 + .../lib/popperjs/esm/utils/debounce.min.js | 1 + .../lib/popperjs/esm/utils/detectOverflow.js | 65 + .../popperjs/esm/utils/detectOverflow.min.js | 1 + .../lib/popperjs/esm/utils/expandToHashMap.js | 6 + .../popperjs/esm/utils/expandToHashMap.min.js | 1 + .../wwwroot/lib/popperjs/esm/utils/format.js | 9 + .../lib/popperjs/esm/utils/format.min.js | 1 + .../lib/popperjs/esm/utils/getAltAxis.js | 3 + .../lib/popperjs/esm/utils/getAltAxis.min.js | 1 + .../lib/popperjs/esm/utils/getAltLen.js | 3 + .../lib/popperjs/esm/utils/getAltLen.min.js | 1 + .../popperjs/esm/utils/getBasePlacement.js | 4 + .../esm/utils/getBasePlacement.min.js | 1 + .../popperjs/esm/utils/getFreshSideObject.js | 8 + .../esm/utils/getFreshSideObject.min.js | 1 + .../esm/utils/getMainAxisFromPlacement.js | 3 + .../esm/utils/getMainAxisFromPlacement.min.js | 1 + .../esm/utils/getOppositePlacement.js | 11 + .../esm/utils/getOppositePlacement.min.js | 1 + .../utils/getOppositeVariationPlacement.js | 9 + .../getOppositeVariationPlacement.min.js | 1 + .../lib/popperjs/esm/utils/getVariation.js | 3 + .../popperjs/esm/utils/getVariation.min.js | 1 + .../wwwroot/lib/popperjs/esm/utils/math.js | 3 + .../lib/popperjs/esm/utils/math.min.js | 1 + .../lib/popperjs/esm/utils/mergeByName.js | 14 + .../lib/popperjs/esm/utils/mergeByName.min.js | 1 + .../popperjs/esm/utils/mergePaddingObject.js | 4 + .../esm/utils/mergePaddingObject.min.js | 1 + .../lib/popperjs/esm/utils/orderModifiers.js | 44 + .../popperjs/esm/utils/orderModifiers.min.js | 1 + .../popperjs/esm/utils/rectToClientRect.js | 8 + .../esm/utils/rectToClientRect.min.js | 1 + .../lib/popperjs/esm/utils/uniqueBy.js | 11 + .../lib/popperjs/esm/utils/uniqueBy.min.js | 1 + .../lib/popperjs/esm/utils/userAgent.js | 11 + .../lib/popperjs/esm/utils/userAgent.min.js | 1 + .../popperjs/esm/utils/validateModifiers.js | 81 + .../esm/utils/validateModifiers.min.js | 1 + .../wwwroot/lib/popperjs/esm/utils/within.js | 8 + .../lib/popperjs/esm/utils/within.min.js | 1 + .../wwwroot/lib/popperjs/umd/enums.js | 71 + .../wwwroot/lib/popperjs/umd/enums.js.map | 1 + .../wwwroot/lib/popperjs/umd/enums.min.js | 6 + .../wwwroot/lib/popperjs/umd/enums.min.js.map | 1 + .../wwwroot/lib/popperjs/umd/popper-base.js | 1103 ++ .../lib/popperjs/umd/popper-base.js.map | 1 + .../lib/popperjs/umd/popper-base.min.js | 6 + .../lib/popperjs/umd/popper-base.min.js.map | 1 + .../wwwroot/lib/popperjs/umd/popper-lite.js | 1436 ++ .../lib/popperjs/umd/popper-lite.js.map | 1 + .../lib/popperjs/umd/popper-lite.min.js | 6 + .../lib/popperjs/umd/popper-lite.min.js.map | 1 + .../wwwroot/lib/popperjs/umd/popper.js | 2008 +++ .../wwwroot/lib/popperjs/umd/popper.js.map | 1 + .../wwwroot/lib/popperjs/umd/popper.min.js | 6 + .../lib/popperjs/umd/popper.min.js.map | 1 + src/UnitTests/UnitTests.csproj | 6 +- 2318 files changed, 141714 insertions(+), 456 deletions(-) create mode 100644 .github/actions/publish-console-exe-dist/action.yaml create mode 100644 .github/actions/publish-docker-images/action.yaml create mode 100644 .github/actions/publish-ui-dist/action.yaml delete mode 100644 .github/workflows/docker_latest.yml create mode 100644 .github/workflows/publish-latest.yaml create mode 100644 .github/workflows/publish-release.yaml delete mode 100644 .github/workflows/publish_distros_latest.yml delete mode 100644 .github/workflows/release.yml delete mode 100644 src/ClientUI/ClientUI_TemporaryKey.pfx create mode 100644 src/ClientUI/configuration.example.json create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE.md create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/README.md create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/bootstrap-icons.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.json create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/font/index.html create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/123.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/activity.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alexa.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-bottom.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-center.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-end.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-middle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-start.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-top.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alipay.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/amd.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app-indicator.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/apple.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-clockwise.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-counterclockwise.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-short.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-short.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-repeat.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-short.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-short.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-contract.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-expand.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-collapse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-expand.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-fullscreen.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-move.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/asterisk.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/at.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/back.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-steps.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-charging.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-full.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/behance.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bicycle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bluetooth.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/body-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookshelf.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-reboot.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-all.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-bottom.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-center.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-inner.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-middle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-outer.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-style.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-top.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-width.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box-circles.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boxes.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces-asterisk.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bricks.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast-pin.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-chrome.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-edge.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-firefox.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-safari.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-add.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-add.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bullseye.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-event.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-range.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-week.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule-pill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-checklist.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-heading.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-image.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-list.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart4.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-coin.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-stack.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cast.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-all.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-all.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-contract.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-expand.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-contract.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-expand.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-pulse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-history.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/coin.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns-gap.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/command.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone-striped.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/controller.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/crop.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-straw.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-bitcoin.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-dollar.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-euro.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-exchange.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-pound.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-rupee.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-yen.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-dotted.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-dotted.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-add.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-add.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/discord.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-horizontal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-vertical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dot.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/download.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dribbble.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dropbox.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/earbuds.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fried.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/escape.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ethernet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclude.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyedropper.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyeglasses.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/facebook.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fan.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-aac.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ai.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-bmp.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-cs.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-css.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-csv.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-doc.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-docx.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-exe.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-gif.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-heic.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-html.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-java.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jpg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-js.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-json.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jsx.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-key.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-m4p.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-md.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mdx.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mov.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp4.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-otf.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pdf.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-php.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-png.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ppt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pptx.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-psd.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-py.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-raw.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-rb.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sass.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-scss.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sh.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sql.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-svg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tiff.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tsx.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ttf.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-txt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-wav.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-woff.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xls.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xlsx.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xml.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-yml.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/film.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fingerprint.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fire.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower1.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2-open.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fonts.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen-exit.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide-connected.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gem.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-ambiguous.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-female.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-male.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-trans.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/git.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/github.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-americas.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-asia-australia.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-central-south-asia.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-europe-africa.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google-play.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gpu-card.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down-arrow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up-arrow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-horizontal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-vertical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hammer.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headphones.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset-vr.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-arrow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hearts.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-bottom.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-split.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-top.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hr.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hurricane.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hypnotize.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/images.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/incognito.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/indent.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/infinity.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/instagram.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/intersect.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-album.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-code.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-medical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-richtext.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-text.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journals.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/joystick.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ladder.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-backward.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-forward.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset-reverse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-reverse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-split.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar-reverse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window-reverse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-three-columns.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-wtf.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/life-preserver.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/line.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link-45deg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/linkedin.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns-reverse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-nested.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ol.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-stars.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-task.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ul.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magic.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mask.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mastodon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/medium.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/memory.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/messenger.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/meta.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft-teams.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart-loaded.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moisture.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-beamed.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-list.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/newspaper.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nintendo-switch.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nvidia.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/option.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/outlet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paint-bucket.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paperclip.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paragraph.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paypal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display-horizontal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-horizontal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pci-card.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/percent.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-add.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-bounding-box.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-add.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-gear.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-hearts.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lines-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-rolodex.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-workspace.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-flip.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pinterest.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/playstation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plugin.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-dotted.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-slash-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-dotted.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/power.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code-scan.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quora.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quote.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/radioactive.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rainbow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt-cutoff.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-0.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-1.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-4.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/recycle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reddit.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/regex.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat-1.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/robot.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rulers.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scissors.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scooter.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/screwdriver.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/segmented-nav.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/server.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-check.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-exclamation.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-shaded.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop-window.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shuffle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sina-weibo.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skype.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slack.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2-vertical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/smartwatch.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snapchat.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up-alt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/soundwave.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spellcheck.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spotify.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack-overflow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stars.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/steam.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/strava.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stripe.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subscript.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subtract.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunglasses.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/superscript.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-horizontal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-vertical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/table.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telegram.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tencent-qq.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-split.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-center.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-left.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-paragraph.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-right.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-wrap.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-resize.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-t.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-high.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-low.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-snow.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-sun.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots-vertical.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tiktok.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-off.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-on.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-off.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-on.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tools.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tornado.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/translate.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trello.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-half.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tropical-storm.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-flatbed.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tsunami.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitch.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitter.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-bold.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h1.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h3.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-italic.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-strikethrough.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-underline.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ubuntu.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks-grid.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios-grid.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unindent.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/union.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unity.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc-scan.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upload.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-symbol.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vector-pen.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-list.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-stacked.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vimeo.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/voicemail.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vr.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/watch.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/water.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wechat.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/whatsapp.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-1.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-2.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-off.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wikipedia.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wind.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dash.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-desktop.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dock.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-fullscreen.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-plus.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-sidebar.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-split.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-stack.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/windows.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wordpress.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-lg.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square-fill.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/xbox.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yelp.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yin-yang.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/youtube.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-in.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-out.svg create mode 100644 src/SharedUI/wwwroot/lib/bootstrap-icons/package.json create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.rtl.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.rtl.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.rtl.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.rtl.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.rtl.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.rtl.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.rtl.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-utilities.rtl.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.rtl.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.rtl.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.rtl.min.css create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap.rtl.min.css.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.bundle.js create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.bundle.js.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.bundle.min.js create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.esm.js create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.esm.js.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.esm.min.js create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.esm.min.js.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.js create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.js.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.min.js create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/js/bootstrap.min.js.map create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_accordion.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_alert.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_badge.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_breadcrumb.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_button-group.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_buttons.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_card.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_carousel.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_close.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_containers.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_dropdown.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_forms.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_functions.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_grid.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_helpers.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_images.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_list-group.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_maps.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_mixins.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_modal.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_nav.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_navbar.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_offcanvas.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_pagination.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_placeholders.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_popover.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_progress.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_reboot.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_root.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_spinners.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_tables.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_toasts.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_tooltip.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_transitions.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_type.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_utilities.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_variables-dark.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/_variables.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/bootstrap-grid.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/bootstrap-reboot.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/bootstrap-utilities.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/bootstrap.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_floating-labels.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_form-check.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_form-control.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_form-range.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_form-select.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_form-text.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_input-group.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_labels.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/forms/_validation.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_clearfix.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_color-bg.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_colored-links.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_focus-ring.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_icon-link.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_position.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_ratio.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_stacks.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_stretched-link.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_text-truncation.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_visually-hidden.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/helpers/_vr.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_alert.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_backdrop.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_banner.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_border-radius.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_box-shadow.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_breakpoints.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_buttons.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_caret.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_clearfix.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_color-mode.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_color-scheme.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_container.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_deprecate.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_forms.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_gradients.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_grid.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_image.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_list-group.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_lists.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_pagination.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_reset-text.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_resize.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_table-variants.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_text-truncate.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_transition.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_utilities.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/mixins/_visually-hidden.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/utilities/_api.scss create mode 100644 src/SharedUI/wwwroot/lib/bootstrap/scss/vendor/_rfs.scss create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/all.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/all.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/brands.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/brands.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/fontawesome.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/fontawesome.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/regular.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/regular.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/solid.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/solid.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/svg-with-js.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/svg-with-js.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/v4-font-face.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/v4-font-face.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/v4-shims.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/v4-shims.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/v5-font-face.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/css/v5-font-face.min.css create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/all.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/all.min.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/brands.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/brands.min.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/conflict-detection.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/conflict-detection.min.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/fontawesome.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/fontawesome.min.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/regular.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/regular.min.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/solid.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/solid.min.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/v4-shims.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/js/v4-shims.min.js create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/sprites/brands.svg create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/sprites/regular.svg create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/sprites/solid.svg create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-brands-400.ttf create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-brands-400.woff2 create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-regular-400.ttf create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-regular-400.woff2 create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-solid-900.ttf create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-solid-900.woff2 create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-v4compatibility.ttf create mode 100644 src/SharedUI/wwwroot/lib/font-awesome/webfonts/fa-v4compatibility.woff2 create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/enums.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/enums.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/enums.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper-base.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper-base.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper-base.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper-lite.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper-lite.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper-lite.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/cjs/popper.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/createPopper.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/createPopper.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/contains.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/contains.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getBoundingClientRect.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getBoundingClientRect.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getClippingRect.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getClippingRect.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getCompositeRect.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getCompositeRect.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getComputedStyle.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getComputedStyle.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getDocumentElement.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getDocumentElement.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getDocumentRect.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getDocumentRect.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getHTMLElementScroll.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getHTMLElementScroll.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getLayoutRect.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getLayoutRect.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getNodeName.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getNodeName.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getNodeScroll.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getNodeScroll.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getOffsetParent.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getOffsetParent.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getParentNode.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getParentNode.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getScrollParent.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getScrollParent.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getViewportRect.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getViewportRect.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getWindow.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getWindow.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getWindowScroll.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getWindowScroll.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getWindowScrollBarX.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/getWindowScrollBarX.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/instanceOf.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/instanceOf.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/isLayoutViewport.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/isLayoutViewport.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/isScrollParent.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/isScrollParent.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/isTableElement.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/isTableElement.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/listScrollParents.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/dom-utils/listScrollParents.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/enums.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/enums.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/index.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/index.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/applyStyles.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/applyStyles.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/arrow.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/arrow.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/computeStyles.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/computeStyles.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/eventListeners.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/eventListeners.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/flip.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/flip.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/hide.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/hide.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/index.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/index.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/offset.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/offset.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/popperOffsets.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/popperOffsets.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/preventOverflow.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/modifiers/preventOverflow.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/popper-base.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/popper-base.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/popper-lite.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/popper-lite.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/popper.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/popper.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/types.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/types.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/computeAutoPlacement.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/computeAutoPlacement.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/computeOffsets.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/computeOffsets.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/debounce.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/debounce.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/detectOverflow.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/detectOverflow.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/expandToHashMap.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/expandToHashMap.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/format.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/format.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getAltAxis.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getAltAxis.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getAltLen.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getAltLen.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getBasePlacement.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getBasePlacement.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getFreshSideObject.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getFreshSideObject.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getMainAxisFromPlacement.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getMainAxisFromPlacement.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getOppositePlacement.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getOppositePlacement.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getOppositeVariationPlacement.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getOppositeVariationPlacement.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getVariation.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/getVariation.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/math.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/math.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/mergeByName.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/mergeByName.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/mergePaddingObject.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/mergePaddingObject.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/orderModifiers.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/orderModifiers.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/rectToClientRect.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/rectToClientRect.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/uniqueBy.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/uniqueBy.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/userAgent.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/userAgent.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/validateModifiers.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/validateModifiers.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/within.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/esm/utils/within.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/enums.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/enums.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/enums.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/enums.min.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-base.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-base.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-base.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-base.min.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-lite.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-lite.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-lite.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper-lite.min.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper.js.map create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper.min.js create mode 100644 src/SharedUI/wwwroot/lib/popperjs/umd/popper.min.js.map diff --git a/.github/actions/publish-console-exe-dist/action.yaml b/.github/actions/publish-console-exe-dist/action.yaml new file mode 100644 index 000000000..a30e7b99b --- /dev/null +++ b/.github/actions/publish-console-exe-dist/action.yaml @@ -0,0 +1,49 @@ +name: 'Publish Windows Console Exe Distribution' +description: 'Publishes the windows console exe' +inputs: + dotnet-version: + description: 'Version of dotnet to install' + required: true + os: + description: 'The OS we are running on' + required: true +outputs: + artifact: + description: 'Path to the published artifact' + value: ${{ github.workspace }}/dist/${{ inputs.os }} +runs: + using: "composite" + steps: + - name: Setup .NET Core SDK ${{ inputs.dotnet-version }} + uses: actions/setup-dotnet@v3 + with: + dotnet-version: ${{ inputs.dotnet-version }} + + - name: Clean + run: dotnet clean ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --configuration Release && dotnet nuget locals all --clear + shell: pwsh + + - name: Restore + run: dotnet restore ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj + shell: pwsh + + - name: Prepare env + run: | + echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + shell: pwsh + + - name: Publish ${{ inputs.os}} + run: dotnet publish ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r ${{ inputs.os }} -o ${{ github.workspace }}/dist/${{ inputs.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true + shell: pwsh + + - name: Copy Config to Distro + run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ inputs.os }}/configuration.local.json + shell: pwsh + + # Create Build Artifact + - name: Upload Artifact console_${{ inputs.os }}_${{ env.BUILD_VERSION }} + uses: actions/upload-artifact@v3 + with: + name: console_${{ inputs.os }}_${{ env.BUILD_VERSION }} + path: ${{ github.workspace }}/dist/${{ inputs.os }} diff --git a/.github/actions/publish-docker-images/action.yaml b/.github/actions/publish-docker-images/action.yaml new file mode 100644 index 000000000..7fd5f5445 --- /dev/null +++ b/.github/actions/publish-docker-images/action.yaml @@ -0,0 +1,94 @@ +name: 'Publish Docker Images' +description: 'Publishes the Docker Images' +inputs: + dockerfile: + description: 'Dockerfile to build' + required: true + tag: + description: 'The Tag for the Docker image' + required: true + version_tag: + description: 'Specific version tag' + required: false + major_version_tag: + description: 'Major version tag' + required: false + secret_docker_username: + description: "Docker username" + required: true + secret_docker_password: + description: "Docker password" + required: true + secret_github_package: + description: "Github Package Secret" + required: true +runs: + using: "composite" + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ inputs.secret_docker_username }} + password: ${{ inputs.secret_docker_password }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ inputs.secret_github_package }} + + - name: Prepare env + run: | + echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV + shell: bash + + - name: Build & Push Tag to Package Repositories + if: inputs.version_tag == '' + id: docker_build_1 + uses: docker/build-push-action@v3 + with: + push: true + file: ./docker/${{ inputs.dockerfile }} + platforms: linux/amd64,linux/arm64,linux/arm/v7 + build-args: VERSION=${{ env.BUILD_VERSION }} + tags: | + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.tag }} + + - name: Image digest + if: inputs.version_tag == '' + run: echo ${{ steps.docker_build_1.outputs.digest }} + shell: bash + + - name: Build & Push Version Tags to Package Repositories + if: inputs.version_tag != '' + id: docker_build_2 + uses: docker/build-push-action@v3 + with: + push: true + file: ./docker/${{ inputs.dockerfile }} + platforms: linux/amd64,linux/arm64,linux/arm/v7 + build-args: VERSION=${{ env.BUILD_VERSION }} + tags: | + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.tag }} + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.version_tag }} + ${{ inputs.secret_docker_username }}/peloton-to-garmin:${{ inputs.major_version_tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.version_tag }} + ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ inputs.major_version_tag }} + + - name: Image digest + if: inputs.version_tag != '' + run: echo ${{ steps.docker_build_2.outputs.digest }} + shell: bash diff --git a/.github/actions/publish-ui-dist/action.yaml b/.github/actions/publish-ui-dist/action.yaml new file mode 100644 index 000000000..c88f4016b --- /dev/null +++ b/.github/actions/publish-ui-dist/action.yaml @@ -0,0 +1,63 @@ +name: 'Publish UI Distribution' +description: 'Publishes the UI Distribution' +inputs: + dotnet-version: + description: 'Version of dotnet to install' + required: true + framework: + description: 'DotNet Framework' + required: true + os: + description: 'The OS we are running on' + required: true +outputs: + artifact: + description: 'Path to the published artifact' + value: ${{ github.workspace }}/dist/${{ inputs.os }}-ui +runs: + using: "composite" + steps: + - name: Setup .NET Core SDK ${{ inputs.dotnet-version }} + uses: actions/setup-dotnet@v3 + with: + dotnet-version: ${{ inputs.dotnet-version }} + + - name: List MAUI Workloads + run: dotnet workload list + shell: pwsh + + - name: Prepare env + run: | + echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append + shell: pwsh + + - name: Publish ${{ inputs.os }} + run: dotnet publish ${{ github.workspace }}/src/ClientUI/ClientUI.csproj -c Release -f ${{ inputs.framework }} -p:RuntimeIdentifierOverride=${{ inputs.os }} -p:PublishSingleFile=true -p:SelfContained=true + shell: pwsh + + - name: Rename Config + run: Rename-Item ${{ github.workspace }}/src/ClientUI/bin/Release/${{ inputs.framework }}/${{ inputs.os }}/configuration.example.json -NewName configuration.local.json + shell: pwsh + + - name: Remove nested Publish Dir + run: Remove-Item ${{ github.workspace }}/src/ClientUI/bin/Release/${{ inputs.framework }}/${{ inputs.os }}/publish -Recurse + shell: pwsh + + # Create Build Artifact + - name: Upload Artifact ui_${{ inputs.os }}_${{ env.BUILD_VERSION }} + uses: actions/upload-artifact@v3 + with: + name: ui_${{ inputs.os }}_${{ env.BUILD_VERSION }} + path: ${{ github.workspace }}/src/ClientUI/bin/Release/${{ inputs.framework }}/${{ inputs.os }} + + +# Installed Workload Id Manifest Version Installation Source +# --------------------------------------------------------------------- +# maui-android 7.0.92/7.0.100 VS 17.7.34031.279 +# android 33.0.68/7.0.100 VS 17.7.34031.279 +# ios 16.4.7098/7.0.100 VS 17.7.34031.279 +# maui-ios 7.0.92/7.0.100 VS 17.7.34031.279 +# maui-windows 7.0.92/7.0.100 VS 17.7.34031.279 +# maui-maccatalyst 7.0.92/7.0.100 VS 17.7.34031.279 +# maccatalyst 16.4.7098/7.0.100 VS 17.7.34031.279 \ No newline at end of file diff --git a/.github/workflows/docker_latest.yml b/.github/workflows/docker_latest.yml deleted file mode 100644 index 4b8330d9e..000000000 --- a/.github/workflows/docker_latest.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: Publish Docker Latest - -on: - workflow_dispatch: - push: - branches: - - master - paths: - - 'src/**' - - 'docker/**' - - 'PelotonToGarmin.sln' - - 'configuration.example.json' - - '.github/workflows/docker_latest.yml' - -jobs: - - create_docker_images: - name: Publish Docker Images - Latest - runs-on: ubuntu-latest - strategy: - matrix: - dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] - include: - - dockerfile: 'Dockerfile.console' - tag: 'console-latest' - - dockerfile: 'Dockerfile.api' - tag: 'api-latest' - - dockerfile: 'Dockerfile.webui' - tag: 'webui-latest' - - steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GH_PACKAGE_SECRET }} - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV - - - name: Build & Push to Package Repositories - id: docker_build - uses: docker/build-push-action@v3 - with: - push: true - file: ./docker/${{ matrix.dockerfile }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - build-args: VERSION=${{ env.BUILD_VERSION }} - tags: | - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.tag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.tag }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 09b0b9a66..2f257d3a5 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -8,23 +8,20 @@ on: jobs: build-and-test: - - runs-on: ${{ matrix.os }} strategy: matrix: dotnet: ['7.0'] os: [windows-latest] + runs-on: ${{ matrix.os }} + steps: - uses: actions/checkout@v3 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} + - name: Install dotnet uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ matrix.dotnet }} - - - name: Install MAUI Workloads - run: dotnet workload install maui --ignore-failed-sources - name: Clean run: dotnet clean --configuration Debug && dotnet nuget locals all --clear @@ -38,147 +35,67 @@ jobs: - name: Test run: dotnet test - compile-distro-console: - name: Compile Distro + publish-windows-console-exe-dist: + name: Publish Windows Console Exe Distribution runs-on: 'windows-latest' needs: build-and-test strategy: - max-parallel: 1 matrix: dotnet: [ '7.0' ] os: [ 'win10-x64' ] - python-version: [ 3.9.6 ] steps: - uses: actions/checkout@v3 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v3 + - name: Publish Windows Console Exe Distribution + uses: ./.github/actions/publish-console-exe-dist with: dotnet-version: ${{ matrix.dotnet }} - - - name: Clean - run: dotnet clean ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --configuration Release && dotnet nuget locals all --clear - - - name: Restore - run: dotnet restore ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj - - - name: Prepare env - run: | - echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true - - - name: Copy Config to Distro - run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - - # Create Build Artifact - - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.os }}_${{ env.BUILD_VERSION }} - path: ${{ github.workspace }}/dist/${{ matrix.os }} - - #compile-distro-ui: - # name: Compile Distro UI - # runs-on: 'windows-latest' - # needs: build-and-test - # strategy: - # max-parallel: 1 - # matrix: - # dotnet: [ '7.0' ] - # framework: ['net7.0-windows10.0.19041.0'] - # os: [ 'win10-x64' ] - - # steps: - - # - uses: actions/checkout@v3 - # - name: Setup .NET Core SDK ${{ matrix.dotnet }} - # uses: actions/setup-dotnet@v3 - # with: - # dotnet-version: ${{ matrix.dotnet }} - - # - name: Install MAUI Workloads - # run: dotnet workload install maui --ignore-failed-sources - - # - name: Clean - # run: dotnet clean ${{ github.workspace }}/src/ClientUI/ClientUI.csproj --configuration Release && dotnet nuget locals all --clear - - # - name: Restore - # run: dotnet restore ${{ github.workspace }}/src/ClientUI/ClientUI.csproj - - # - name: Prepare env - # run: | - # echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - # echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - # - name: Publish ${{matrix.os}} - # run: dotnet publish ${{ github.workspace }}/src/ClientUI/ClientUI.csproj --no-restore -c Release -f ${{ matrix.framework }} -p:RuntimeIdentifierOverride=${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }}-ui - - # # Create Build Artifact - # - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} - # uses: actions/upload-artifact@v3 - # with: - # name: ${{ matrix.os }}_${{ env.BUILD_VERSION }} - # path: ${{ github.workspace }}/dist/${{ matrix.os }}-ui/AppPackages + os: ${{ matrix.os }} + + publish-ui-dist: + name: Publish UI Distribution + runs-on: 'windows-latest' + needs: build-and-test + strategy: + matrix: + dotnet: [ '7.0.401' ] + framework: ['net7.0-windows10.0.22621.0'] + os: [ 'win10-x64' ] + + steps: + + - uses: actions/checkout@v3 + - name: Publish UI Distribution + uses: ./.github/actions/publish-ui-dist + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + framework: ${{ matrix.framework }} - create_docker_images: - name: Publish Docker Images - PR - runs-on: ubuntu-latest - needs: build-and-test - strategy: - matrix: - dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] - include: - - dockerfile: 'Dockerfile.console' - tag: 'pr-validator-console-A' - - dockerfile: 'Dockerfile.api' - tag: 'pr-validator-api-A' - - dockerfile: 'Dockerfile.webui' - tag: 'pr-validator-webui-A' - - steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 + publish-docker-images: + name: Publish Docker Images + runs-on: ubuntu-latest + needs: build-and-test + strategy: + matrix: + dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] + include: + - dockerfile: 'Dockerfile.console' + tag: 'pr-validator-console-A' + - dockerfile: 'Dockerfile.api' + tag: 'pr-validator-api-A' + - dockerfile: 'Dockerfile.webui' + tag: 'pr-validator-webui-A' - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 + steps: - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GH_PACKAGE_SECRET }} - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV - - - name: Build & Push to Package Repositories - id: docker_build - uses: docker/build-push-action@v3 + - uses: actions/checkout@v3 + - name: Publish Docker Images + uses: ./.github/actions/publish-docker-images with: - push: true - file: ./docker/${{ matrix.dockerfile }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - build-args: VERSION=${{ env.BUILD_VERSION }} - tags: | - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.tag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.tag }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} + dockerfile: ${{ matrix.dockerfile }} + tag: ${{ matrix.tag }} + secret_docker_username: ${{ secrets.DOCKER_USERNAME }} + secret_docker_password: ${{ secrets.DOCKER_PASSWORD }} + secret_github_package: ${{ secrets.GH_PACKAGE_SECRET}} \ No newline at end of file diff --git a/.github/workflows/publish-latest.yaml b/.github/workflows/publish-latest.yaml new file mode 100644 index 000000000..27dca5835 --- /dev/null +++ b/.github/workflows/publish-latest.yaml @@ -0,0 +1,75 @@ +name: Publish Latest + +on: + workflow_dispatch: + push: + branches: + - master + paths: + - 'src/**' + - 'docker/**' + - 'PelotonToGarmin.sln' + - 'configuration.example.json' + +jobs: + publish-docker-images: + name: Publish Docker Images + runs-on: ubuntu-latest + strategy: + matrix: + dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] + include: + - dockerfile: 'Dockerfile.console' + tag: 'console-latest' + - dockerfile: 'Dockerfile.api' + tag: 'api-latest' + - dockerfile: 'Dockerfile.webui' + tag: 'webui-latest' + + steps: + + - uses: actions/checkout@v3 + - name: Publish Docker Images + uses: ./.github/actions/publish-docker-images + with: + dockerfile: ${{ matrix.dockerfile }} + tag: ${{ matrix.tag }} + secret_docker_username: ${{ secrets.DOCKER_USERNAME }} + secret_docker_password: ${{ secrets.DOCKER_PASSWORD }} + secret_github_package: ${{ secrets.GH_PACKAGE_SECRET}} + + publish-windows-console-exe-dist: + name: Publish Windows Console Exe Distribution + runs-on: 'windows-latest' + strategy: + matrix: + dotnet: [ '7.0' ] + os: [ 'win10-x64' ] + + steps: + + - uses: actions/checkout@v3 + - name: Publish Windows Console Exe Distribution + uses: ./.github/actions/publish-console-exe-dist + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + + publish-ui-dist: + name: Publish UI Distribution + runs-on: 'windows-latest' + strategy: + matrix: + dotnet: [ '7.0.400' ] + framework: ['net7.0-windows10.0.22621.0'] + os: [ 'win10-x64' ] + + steps: + + - uses: actions/checkout@v3 + - name: Publish UI Distribution + uses: ./.github/actions/publish-ui-dist + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + framework: ${{ matrix.framework }} \ No newline at end of file diff --git a/.github/workflows/publish-release.yaml b/.github/workflows/publish-release.yaml new file mode 100644 index 000000000..a5991b38f --- /dev/null +++ b/.github/workflows/publish-release.yaml @@ -0,0 +1,115 @@ +name: Publish Release + +on: + workflow_dispatch: + inputs: + version: + description: 'Release Version' + required: true + majorVersion: + description: 'Major Version Tag' + required: true + +jobs: + publish-docker-images: + name: Publish Docker Images + runs-on: ubuntu-latest + strategy: + matrix: + dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] + include: + - dockerfile: 'Dockerfile.console' + tag: console-stable + versionTag: console-v${{ github.event.inputs.version }} + majorVersionTag: console-v${{ github.event.inputs.majorVersion }} + - dockerfile: 'Dockerfile.api' + tag: api-stable + versionTag: api-v${{ github.event.inputs.version }} + majorVersionTag: api-v${{ github.event.inputs.majorVersion }} + - dockerfile: 'Dockerfile.webui' + tag: webui-stable + versionTag: webui-v${{ github.event.inputs.version }} + majorVersionTag: webui-v${{ github.event.inputs.majorVersion }} + + steps: + + - uses: actions/checkout@v3 + - name: Publish Docker Images + uses: ./.github/actions/publish-docker-images + with: + dockerfile: ${{ matrix.dockerfile }} + tag: ${{ matrix.tag }} + version_tag: ${{ matrix.versionTag }} + major_version_tag: ${{ matrix.majorVersionTag }} + secret_docker_username: ${{ secrets.DOCKER_USERNAME }} + secret_docker_password: ${{ secrets.DOCKER_PASSWORD }} + secret_github_package: ${{ secrets.GH_PACKAGE_SECRET}} + + publish-windows-console-exe-dist: + name: Publish Windows Console Distribution + runs-on: 'windows-latest' + outputs: + artifact: ${{ steps.win-exe-create-artifact.outputs.artifact }} + strategy: + matrix: + dotnet: [ '7.0' ] + #os: [ 'win10-x64', 'osx-x64' ] # osx signing issue, mac wont run the executable + os: [ 'win10-x64' ] + + steps: + + - uses: actions/checkout@v3 + - name: Publish Windows Console Exe Distribution + uses: ./.github/actions/publish-console-exe-dist + id: win-exe-create-artifact + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + + publish-ui-dist: + name: Publish UI Distribution + runs-on: 'windows-latest' + outputs: + artifact: ${{ steps.win-ui-create-artifact.outputs.artifact }} + strategy: + matrix: + dotnet: [ '7.0.400' ] + framework: ['net7.0-windows10.0.22621.0'] + os: [ 'win10-x64' ] + + steps: + + - uses: actions/checkout@v3 + - name: Publish UI Distribution + uses: ./.github/actions/publish-ui-dist + id: win-ui-create-artifact + with: + dotnet-version: ${{ matrix.dotnet }} + os: ${{ matrix.os }} + framework: ${{ matrix.framework }} + + create-gh-release: + runs-on: ubuntu-latest + needs: [publish-windows-console-exe-dist, publish-ui-dist, publish-docker-images ] + steps: + - name: Create Zip for Win EXE Release Artifact + uses: papeloto/action-zip@v1 + with: + files: ${{ needs.publish-windows-console-exe-dist.outputs.artifact }} + dest: /dist/console_win_${{ github.event.inputs.version }}.zip + + - name: Create Zip for Win UI Release Artifact + uses: papeloto/action-zip@v1 + with: + files: ${{ needs.publish-ui-dist.outputs.artifact }} + dest: /dist/ui_win_${{ github.event.inputs.version }}.zip + + - name: Create Release and Upload Artifacts + uses: ncipollo/release-action@v1 + with: + artifacts: "${{ github.workspace }}/dist/console_win_${{ github.event.inputs.version }}.zip,${{ github.workspace }}/dist/ui_win_${{ github.event.inputs.version }}.zip" + token: ${{ secrets.GITHUB_TOKEN }} + tag: v${{ github.event.inputs.version }} + allowUpdates: true + replacesArtifacts: true + bodyFile: ${{ github.workspace }}/vNextReleaseNotes.md diff --git a/.github/workflows/publish_distros_latest.yml b/.github/workflows/publish_distros_latest.yml deleted file mode 100644 index 49699cc00..000000000 --- a/.github/workflows/publish_distros_latest.yml +++ /dev/null @@ -1,61 +0,0 @@ -# This workflow will: -# - Publish latest all-in-one windows exe - -name: Publish Distro Latest - -on: - workflow_dispatch: - push: - branches: - - master - paths: - - 'src/**' - - 'python/**' - - 'PelotonToGarmin.sln' - - 'configuration.example.json' - - '.github/workflows/publish_distros_latest.yml' - -jobs: - publish: - - runs-on: 'windows-latest' - strategy: - max-parallel: 1 - matrix: - dotnet: [ '7.0' ] - #os: [ 'win10-x64', 'osx-x64' ] # osx signing issue, mac wont run the executable - os: [ 'win10-x64' ] - python-version: [ 3.9.6 ] - - steps: - - # Publish dotnet core exe - - uses: actions/checkout@v2 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v3 - with: - dotnet-version: ${{ matrix.dotnet }} - - - name: Clean - run: dotnet clean --configuration Release && dotnet nuget locals all --clear - - - name: Restore - run: dotnet restore - - - name: Prepare env - run: | - echo "BUILD_VERSION=$Env:GITHUB_RUN_NUMBER-$Env:GITHUB_RUN_ID" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --version-suffix ${{ env.BUILD_VERSION }} --self-contained true - - - name: Copy Config to Distro - run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - - # Create Artifact - - name: Upload Artifact ${{ matrix.os }}_${{ env.BUILD_VERSION }} - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.os }}_${{ env.BUILD_VERSION }} - path: ${{ github.workspace }}/dist/${{ matrix.os }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index d759e1b15..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,142 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - -name: Release - -on: - workflow_dispatch: - inputs: - version: - description: 'Release Version' - required: true - majorVersion: - description: 'Major Version Tag' - required: true - -jobs: - create_docker_images: - name: Publish Docker Images - Release - runs-on: ubuntu-latest - strategy: - matrix: - dockerfile: ['Dockerfile.console', 'Dockerfile.api', 'Dockerfile.webui'] - include: - - dockerfile: 'Dockerfile.console' - tag: console-stable - versionTag: console-v${{ github.event.inputs.version }} - majorVersionTag: console-v${{ github.event.inputs.majorVersion }} - - dockerfile: 'Dockerfile.api' - tag: api-stable - versionTag: api-v${{ github.event.inputs.version }} - majorVersionTag: api-v${{ github.event.inputs.majorVersion }} - - dockerfile: 'Dockerfile.webui' - tag: webui-stable - versionTag: webui-v${{ github.event.inputs.version }} - majorVersionTag: webui-v${{ github.event.inputs.majorVersion }} - - steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64,linux/arm/v7 - - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GH_PACKAGE_SECRET }} - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV - - - name: Build & Push to Package Repositories - id: docker_build - uses: docker/build-push-action@v3 - with: - push: true - file: ./docker/${{ matrix.dockerfile }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - build-args: VERSION=${{ env.BUILD_VERSION }} - tags: | - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.tag }} - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.versionTag }} - ${{ secrets.DOCKER_USERNAME }}/peloton-to-garmin:${{ matrix.majorVersionTag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.tag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.versionTag }} - ghcr.io/${{ github.repository_owner }}/peloton-to-garmin:${{ matrix.majorVersionTag }} - - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} - - compile_distro_and_create_gh_release: - name: Compile Distro & Create GH Release - Release - runs-on: 'windows-latest' - strategy: - max-parallel: 1 - matrix: - dotnet: [ '7.0' ] - #os: [ 'win10-x64', 'osx-x64' ] # osx signing issue, mac wont run the executable - os: [ 'win10-x64' ] - python-version: [ 3.9.6 ] - - steps: - - - uses: actions/checkout@v2 - - name: Setup .NET Core SDK ${{ matrix.dotnet }} - uses: actions/setup-dotnet@v3 - with: - dotnet-version: ${{ matrix.dotnet }} - - - name: Clean - run: dotnet clean --configuration Release && dotnet nuget locals all --clear - - - name: Restore - run: dotnet restore - - - name: Prepare env - run: | - echo "BUILD_VERSION=${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}" >> $GITHUB_ENV - echo "RUNNER_TOOL_CACHE=$Env:RUNNER_TOOL_CACHE" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append - - - name: Publish ${{matrix.os}} - run: dotnet publish ${{ github.workspace }}/src/ConsoleClient/ConsoleClient.csproj --no-restore -c Release -r ${{ matrix.os }} -o ${{ github.workspace }}/dist/${{ matrix.os }} --self-contained true - - - name: Copy Config to Distro - run: cp ${{ github.workspace }}/configuration.example.json ${{ github.workspace }}/dist/${{ matrix.os }}/configuration.local.json - - # Create Build Artifact - - name: Upload Artifact ${{ matrix.os }}_${{ github.event.inputs.version }} - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.os }}_${{ github.event.inputs.version }} - path: ${{ github.workspace }}/dist/${{ matrix.os }} - - - name: Create Zip for Release Artifact - uses: papeloto/action-zip@v1 - with: - files: /dist/${{ matrix.os }} - dest: /dist/${{ matrix.os }}_${{ github.event.inputs.version }}.zip - - - name: Create Release and Upload Artifact - uses: ncipollo/release-action@v1 - with: - artifacts: "${{ github.workspace }}/dist/${{ matrix.os }}_${{ github.event.inputs.version }}.zip" - token: ${{ secrets.GITHUB_TOKEN }} - tag: v${{ github.event.inputs.version }} - allowUpdates: true - replacesArtifacts: true - bodyFile: ${{ github.workspace }}/vNextReleaseNotes.md diff --git a/.gitignore b/.gitignore index af2848b0f..79cf2aeb0 100644 --- a/.gitignore +++ b/.gitignore @@ -117,11 +117,9 @@ configuration.local.json /src/Api/data /src/ConsoleClient/data /src/ConsoleClient/python/** -/src/WebUI/wwwroot/lib */**/output/** /Output /.vs/ProjectSettings.json .vs/ /.vscode/settings.json -/src/SharedUI/wwwroot/lib /src/ClientUI/ClientUI.csproj.user diff --git a/src/ClientUI/ClientUI.csproj b/src/ClientUI/ClientUI.csproj index d610ffd6f..86e56edc4 100644 --- a/src/ClientUI/ClientUI.csproj +++ b/src/ClientUI/ClientUI.csproj @@ -1,9 +1,8 @@  - net7.0-windows10.0.19041.0 - + $(TargetFrameworks);net7.0-windows10.0.22621.0 Exe @@ -12,7 +11,10 @@ true enable false - true + + None + true + false PelotonToGarmin @@ -28,16 +30,14 @@ 14.2 14.0 24.0 - 10.0.17763.0 - 10.0.17763.0 + 10.0.19041.0 + 10.0.19041.0 6.5 + P2G ClientUI + Philosowaffle + P2G ClientUI - - true - 590886801A2E0E983A333A63D7BBCA03F7098322 - - @@ -53,7 +53,7 @@ - + @@ -61,8 +61,11 @@ - - + + + + NU1603,NETSDK1023 + diff --git a/src/ClientUI/ClientUI_TemporaryKey.pfx b/src/ClientUI/ClientUI_TemporaryKey.pfx deleted file mode 100644 index d2cfd2a56879dce0e93f79f47712356e7b8c793f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2536 zcmZXUc{JNu8^?bkVi%09)H0UVSVIscwKhRZt)-=;q$q~i*V24$7#dwpvDQ zDPxJH4Yli7YAZEWipEwZo%6mk=RNPa=X>w>`8@Y|&i&^;Fg)uD1BelZXDx!T$|V{n z(l|lPpdvhLIvCHIO2-5kp6Td+QcRm*Jktj{UZ!gS!v3Es4mJ=&5gvRB!-J1t=OJwW z#q{P}V3y9VoP%9%jWq@a<`FO+Jnf&s-rt%QcVErvqjHLZ&04}UZ?Bx09M!_Lj;Zas zFAG0}Gx3a7$BTiu`@Nsv)vv&;lM*vj5|Ura8eraSZ(Ehe{E*Jey%}KJ?8gchf(GXWQrg||I>;ZfIgIBVac4_G>}Z>he% zz(BKte#yMoaO6^BR#9K^)iGrHF&f>(ID-!8A3t@IFz08jpKI|I4^nU7{@mC{{lh+u ziQ&0pYm)*ytVM;qL=*}=_IpG!=3PUoEivyc&4t?BKz>$Lr@JRw>Lb@EL%yZ2t^ zgZo)<&NgTb-Lez!1-HwbYLDkzp;p6{Iu7K>5?aDF#Q`zcuGAHupE3zIY@*U_Hzo-u z2DMubb`q-ry3_4~%e9}J9gynQH{J$JNkaN}?J+;QvhpIIu-U0`qE^Re=U+Xw|c#FiAs-Btekr4ambqgz3p3j9bTn@9PKLk z$snZ?co12ND+J0%#9&Hpjv_y`tgaJP1V8m&l1K`clKIgam;FXlBjw@7A1g;EW%9Ds zUmvUtT~~OQSD>tQy%@6AyAVXNy{u7O`M$;W@N9jUQIZiPc%ky_vEhR`5cBF7fBoZ4 zoMX^Z)%wpg0USXFb*%{R`V?5BNalP zsoSwx^WS=Q&y%9LEP3Jya7h<}HZs{Rr8~2DRdu%oUHHHs!^mNk`djUkELCzYkNv^U zA5R;mB8*1WZbk{_i+9T3h~5v7J92eO-Sn}IRBk%pF&gDXvvgq8iK6VAg!Q|=h{!+j z&Flr^V$_@sg+(WGtZ?CplJnkAtqke$QZ=5F6Xl|kulCn$BCzNV4arthqfk>hiRo)! zf~b88WNhBK{UAd%^Mn~6<#4y_)t|DgALZdue>YHDv95Ub_hrCgsL z?+t=&Ja;Bv^IlHNOg5Z?-M>Vt96VNsH^~fX=1663_FSCxF-l6X=-=Ctr*;|51@TFC z1p`Y`sYCV4PtQHVQLIa5Kb6cFt37O38#=DFqD3JA-nYrITEn@s zNwvIa;iSm8Iu3cpW1_AVAl$VfRiNIV1U1SNR*E6(M>lZDPX&6%A`pHq)>eo$qPuC= zNU`p0VKW&ceN9kTyY7bKo(sv#=zO#ZQE)c7Qv3E$(J7{Rb1R`=7?7*(g(Mo9@IX(7 zf9@lC+Yk0Uyn__0xT|pdN|_w5LH zGb7zJVJS!`**Tp)cIMYqiG2PasvVZ3Ba1Zei&)Ct zYY?>`G{z+QcDQuOfpA)fyQ=j;U^#Spvf7&0cdemGry6M~`#=;rc$Z1>I z_f;F`7tI?b@aoWU6?AiO5&BywG;fM?##qEsDdaRYC-lx+|I82PY-|t)z@i4ke$>W1 z7CARCd&)-ZF0fB?Z+ zps97~=qq3k$lxJrDQF8a!QQV(y4dnw-+bbLwFqkc0VAEk+ zq=EBo&+`XozOw`1TEOV`l8Z4Q~;SlrN4d-M*p&B^U- z84uV9cz~|0eC=GBFk~((I;n;t*J;TX4Gt;uXFBpn*pY??7uibGd#Adf_+*5oD7h&V zRplg;yJ&ePoc%~?($csJyWsSDg9kUqpL;NaSLhzytPk*35wFi}(MU<2mf@=&@-9eH z+vM#s{E^qG*}PNhfdM=YJ{o>iy5pN*OrU=v<(J9jIK7lkEfi+&4Qy9uhQF$mZN~QH z1LpjQV_2AoKU<*A_FXVhvc7NCh=rvtdmvTeimGE&Uap&nkt+s=hiSvaVayOFc`il< zVKARq&YY3fk1VaV-c&B_d3n7J*%oIoA9XILu2*^grf2Ck$^W5LE^UNL`Tha_0?BKC A00000 diff --git a/src/ClientUI/MauiProgram.cs b/src/ClientUI/MauiProgram.cs index 2724c2bb1..01d5096c4 100644 --- a/src/ClientUI/MauiProgram.cs +++ b/src/ClientUI/MauiProgram.cs @@ -18,10 +18,6 @@ public static MauiApp CreateMauiApp() Statics.MetricPrefix = Constants.ClientUIName; Statics.TracingService = Constants.ClientUIName; - Statics.DefaultDataDirectory = FileSystem.Current.AppDataDirectory; - Statics.DefaultOutputDirectory = FileSystem.Current.AppDataDirectory; - Statics.DefaultTempDirectory = FileSystem.Current.CacheDirectory; - Directory.CreateDirectory(Path.Combine(Statics.DefaultOutputDirectory, "output")); /////////////////////////////////////////////////////////// diff --git a/src/ClientUI/Properties/launchSettings.json b/src/ClientUI/Properties/launchSettings.json index edf8aadcc..4f857936f 100644 --- a/src/ClientUI/Properties/launchSettings.json +++ b/src/ClientUI/Properties/launchSettings.json @@ -1,7 +1,7 @@ { "profiles": { "Windows Machine": { - "commandName": "MsixPackage", + "commandName": "Project", "nativeDebugging": false } } diff --git a/src/ClientUI/configuration.example.json b/src/ClientUI/configuration.example.json new file mode 100644 index 000000000..47de40236 --- /dev/null +++ b/src/ClientUI/configuration.example.json @@ -0,0 +1,37 @@ +{ + "Observability": { + + "Prometheus": { + "Enabled": false, + "Port": 4000 + }, + + "Jaeger": { + "Enabled": false, + "AgentHost": "localhost", + "AgentPort": 6831 + }, + + "Serilog": { + "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Error", + "System": "Error" + } + }, + "WriteTo": [ + { "Name": "Console" }, + { + "Name": "File", + "Args": { + "path": "./output/log.txt", + "rollingInterval": "Day", + "retainedFileCountLimit": 7 + } + } + ] + } + } + } \ No newline at end of file diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj index a97177b85..f295052e7 100644 --- a/src/Common/Common.csproj +++ b/src/Common/Common.csproj @@ -9,7 +9,7 @@ - + @@ -23,7 +23,7 @@ - + diff --git a/src/Common/Database/SettingsDb.cs b/src/Common/Database/SettingsDb.cs index 617871e11..36a5d89d8 100644 --- a/src/Common/Database/SettingsDb.cs +++ b/src/Common/Database/SettingsDb.cs @@ -5,6 +5,7 @@ using Serilog; using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; namespace Common.Database @@ -28,7 +29,24 @@ public class SettingsDb : DbBase, ISettingsDb public SettingsDb(IFileHandling fileHandler) : base("Settings", fileHandler) { - _db = new DataStore(DbPath); + _db = new DataStore(DbPath); + Init(); + } + + private void Init() + { + try + { + var settings = _db.GetItem("1"); + } + catch (KeyNotFoundException) + { + var success = _db.InsertItem("1", _defaultSettings); + if (!success) + { + _logger.Error($"Failed to init default Settings to Db for default user."); + } + } } public Settings GetLegacySettings() @@ -53,7 +71,7 @@ public Settings GetLegacySettings() } } - public async Task GetSettingsAsync(int userId) + public Task GetSettingsAsync(int userId) { using var metrics = DbMetrics.DbActionDuration .WithLabels("get", DbName) @@ -67,20 +85,7 @@ public async Task GetSettingsAsync(int userId) settings.Peloton.Decrypt(); settings.Garmin.Decrypt(); - return settings; - } - catch (KeyNotFoundException k) - { - _logger.Verbose(k, $"Settings key not found in DB for user {userId}. Creating default Settings."); - - var success = await _db.InsertItemAsync(userId.ToString(), _defaultSettings); - if (!success) - { - _logger.Error($"Failed to save default Settings to Db for user {userId}"); - throw; - } - - return _defaultSettings; + return Task.FromResult(settings); } catch (Exception e) { diff --git a/src/ConsoleClient/ConsoleClient.csproj b/src/ConsoleClient/ConsoleClient.csproj index f4894afef..b7a9586f9 100644 --- a/src/ConsoleClient/ConsoleClient.csproj +++ b/src/ConsoleClient/ConsoleClient.csproj @@ -30,13 +30,13 @@ - + - + diff --git a/src/SharedUI/SharedUI.csproj b/src/SharedUI/SharedUI.csproj index 2d710f743..e12c09457 100644 --- a/src/SharedUI/SharedUI.csproj +++ b/src/SharedUI/SharedUI.csproj @@ -1,4 +1,4 @@ - + net7.0 @@ -11,8 +11,8 @@ - - + + diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE new file mode 100644 index 000000000..3f97be60e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019-2023 The Bootstrap Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +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. diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE.md b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE.md new file mode 100644 index 000000000..47f06b69a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019-2021 The Bootstrap Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +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. diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/README.md b/src/SharedUI/wwwroot/lib/bootstrap-icons/README.md new file mode 100644 index 000000000..bb558ee72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/README.md @@ -0,0 +1,97 @@ +

+ + Bootstrap logo + +

+ +

Bootstrap Icons

+ +

+ Official open source SVG icon library for Bootstrap with over 1,800 icons. +
+ Explore Bootstrap Icons » +
+
+ Bootstrap + · + Themes + · + Blog +
+

+ +[![Bootstrap Icons preview](https://github.com/twbs/icons/blob/main/.github/preview.png)](https://icons.getbootstrap.com) + +## Install + +Bootstrap Icons are packaged up and published to npm. We only include the processed SVGs in this package—it's up to you and your team to implement. [Read our docs](https://icons.getbootstrap.com/) for usage instructions. + +```shell +npm i bootstrap-icons +``` + +For those [using Packagist](https://packagist.org/packages/twbs/bootstrap-icons), you can also install Bootstrap Icons via Composer: + +```shell +composer require twbs/bootstrap-icons +``` + +[Also available in Figma.](https://www.figma.com/community/file/1042482994486402696/Bootstrap-Icons) + +## Usage + +Depending on your setup, you can include Bootstrap Icons in a handful of ways. + +- Copy-paste SVGs as embedded HTML +- Reference via `` element +- Use the SVG sprite +- Include via CSS + +[See the docs for more information.](https://icons.getbootstrap.com/#usage) + +## Development + +[![Build Status](https://github.com/twbs/icons/workflows/Tests/badge.svg)](https://github.com/twbs/icons/actions?workflow=Tests) + +Clone the repo, install dependencies, and start the Hugo server locally. + +```shell +git clone https://github.com/twbs/icons/ +cd icons +npm i +npm start +``` + +Then open `http://localhost:4000` in your browser. + +### npm scripts + +Here are some key scripts you'll use during development. Be sure to look to our `package.json` for a complete list of scripts. + +| Script | Description | +| --- | --- | +| `start` | Alias for running `docs-serve` | +| `docs-serve` | Starts a local Hugo server | +| `pages` | Generates permalink pages for each icon with template Markdown | +| `icons` | Processes and optimizes SVGs in `icons` directory | + +## Adding SVGs + +Icons are typically only added by @mdo, but exceptions can be made. New glyphs are designed in Figma first on a 16x16px grid, then exported as flattened SVGs with `fill` (no stroke). Once a new SVG icon has been added to the `icons` directory, we use an npm script to: + +1. Optimize our SVGs with SVGO. +2. Modify the SVGs source HTML, removing all attributes before setting new attributes and values in our preferred order. + +Use `npm run icons` to run the script, run `npm run pages` to build permalink pages, complete those pages, and, finally, commit the results in a new branch for updating. + +## Publishing + +Documentation is published automatically when a new Git tag is published. See our [GitHub Actions](https://github.com/twbs/icons/tree/main/.github/workflows) and [`package.json`](https://github.com/twbs/icons/blob/main/package.json) for more information. + +## License + +MIT + +## Author + +[@mdo](https://github.com/mdo) diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/bootstrap-icons.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/bootstrap-icons.svg new file mode 100644 index 000000000..8104aeadb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/bootstrap-icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.css b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.css new file mode 100644 index 000000000..7f0bd54b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.css @@ -0,0 +1,1876 @@ +@font-face { + font-display: block; + font-family: "bootstrap-icons"; + src: url("./fonts/bootstrap-icons.woff2?8d200481aa7f02a2d63a331fc782cfaf") format("woff2"), +url("./fonts/bootstrap-icons.woff?8d200481aa7f02a2d63a331fc782cfaf") format("woff"); +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-123::before { content: "\f67f"; } +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-1::before { content: "\f2a5"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } +.bi-apple::before { content: "\f65b"; } +.bi-microsoft::before { content: "\f65d"; } +.bi-windows::before { content: "\f65e"; } +.bi-behance::before { content: "\f65c"; } +.bi-dribbble::before { content: "\f65f"; } +.bi-line::before { content: "\f660"; } +.bi-medium::before { content: "\f661"; } +.bi-paypal::before { content: "\f662"; } +.bi-pinterest::before { content: "\f663"; } +.bi-signal::before { content: "\f664"; } +.bi-snapchat::before { content: "\f665"; } +.bi-spotify::before { content: "\f666"; } +.bi-stack-overflow::before { content: "\f667"; } +.bi-strava::before { content: "\f668"; } +.bi-wordpress::before { content: "\f669"; } +.bi-vimeo::before { content: "\f66a"; } +.bi-activity::before { content: "\f66b"; } +.bi-easel2-fill::before { content: "\f66c"; } +.bi-easel2::before { content: "\f66d"; } +.bi-easel3-fill::before { content: "\f66e"; } +.bi-easel3::before { content: "\f66f"; } +.bi-fan::before { content: "\f670"; } +.bi-fingerprint::before { content: "\f671"; } +.bi-graph-down-arrow::before { content: "\f672"; } +.bi-graph-up-arrow::before { content: "\f673"; } +.bi-hypnotize::before { content: "\f674"; } +.bi-magic::before { content: "\f675"; } +.bi-person-rolodex::before { content: "\f676"; } +.bi-person-video::before { content: "\f677"; } +.bi-person-video2::before { content: "\f678"; } +.bi-person-video3::before { content: "\f679"; } +.bi-person-workspace::before { content: "\f67a"; } +.bi-radioactive::before { content: "\f67b"; } +.bi-webcam-fill::before { content: "\f67c"; } +.bi-webcam::before { content: "\f67d"; } +.bi-yin-yang::before { content: "\f67e"; } +.bi-bandaid-fill::before { content: "\f680"; } +.bi-bandaid::before { content: "\f681"; } +.bi-bluetooth::before { content: "\f682"; } +.bi-body-text::before { content: "\f683"; } +.bi-boombox::before { content: "\f684"; } +.bi-boxes::before { content: "\f685"; } +.bi-dpad-fill::before { content: "\f686"; } +.bi-dpad::before { content: "\f687"; } +.bi-ear-fill::before { content: "\f688"; } +.bi-ear::before { content: "\f689"; } +.bi-envelope-check-1::before { content: "\f68a"; } +.bi-envelope-check-fill::before { content: "\f68b"; } +.bi-envelope-check::before { content: "\f68c"; } +.bi-envelope-dash-1::before { content: "\f68d"; } +.bi-envelope-dash-fill::before { content: "\f68e"; } +.bi-envelope-dash::before { content: "\f68f"; } +.bi-envelope-exclamation-1::before { content: "\f690"; } +.bi-envelope-exclamation-fill::before { content: "\f691"; } +.bi-envelope-exclamation::before { content: "\f692"; } +.bi-envelope-plus-fill::before { content: "\f693"; } +.bi-envelope-plus::before { content: "\f694"; } +.bi-envelope-slash-1::before { content: "\f695"; } +.bi-envelope-slash-fill::before { content: "\f696"; } +.bi-envelope-slash::before { content: "\f697"; } +.bi-envelope-x-1::before { content: "\f698"; } +.bi-envelope-x-fill::before { content: "\f699"; } +.bi-envelope-x::before { content: "\f69a"; } +.bi-explicit-fill::before { content: "\f69b"; } +.bi-explicit::before { content: "\f69c"; } +.bi-git::before { content: "\f69d"; } +.bi-infinity::before { content: "\f69e"; } +.bi-list-columns-reverse::before { content: "\f69f"; } +.bi-list-columns::before { content: "\f6a0"; } +.bi-meta::before { content: "\f6a1"; } +.bi-mortorboard-fill::before { content: "\f6a2"; } +.bi-mortorboard::before { content: "\f6a3"; } +.bi-nintendo-switch::before { content: "\f6a4"; } +.bi-pc-display-horizontal::before { content: "\f6a5"; } +.bi-pc-display::before { content: "\f6a6"; } +.bi-pc-horizontal::before { content: "\f6a7"; } +.bi-pc::before { content: "\f6a8"; } +.bi-playstation::before { content: "\f6a9"; } +.bi-plus-slash-minus::before { content: "\f6aa"; } +.bi-projector-fill::before { content: "\f6ab"; } +.bi-projector::before { content: "\f6ac"; } +.bi-qr-code-scan::before { content: "\f6ad"; } +.bi-qr-code::before { content: "\f6ae"; } +.bi-quora::before { content: "\f6af"; } +.bi-quote::before { content: "\f6b0"; } +.bi-robot::before { content: "\f6b1"; } +.bi-send-check-fill::before { content: "\f6b2"; } +.bi-send-check::before { content: "\f6b3"; } +.bi-send-dash-fill::before { content: "\f6b4"; } +.bi-send-dash::before { content: "\f6b5"; } +.bi-send-exclamation-1::before { content: "\f6b6"; } +.bi-send-exclamation-fill::before { content: "\f6b7"; } +.bi-send-exclamation::before { content: "\f6b8"; } +.bi-send-fill::before { content: "\f6b9"; } +.bi-send-plus-fill::before { content: "\f6ba"; } +.bi-send-plus::before { content: "\f6bb"; } +.bi-send-slash-fill::before { content: "\f6bc"; } +.bi-send-slash::before { content: "\f6bd"; } +.bi-send-x-fill::before { content: "\f6be"; } +.bi-send-x::before { content: "\f6bf"; } +.bi-send::before { content: "\f6c0"; } +.bi-steam::before { content: "\f6c1"; } +.bi-terminal-dash-1::before { content: "\f6c2"; } +.bi-terminal-dash::before { content: "\f6c3"; } +.bi-terminal-plus::before { content: "\f6c4"; } +.bi-terminal-split::before { content: "\f6c5"; } +.bi-ticket-detailed-fill::before { content: "\f6c6"; } +.bi-ticket-detailed::before { content: "\f6c7"; } +.bi-ticket-fill::before { content: "\f6c8"; } +.bi-ticket-perforated-fill::before { content: "\f6c9"; } +.bi-ticket-perforated::before { content: "\f6ca"; } +.bi-ticket::before { content: "\f6cb"; } +.bi-tiktok::before { content: "\f6cc"; } +.bi-window-dash::before { content: "\f6cd"; } +.bi-window-desktop::before { content: "\f6ce"; } +.bi-window-fullscreen::before { content: "\f6cf"; } +.bi-window-plus::before { content: "\f6d0"; } +.bi-window-split::before { content: "\f6d1"; } +.bi-window-stack::before { content: "\f6d2"; } +.bi-window-x::before { content: "\f6d3"; } +.bi-xbox::before { content: "\f6d4"; } +.bi-ethernet::before { content: "\f6d5"; } +.bi-hdmi-fill::before { content: "\f6d6"; } +.bi-hdmi::before { content: "\f6d7"; } +.bi-usb-c-fill::before { content: "\f6d8"; } +.bi-usb-c::before { content: "\f6d9"; } +.bi-usb-fill::before { content: "\f6da"; } +.bi-usb-plug-fill::before { content: "\f6db"; } +.bi-usb-plug::before { content: "\f6dc"; } +.bi-usb-symbol::before { content: "\f6dd"; } +.bi-usb::before { content: "\f6de"; } +.bi-boombox-fill::before { content: "\f6df"; } +.bi-displayport-1::before { content: "\f6e0"; } +.bi-displayport::before { content: "\f6e1"; } +.bi-gpu-card::before { content: "\f6e2"; } +.bi-memory::before { content: "\f6e3"; } +.bi-modem-fill::before { content: "\f6e4"; } +.bi-modem::before { content: "\f6e5"; } +.bi-motherboard-fill::before { content: "\f6e6"; } +.bi-motherboard::before { content: "\f6e7"; } +.bi-optical-audio-fill::before { content: "\f6e8"; } +.bi-optical-audio::before { content: "\f6e9"; } +.bi-pci-card::before { content: "\f6ea"; } +.bi-router-fill::before { content: "\f6eb"; } +.bi-router::before { content: "\f6ec"; } +.bi-ssd-fill::before { content: "\f6ed"; } +.bi-ssd::before { content: "\f6ee"; } +.bi-thunderbolt-fill::before { content: "\f6ef"; } +.bi-thunderbolt::before { content: "\f6f0"; } +.bi-usb-drive-fill::before { content: "\f6f1"; } +.bi-usb-drive::before { content: "\f6f2"; } +.bi-usb-micro-fill::before { content: "\f6f3"; } +.bi-usb-micro::before { content: "\f6f4"; } +.bi-usb-mini-fill::before { content: "\f6f5"; } +.bi-usb-mini::before { content: "\f6f6"; } +.bi-cloud-haze2::before { content: "\f6f7"; } +.bi-device-hdd-fill::before { content: "\f6f8"; } +.bi-device-hdd::before { content: "\f6f9"; } +.bi-device-ssd-fill::before { content: "\f6fa"; } +.bi-device-ssd::before { content: "\f6fb"; } +.bi-displayport-fill::before { content: "\f6fc"; } +.bi-mortarboard-fill::before { content: "\f6fd"; } +.bi-mortarboard::before { content: "\f6fe"; } +.bi-terminal-x::before { content: "\f6ff"; } +.bi-arrow-through-heart-fill::before { content: "\f700"; } +.bi-arrow-through-heart::before { content: "\f701"; } +.bi-badge-sd-fill::before { content: "\f702"; } +.bi-badge-sd::before { content: "\f703"; } +.bi-bag-heart-fill::before { content: "\f704"; } +.bi-bag-heart::before { content: "\f705"; } +.bi-balloon-fill::before { content: "\f706"; } +.bi-balloon-heart-fill::before { content: "\f707"; } +.bi-balloon-heart::before { content: "\f708"; } +.bi-balloon::before { content: "\f709"; } +.bi-box2-fill::before { content: "\f70a"; } +.bi-box2-heart-fill::before { content: "\f70b"; } +.bi-box2-heart::before { content: "\f70c"; } +.bi-box2::before { content: "\f70d"; } +.bi-braces-asterisk::before { content: "\f70e"; } +.bi-calendar-heart-fill::before { content: "\f70f"; } +.bi-calendar-heart::before { content: "\f710"; } +.bi-calendar2-heart-fill::before { content: "\f711"; } +.bi-calendar2-heart::before { content: "\f712"; } +.bi-chat-heart-fill::before { content: "\f713"; } +.bi-chat-heart::before { content: "\f714"; } +.bi-chat-left-heart-fill::before { content: "\f715"; } +.bi-chat-left-heart::before { content: "\f716"; } +.bi-chat-right-heart-fill::before { content: "\f717"; } +.bi-chat-right-heart::before { content: "\f718"; } +.bi-chat-square-heart-fill::before { content: "\f719"; } +.bi-chat-square-heart::before { content: "\f71a"; } +.bi-clipboard-check-fill::before { content: "\f71b"; } +.bi-clipboard-data-fill::before { content: "\f71c"; } +.bi-clipboard-fill::before { content: "\f71d"; } +.bi-clipboard-heart-fill::before { content: "\f71e"; } +.bi-clipboard-heart::before { content: "\f71f"; } +.bi-clipboard-minus-fill::before { content: "\f720"; } +.bi-clipboard-plus-fill::before { content: "\f721"; } +.bi-clipboard-pulse::before { content: "\f722"; } +.bi-clipboard-x-fill::before { content: "\f723"; } +.bi-clipboard2-check-fill::before { content: "\f724"; } +.bi-clipboard2-check::before { content: "\f725"; } +.bi-clipboard2-data-fill::before { content: "\f726"; } +.bi-clipboard2-data::before { content: "\f727"; } +.bi-clipboard2-fill::before { content: "\f728"; } +.bi-clipboard2-heart-fill::before { content: "\f729"; } +.bi-clipboard2-heart::before { content: "\f72a"; } +.bi-clipboard2-minus-fill::before { content: "\f72b"; } +.bi-clipboard2-minus::before { content: "\f72c"; } +.bi-clipboard2-plus-fill::before { content: "\f72d"; } +.bi-clipboard2-plus::before { content: "\f72e"; } +.bi-clipboard2-pulse-fill::before { content: "\f72f"; } +.bi-clipboard2-pulse::before { content: "\f730"; } +.bi-clipboard2-x-fill::before { content: "\f731"; } +.bi-clipboard2-x::before { content: "\f732"; } +.bi-clipboard2::before { content: "\f733"; } +.bi-emoji-kiss-fill::before { content: "\f734"; } +.bi-emoji-kiss::before { content: "\f735"; } +.bi-envelope-heart-fill::before { content: "\f736"; } +.bi-envelope-heart::before { content: "\f737"; } +.bi-envelope-open-heart-fill::before { content: "\f738"; } +.bi-envelope-open-heart::before { content: "\f739"; } +.bi-envelope-paper-fill::before { content: "\f73a"; } +.bi-envelope-paper-heart-fill::before { content: "\f73b"; } +.bi-envelope-paper-heart::before { content: "\f73c"; } +.bi-envelope-paper::before { content: "\f73d"; } +.bi-filetype-aac::before { content: "\f73e"; } +.bi-filetype-ai::before { content: "\f73f"; } +.bi-filetype-bmp::before { content: "\f740"; } +.bi-filetype-cs::before { content: "\f741"; } +.bi-filetype-css::before { content: "\f742"; } +.bi-filetype-csv::before { content: "\f743"; } +.bi-filetype-doc::before { content: "\f744"; } +.bi-filetype-docx::before { content: "\f745"; } +.bi-filetype-exe::before { content: "\f746"; } +.bi-filetype-gif::before { content: "\f747"; } +.bi-filetype-heic::before { content: "\f748"; } +.bi-filetype-html::before { content: "\f749"; } +.bi-filetype-java::before { content: "\f74a"; } +.bi-filetype-jpg::before { content: "\f74b"; } +.bi-filetype-js::before { content: "\f74c"; } +.bi-filetype-jsx::before { content: "\f74d"; } +.bi-filetype-key::before { content: "\f74e"; } +.bi-filetype-m4p::before { content: "\f74f"; } +.bi-filetype-md::before { content: "\f750"; } +.bi-filetype-mdx::before { content: "\f751"; } +.bi-filetype-mov::before { content: "\f752"; } +.bi-filetype-mp3::before { content: "\f753"; } +.bi-filetype-mp4::before { content: "\f754"; } +.bi-filetype-otf::before { content: "\f755"; } +.bi-filetype-pdf::before { content: "\f756"; } +.bi-filetype-php::before { content: "\f757"; } +.bi-filetype-png::before { content: "\f758"; } +.bi-filetype-ppt-1::before { content: "\f759"; } +.bi-filetype-ppt::before { content: "\f75a"; } +.bi-filetype-psd::before { content: "\f75b"; } +.bi-filetype-py::before { content: "\f75c"; } +.bi-filetype-raw::before { content: "\f75d"; } +.bi-filetype-rb::before { content: "\f75e"; } +.bi-filetype-sass::before { content: "\f75f"; } +.bi-filetype-scss::before { content: "\f760"; } +.bi-filetype-sh::before { content: "\f761"; } +.bi-filetype-svg::before { content: "\f762"; } +.bi-filetype-tiff::before { content: "\f763"; } +.bi-filetype-tsx::before { content: "\f764"; } +.bi-filetype-ttf::before { content: "\f765"; } +.bi-filetype-txt::before { content: "\f766"; } +.bi-filetype-wav::before { content: "\f767"; } +.bi-filetype-woff::before { content: "\f768"; } +.bi-filetype-xls-1::before { content: "\f769"; } +.bi-filetype-xls::before { content: "\f76a"; } +.bi-filetype-xml::before { content: "\f76b"; } +.bi-filetype-yml::before { content: "\f76c"; } +.bi-heart-arrow::before { content: "\f76d"; } +.bi-heart-pulse-fill::before { content: "\f76e"; } +.bi-heart-pulse::before { content: "\f76f"; } +.bi-heartbreak-fill::before { content: "\f770"; } +.bi-heartbreak::before { content: "\f771"; } +.bi-hearts::before { content: "\f772"; } +.bi-hospital-fill::before { content: "\f773"; } +.bi-hospital::before { content: "\f774"; } +.bi-house-heart-fill::before { content: "\f775"; } +.bi-house-heart::before { content: "\f776"; } +.bi-incognito::before { content: "\f777"; } +.bi-magnet-fill::before { content: "\f778"; } +.bi-magnet::before { content: "\f779"; } +.bi-person-heart::before { content: "\f77a"; } +.bi-person-hearts::before { content: "\f77b"; } +.bi-phone-flip::before { content: "\f77c"; } +.bi-plugin::before { content: "\f77d"; } +.bi-postage-fill::before { content: "\f77e"; } +.bi-postage-heart-fill::before { content: "\f77f"; } +.bi-postage-heart::before { content: "\f780"; } +.bi-postage::before { content: "\f781"; } +.bi-postcard-fill::before { content: "\f782"; } +.bi-postcard-heart-fill::before { content: "\f783"; } +.bi-postcard-heart::before { content: "\f784"; } +.bi-postcard::before { content: "\f785"; } +.bi-search-heart-fill::before { content: "\f786"; } +.bi-search-heart::before { content: "\f787"; } +.bi-sliders2-vertical::before { content: "\f788"; } +.bi-sliders2::before { content: "\f789"; } +.bi-trash3-fill::before { content: "\f78a"; } +.bi-trash3::before { content: "\f78b"; } +.bi-valentine::before { content: "\f78c"; } +.bi-valentine2::before { content: "\f78d"; } +.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } +.bi-wrench-adjustable-circle::before { content: "\f78f"; } +.bi-wrench-adjustable::before { content: "\f790"; } +.bi-filetype-json::before { content: "\f791"; } +.bi-filetype-pptx::before { content: "\f792"; } +.bi-filetype-xlsx::before { content: "\f793"; } +.bi-1-circle-1::before { content: "\f794"; } +.bi-1-circle-fill-1::before { content: "\f795"; } +.bi-1-circle-fill::before { content: "\f796"; } +.bi-1-circle::before { content: "\f797"; } +.bi-1-square-fill::before { content: "\f798"; } +.bi-1-square::before { content: "\f799"; } +.bi-2-circle-1::before { content: "\f79a"; } +.bi-2-circle-fill-1::before { content: "\f79b"; } +.bi-2-circle-fill::before { content: "\f79c"; } +.bi-2-circle::before { content: "\f79d"; } +.bi-2-square-fill::before { content: "\f79e"; } +.bi-2-square::before { content: "\f79f"; } +.bi-3-circle-1::before { content: "\f7a0"; } +.bi-3-circle-fill-1::before { content: "\f7a1"; } +.bi-3-circle-fill::before { content: "\f7a2"; } +.bi-3-circle::before { content: "\f7a3"; } +.bi-3-square-fill::before { content: "\f7a4"; } +.bi-3-square::before { content: "\f7a5"; } +.bi-4-circle-1::before { content: "\f7a6"; } +.bi-4-circle-fill-1::before { content: "\f7a7"; } +.bi-4-circle-fill::before { content: "\f7a8"; } +.bi-4-circle::before { content: "\f7a9"; } +.bi-4-square-fill::before { content: "\f7aa"; } +.bi-4-square::before { content: "\f7ab"; } +.bi-5-circle-1::before { content: "\f7ac"; } +.bi-5-circle-fill-1::before { content: "\f7ad"; } +.bi-5-circle-fill::before { content: "\f7ae"; } +.bi-5-circle::before { content: "\f7af"; } +.bi-5-square-fill::before { content: "\f7b0"; } +.bi-5-square::before { content: "\f7b1"; } +.bi-6-circle-1::before { content: "\f7b2"; } +.bi-6-circle-fill-1::before { content: "\f7b3"; } +.bi-6-circle-fill::before { content: "\f7b4"; } +.bi-6-circle::before { content: "\f7b5"; } +.bi-6-square-fill::before { content: "\f7b6"; } +.bi-6-square::before { content: "\f7b7"; } +.bi-7-circle-1::before { content: "\f7b8"; } +.bi-7-circle-fill-1::before { content: "\f7b9"; } +.bi-7-circle-fill::before { content: "\f7ba"; } +.bi-7-circle::before { content: "\f7bb"; } +.bi-7-square-fill::before { content: "\f7bc"; } +.bi-7-square::before { content: "\f7bd"; } +.bi-8-circle-1::before { content: "\f7be"; } +.bi-8-circle-fill-1::before { content: "\f7bf"; } +.bi-8-circle-fill::before { content: "\f7c0"; } +.bi-8-circle::before { content: "\f7c1"; } +.bi-8-square-fill::before { content: "\f7c2"; } +.bi-8-square::before { content: "\f7c3"; } +.bi-9-circle-1::before { content: "\f7c4"; } +.bi-9-circle-fill-1::before { content: "\f7c5"; } +.bi-9-circle-fill::before { content: "\f7c6"; } +.bi-9-circle::before { content: "\f7c7"; } +.bi-9-square-fill::before { content: "\f7c8"; } +.bi-9-square::before { content: "\f7c9"; } +.bi-airplane-engines-fill::before { content: "\f7ca"; } +.bi-airplane-engines::before { content: "\f7cb"; } +.bi-airplane-fill::before { content: "\f7cc"; } +.bi-airplane::before { content: "\f7cd"; } +.bi-alexa::before { content: "\f7ce"; } +.bi-alipay::before { content: "\f7cf"; } +.bi-android::before { content: "\f7d0"; } +.bi-android2::before { content: "\f7d1"; } +.bi-box-fill::before { content: "\f7d2"; } +.bi-box-seam-fill::before { content: "\f7d3"; } +.bi-browser-chrome::before { content: "\f7d4"; } +.bi-browser-edge::before { content: "\f7d5"; } +.bi-browser-firefox::before { content: "\f7d6"; } +.bi-browser-safari::before { content: "\f7d7"; } +.bi-c-circle-1::before { content: "\f7d8"; } +.bi-c-circle-fill-1::before { content: "\f7d9"; } +.bi-c-circle-fill::before { content: "\f7da"; } +.bi-c-circle::before { content: "\f7db"; } +.bi-c-square-fill::before { content: "\f7dc"; } +.bi-c-square::before { content: "\f7dd"; } +.bi-capsule-pill::before { content: "\f7de"; } +.bi-capsule::before { content: "\f7df"; } +.bi-car-front-fill::before { content: "\f7e0"; } +.bi-car-front::before { content: "\f7e1"; } +.bi-cassette-fill::before { content: "\f7e2"; } +.bi-cassette::before { content: "\f7e3"; } +.bi-cc-circle-1::before { content: "\f7e4"; } +.bi-cc-circle-fill-1::before { content: "\f7e5"; } +.bi-cc-circle-fill::before { content: "\f7e6"; } +.bi-cc-circle::before { content: "\f7e7"; } +.bi-cc-square-fill::before { content: "\f7e8"; } +.bi-cc-square::before { content: "\f7e9"; } +.bi-cup-hot-fill::before { content: "\f7ea"; } +.bi-cup-hot::before { content: "\f7eb"; } +.bi-currency-rupee::before { content: "\f7ec"; } +.bi-dropbox::before { content: "\f7ed"; } +.bi-escape::before { content: "\f7ee"; } +.bi-fast-forward-btn-fill::before { content: "\f7ef"; } +.bi-fast-forward-btn::before { content: "\f7f0"; } +.bi-fast-forward-circle-fill::before { content: "\f7f1"; } +.bi-fast-forward-circle::before { content: "\f7f2"; } +.bi-fast-forward-fill::before { content: "\f7f3"; } +.bi-fast-forward::before { content: "\f7f4"; } +.bi-filetype-sql::before { content: "\f7f5"; } +.bi-fire::before { content: "\f7f6"; } +.bi-google-play::before { content: "\f7f7"; } +.bi-h-circle-1::before { content: "\f7f8"; } +.bi-h-circle-fill-1::before { content: "\f7f9"; } +.bi-h-circle-fill::before { content: "\f7fa"; } +.bi-h-circle::before { content: "\f7fb"; } +.bi-h-square-fill::before { content: "\f7fc"; } +.bi-h-square::before { content: "\f7fd"; } +.bi-indent::before { content: "\f7fe"; } +.bi-lungs-fill::before { content: "\f7ff"; } +.bi-lungs::before { content: "\f800"; } +.bi-microsoft-teams::before { content: "\f801"; } +.bi-p-circle-1::before { content: "\f802"; } +.bi-p-circle-fill-1::before { content: "\f803"; } +.bi-p-circle-fill::before { content: "\f804"; } +.bi-p-circle::before { content: "\f805"; } +.bi-p-square-fill::before { content: "\f806"; } +.bi-p-square::before { content: "\f807"; } +.bi-pass-fill::before { content: "\f808"; } +.bi-pass::before { content: "\f809"; } +.bi-prescription::before { content: "\f80a"; } +.bi-prescription2::before { content: "\f80b"; } +.bi-r-circle-1::before { content: "\f80c"; } +.bi-r-circle-fill-1::before { content: "\f80d"; } +.bi-r-circle-fill::before { content: "\f80e"; } +.bi-r-circle::before { content: "\f80f"; } +.bi-r-square-fill::before { content: "\f810"; } +.bi-r-square::before { content: "\f811"; } +.bi-repeat-1::before { content: "\f812"; } +.bi-repeat::before { content: "\f813"; } +.bi-rewind-btn-fill::before { content: "\f814"; } +.bi-rewind-btn::before { content: "\f815"; } +.bi-rewind-circle-fill::before { content: "\f816"; } +.bi-rewind-circle::before { content: "\f817"; } +.bi-rewind-fill::before { content: "\f818"; } +.bi-rewind::before { content: "\f819"; } +.bi-train-freight-front-fill::before { content: "\f81a"; } +.bi-train-freight-front::before { content: "\f81b"; } +.bi-train-front-fill::before { content: "\f81c"; } +.bi-train-front::before { content: "\f81d"; } +.bi-train-lightrail-front-fill::before { content: "\f81e"; } +.bi-train-lightrail-front::before { content: "\f81f"; } +.bi-truck-front-fill::before { content: "\f820"; } +.bi-truck-front::before { content: "\f821"; } +.bi-ubuntu::before { content: "\f822"; } +.bi-unindent::before { content: "\f823"; } +.bi-unity::before { content: "\f824"; } +.bi-universal-access-circle::before { content: "\f825"; } +.bi-universal-access::before { content: "\f826"; } +.bi-virus::before { content: "\f827"; } +.bi-virus2::before { content: "\f828"; } +.bi-wechat::before { content: "\f829"; } +.bi-yelp::before { content: "\f82a"; } +.bi-sign-stop-fill::before { content: "\f82b"; } +.bi-sign-stop-lights-fill::before { content: "\f82c"; } +.bi-sign-stop-lights::before { content: "\f82d"; } +.bi-sign-stop::before { content: "\f82e"; } +.bi-sign-turn-left-fill::before { content: "\f82f"; } +.bi-sign-turn-left::before { content: "\f830"; } +.bi-sign-turn-right-fill::before { content: "\f831"; } +.bi-sign-turn-right::before { content: "\f832"; } +.bi-sign-turn-slight-left-fill::before { content: "\f833"; } +.bi-sign-turn-slight-left::before { content: "\f834"; } +.bi-sign-turn-slight-right-fill::before { content: "\f835"; } +.bi-sign-turn-slight-right::before { content: "\f836"; } +.bi-sign-yield-fill::before { content: "\f837"; } +.bi-sign-yield::before { content: "\f838"; } +.bi-ev-station-fill::before { content: "\f839"; } +.bi-ev-station::before { content: "\f83a"; } +.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } +.bi-fuel-pump-diesel::before { content: "\f83c"; } +.bi-fuel-pump-fill::before { content: "\f83d"; } +.bi-fuel-pump::before { content: "\f83e"; } diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.json b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.json new file mode 100644 index 000000000..faa3b2ce7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.json @@ -0,0 +1,1856 @@ +{ + "123": 63103, + "alarm-fill": 61697, + "alarm": 61698, + "align-bottom": 61699, + "align-center": 61700, + "align-end": 61701, + "align-middle": 61702, + "align-start": 61703, + "align-top": 61704, + "alt": 61705, + "app-indicator": 61706, + "app": 61707, + "archive-fill": 61708, + "archive": 61709, + "arrow-90deg-down": 61710, + "arrow-90deg-left": 61711, + "arrow-90deg-right": 61712, + "arrow-90deg-up": 61713, + "arrow-bar-down": 61714, + "arrow-bar-left": 61715, + "arrow-bar-right": 61716, + "arrow-bar-up": 61717, + "arrow-clockwise": 61718, + "arrow-counterclockwise": 61719, + "arrow-down-circle-fill": 61720, + "arrow-down-circle": 61721, + "arrow-down-left-circle-fill": 61722, + "arrow-down-left-circle": 61723, + "arrow-down-left-square-fill": 61724, + "arrow-down-left-square": 61725, + "arrow-down-left": 61726, + "arrow-down-right-circle-fill": 61727, + "arrow-down-right-circle": 61728, + "arrow-down-right-square-fill": 61729, + "arrow-down-right-square": 61730, + "arrow-down-right": 61731, + "arrow-down-short": 61732, + "arrow-down-square-fill": 61733, + "arrow-down-square": 61734, + "arrow-down-up": 61735, + "arrow-down": 61736, + "arrow-left-circle-fill": 61737, + "arrow-left-circle": 61738, + "arrow-left-right": 61739, + "arrow-left-short": 61740, + "arrow-left-square-fill": 61741, + "arrow-left-square": 61742, + "arrow-left": 61743, + "arrow-repeat": 61744, + "arrow-return-left": 61745, + "arrow-return-right": 61746, + "arrow-right-circle-fill": 61747, + "arrow-right-circle": 61748, + "arrow-right-short": 61749, + "arrow-right-square-fill": 61750, + "arrow-right-square": 61751, + "arrow-right": 61752, + "arrow-up-circle-fill": 61753, + "arrow-up-circle": 61754, + "arrow-up-left-circle-fill": 61755, + "arrow-up-left-circle": 61756, + "arrow-up-left-square-fill": 61757, + "arrow-up-left-square": 61758, + "arrow-up-left": 61759, + "arrow-up-right-circle-fill": 61760, + "arrow-up-right-circle": 61761, + "arrow-up-right-square-fill": 61762, + "arrow-up-right-square": 61763, + "arrow-up-right": 61764, + "arrow-up-short": 61765, + "arrow-up-square-fill": 61766, + "arrow-up-square": 61767, + "arrow-up": 61768, + "arrows-angle-contract": 61769, + "arrows-angle-expand": 61770, + "arrows-collapse": 61771, + "arrows-expand": 61772, + "arrows-fullscreen": 61773, + "arrows-move": 61774, + "aspect-ratio-fill": 61775, + "aspect-ratio": 61776, + "asterisk": 61777, + "at": 61778, + "award-fill": 61779, + "award": 61780, + "back": 61781, + "backspace-fill": 61782, + "backspace-reverse-fill": 61783, + "backspace-reverse": 61784, + "backspace": 61785, + "badge-3d-fill": 61786, + "badge-3d": 61787, + "badge-4k-fill": 61788, + "badge-4k": 61789, + "badge-8k-fill": 61790, + "badge-8k": 61791, + "badge-ad-fill": 61792, + "badge-ad": 61793, + "badge-ar-fill": 61794, + "badge-ar": 61795, + "badge-cc-fill": 61796, + "badge-cc": 61797, + "badge-hd-fill": 61798, + "badge-hd": 61799, + "badge-tm-fill": 61800, + "badge-tm": 61801, + "badge-vo-fill": 61802, + "badge-vo": 61803, + "badge-vr-fill": 61804, + "badge-vr": 61805, + "badge-wc-fill": 61806, + "badge-wc": 61807, + "bag-check-fill": 61808, + "bag-check": 61809, + "bag-dash-fill": 61810, + "bag-dash": 61811, + "bag-fill": 61812, + "bag-plus-fill": 61813, + "bag-plus": 61814, + "bag-x-fill": 61815, + "bag-x": 61816, + "bag": 61817, + "bar-chart-fill": 61818, + "bar-chart-line-fill": 61819, + "bar-chart-line": 61820, + "bar-chart-steps": 61821, + "bar-chart": 61822, + "basket-fill": 61823, + "basket": 61824, + "basket2-fill": 61825, + "basket2": 61826, + "basket3-fill": 61827, + "basket3": 61828, + "battery-charging": 61829, + "battery-full": 61830, + "battery-half": 61831, + "battery": 61832, + "bell-fill": 61833, + "bell": 61834, + "bezier": 61835, + "bezier2": 61836, + "bicycle": 61837, + "binoculars-fill": 61838, + "binoculars": 61839, + "blockquote-left": 61840, + "blockquote-right": 61841, + "book-fill": 61842, + "book-half": 61843, + "book": 61844, + "bookmark-check-fill": 61845, + "bookmark-check": 61846, + "bookmark-dash-fill": 61847, + "bookmark-dash": 61848, + "bookmark-fill": 61849, + "bookmark-heart-fill": 61850, + "bookmark-heart": 61851, + "bookmark-plus-fill": 61852, + "bookmark-plus": 61853, + "bookmark-star-fill": 61854, + "bookmark-star": 61855, + "bookmark-x-fill": 61856, + "bookmark-x": 61857, + "bookmark": 61858, + "bookmarks-fill": 61859, + "bookmarks": 61860, + "bookshelf": 61861, + "bootstrap-fill": 61862, + "bootstrap-reboot": 61863, + "bootstrap": 61864, + "border-all": 61865, + "border-bottom": 61866, + "border-center": 61867, + "border-inner": 61868, + "border-left": 61869, + "border-middle": 61870, + "border-outer": 61871, + "border-right": 61872, + "border-style": 61873, + "border-top": 61874, + "border-width": 61875, + "border": 61876, + "bounding-box-circles": 61877, + "bounding-box": 61878, + "box-arrow-down-left": 61879, + "box-arrow-down-right": 61880, + "box-arrow-down": 61881, + "box-arrow-in-down-left": 61882, + "box-arrow-in-down-right": 61883, + "box-arrow-in-down": 61884, + "box-arrow-in-left": 61885, + "box-arrow-in-right": 61886, + "box-arrow-in-up-left": 61887, + "box-arrow-in-up-right": 61888, + "box-arrow-in-up": 61889, + "box-arrow-left": 61890, + "box-arrow-right": 61891, + "box-arrow-up-left": 61892, + "box-arrow-up-right": 61893, + "box-arrow-up": 61894, + "box-seam": 61895, + "box": 61896, + "braces": 61897, + "bricks": 61898, + "briefcase-fill": 61899, + "briefcase": 61900, + "brightness-alt-high-fill": 61901, + "brightness-alt-high": 61902, + "brightness-alt-low-fill": 61903, + "brightness-alt-low": 61904, + "brightness-high-fill": 61905, + "brightness-high": 61906, + "brightness-low-fill": 61907, + "brightness-low": 61908, + "broadcast-pin": 61909, + "broadcast": 61910, + "brush-fill": 61911, + "brush": 61912, + "bucket-fill": 61913, + "bucket": 61914, + "bug-fill": 61915, + "bug": 61916, + "building": 61917, + "bullseye": 61918, + "calculator-fill": 61919, + "calculator": 61920, + "calendar-check-fill": 61921, + "calendar-check": 61922, + "calendar-date-fill": 61923, + "calendar-date": 61924, + "calendar-day-fill": 61925, + "calendar-day": 61926, + "calendar-event-fill": 61927, + "calendar-event": 61928, + "calendar-fill": 61929, + "calendar-minus-fill": 61930, + "calendar-minus": 61931, + "calendar-month-fill": 61932, + "calendar-month": 61933, + "calendar-plus-fill": 61934, + "calendar-plus": 61935, + "calendar-range-fill": 61936, + "calendar-range": 61937, + "calendar-week-fill": 61938, + "calendar-week": 61939, + "calendar-x-fill": 61940, + "calendar-x": 61941, + "calendar": 61942, + "calendar2-check-fill": 61943, + "calendar2-check": 61944, + "calendar2-date-fill": 61945, + "calendar2-date": 61946, + "calendar2-day-fill": 61947, + "calendar2-day": 61948, + "calendar2-event-fill": 61949, + "calendar2-event": 61950, + "calendar2-fill": 61951, + "calendar2-minus-fill": 61952, + "calendar2-minus": 61953, + "calendar2-month-fill": 61954, + "calendar2-month": 61955, + "calendar2-plus-fill": 61956, + "calendar2-plus": 61957, + "calendar2-range-fill": 61958, + "calendar2-range": 61959, + "calendar2-week-fill": 61960, + "calendar2-week": 61961, + "calendar2-x-fill": 61962, + "calendar2-x": 61963, + "calendar2": 61964, + "calendar3-event-fill": 61965, + "calendar3-event": 61966, + "calendar3-fill": 61967, + "calendar3-range-fill": 61968, + "calendar3-range": 61969, + "calendar3-week-fill": 61970, + "calendar3-week": 61971, + "calendar3": 61972, + "calendar4-event": 61973, + "calendar4-range": 61974, + "calendar4-week": 61975, + "calendar4": 61976, + "camera-fill": 61977, + "camera-reels-fill": 61978, + "camera-reels": 61979, + "camera-video-fill": 61980, + "camera-video-off-fill": 61981, + "camera-video-off": 61982, + "camera-video": 61983, + "camera": 61984, + "camera2": 61985, + "capslock-fill": 61986, + "capslock": 61987, + "card-checklist": 61988, + "card-heading": 61989, + "card-image": 61990, + "card-list": 61991, + "card-text": 61992, + "caret-down-fill": 61993, + "caret-down-square-fill": 61994, + "caret-down-square": 61995, + "caret-down": 61996, + "caret-left-fill": 61997, + "caret-left-square-fill": 61998, + "caret-left-square": 61999, + "caret-left": 62000, + "caret-right-fill": 62001, + "caret-right-square-fill": 62002, + "caret-right-square": 62003, + "caret-right": 62004, + "caret-up-fill": 62005, + "caret-up-square-fill": 62006, + "caret-up-square": 62007, + "caret-up": 62008, + "cart-check-fill": 62009, + "cart-check": 62010, + "cart-dash-fill": 62011, + "cart-dash": 62012, + "cart-fill": 62013, + "cart-plus-fill": 62014, + "cart-plus": 62015, + "cart-x-fill": 62016, + "cart-x": 62017, + "cart": 62018, + "cart2": 62019, + "cart3": 62020, + "cart4": 62021, + "cash-stack": 62022, + "cash": 62023, + "cast": 62024, + "chat-dots-fill": 62025, + "chat-dots": 62026, + "chat-fill": 62027, + "chat-left-dots-fill": 62028, + "chat-left-dots": 62029, + "chat-left-fill": 62030, + "chat-left-quote-fill": 62031, + "chat-left-quote": 62032, + "chat-left-text-fill": 62033, + "chat-left-text": 62034, + "chat-left": 62035, + "chat-quote-fill": 62036, + "chat-quote": 62037, + "chat-right-dots-fill": 62038, + "chat-right-dots": 62039, + "chat-right-fill": 62040, + "chat-right-quote-fill": 62041, + "chat-right-quote": 62042, + "chat-right-text-fill": 62043, + "chat-right-text": 62044, + "chat-right": 62045, + "chat-square-dots-fill": 62046, + "chat-square-dots": 62047, + "chat-square-fill": 62048, + "chat-square-quote-fill": 62049, + "chat-square-quote": 62050, + "chat-square-text-fill": 62051, + "chat-square-text": 62052, + "chat-square": 62053, + "chat-text-fill": 62054, + "chat-text": 62055, + "chat": 62056, + "check-all": 62057, + "check-circle-fill": 62058, + "check-circle": 62059, + "check-square-fill": 62060, + "check-square": 62061, + "check": 62062, + "check2-all": 62063, + "check2-circle": 62064, + "check2-square": 62065, + "check2": 62066, + "chevron-bar-contract": 62067, + "chevron-bar-down": 62068, + "chevron-bar-expand": 62069, + "chevron-bar-left": 62070, + "chevron-bar-right": 62071, + "chevron-bar-up": 62072, + "chevron-compact-down": 62073, + "chevron-compact-left": 62074, + "chevron-compact-right": 62075, + "chevron-compact-up": 62076, + "chevron-contract": 62077, + "chevron-double-down": 62078, + "chevron-double-left": 62079, + "chevron-double-right": 62080, + "chevron-double-up": 62081, + "chevron-down": 62082, + "chevron-expand": 62083, + "chevron-left": 62084, + "chevron-right": 62085, + "chevron-up": 62086, + "circle-fill": 62087, + "circle-half": 62088, + "circle-square": 62089, + "circle": 62090, + "clipboard-check": 62091, + "clipboard-data": 62092, + "clipboard-minus": 62093, + "clipboard-plus": 62094, + "clipboard-x": 62095, + "clipboard": 62096, + "clock-fill": 62097, + "clock-history": 62098, + "clock": 62099, + "cloud-arrow-down-fill": 62100, + "cloud-arrow-down": 62101, + "cloud-arrow-up-fill": 62102, + "cloud-arrow-up": 62103, + "cloud-check-fill": 62104, + "cloud-check": 62105, + "cloud-download-fill": 62106, + "cloud-download": 62107, + "cloud-drizzle-fill": 62108, + "cloud-drizzle": 62109, + "cloud-fill": 62110, + "cloud-fog-fill": 62111, + "cloud-fog": 62112, + "cloud-fog2-fill": 62113, + "cloud-fog2": 62114, + "cloud-hail-fill": 62115, + "cloud-hail": 62116, + "cloud-haze-1": 62117, + "cloud-haze-fill": 62118, + "cloud-haze": 62119, + "cloud-haze2-fill": 62120, + "cloud-lightning-fill": 62121, + "cloud-lightning-rain-fill": 62122, + "cloud-lightning-rain": 62123, + "cloud-lightning": 62124, + "cloud-minus-fill": 62125, + "cloud-minus": 62126, + "cloud-moon-fill": 62127, + "cloud-moon": 62128, + "cloud-plus-fill": 62129, + "cloud-plus": 62130, + "cloud-rain-fill": 62131, + "cloud-rain-heavy-fill": 62132, + "cloud-rain-heavy": 62133, + "cloud-rain": 62134, + "cloud-slash-fill": 62135, + "cloud-slash": 62136, + "cloud-sleet-fill": 62137, + "cloud-sleet": 62138, + "cloud-snow-fill": 62139, + "cloud-snow": 62140, + "cloud-sun-fill": 62141, + "cloud-sun": 62142, + "cloud-upload-fill": 62143, + "cloud-upload": 62144, + "cloud": 62145, + "clouds-fill": 62146, + "clouds": 62147, + "cloudy-fill": 62148, + "cloudy": 62149, + "code-slash": 62150, + "code-square": 62151, + "code": 62152, + "collection-fill": 62153, + "collection-play-fill": 62154, + "collection-play": 62155, + "collection": 62156, + "columns-gap": 62157, + "columns": 62158, + "command": 62159, + "compass-fill": 62160, + "compass": 62161, + "cone-striped": 62162, + "cone": 62163, + "controller": 62164, + "cpu-fill": 62165, + "cpu": 62166, + "credit-card-2-back-fill": 62167, + "credit-card-2-back": 62168, + "credit-card-2-front-fill": 62169, + "credit-card-2-front": 62170, + "credit-card-fill": 62171, + "credit-card": 62172, + "crop": 62173, + "cup-fill": 62174, + "cup-straw": 62175, + "cup": 62176, + "cursor-fill": 62177, + "cursor-text": 62178, + "cursor": 62179, + "dash-circle-dotted": 62180, + "dash-circle-fill": 62181, + "dash-circle": 62182, + "dash-square-dotted": 62183, + "dash-square-fill": 62184, + "dash-square": 62185, + "dash": 62186, + "diagram-2-fill": 62187, + "diagram-2": 62188, + "diagram-3-fill": 62189, + "diagram-3": 62190, + "diamond-fill": 62191, + "diamond-half": 62192, + "diamond": 62193, + "dice-1-fill": 62194, + "dice-1": 62195, + "dice-2-fill": 62196, + "dice-2": 62197, + "dice-3-fill": 62198, + "dice-3": 62199, + "dice-4-fill": 62200, + "dice-4": 62201, + "dice-5-fill": 62202, + "dice-5": 62203, + "dice-6-fill": 62204, + "dice-6": 62205, + "disc-fill": 62206, + "disc": 62207, + "discord": 62208, + "display-fill": 62209, + "display": 62210, + "distribute-horizontal": 62211, + "distribute-vertical": 62212, + "door-closed-fill": 62213, + "door-closed": 62214, + "door-open-fill": 62215, + "door-open": 62216, + "dot": 62217, + "download": 62218, + "droplet-fill": 62219, + "droplet-half": 62220, + "droplet": 62221, + "earbuds": 62222, + "easel-fill": 62223, + "easel": 62224, + "egg-fill": 62225, + "egg-fried": 62226, + "egg": 62227, + "eject-fill": 62228, + "eject": 62229, + "emoji-angry-fill": 62230, + "emoji-angry": 62231, + "emoji-dizzy-fill": 62232, + "emoji-dizzy": 62233, + "emoji-expressionless-fill": 62234, + "emoji-expressionless": 62235, + "emoji-frown-fill": 62236, + "emoji-frown": 62237, + "emoji-heart-eyes-fill": 62238, + "emoji-heart-eyes": 62239, + "emoji-laughing-fill": 62240, + "emoji-laughing": 62241, + "emoji-neutral-fill": 62242, + "emoji-neutral": 62243, + "emoji-smile-fill": 62244, + "emoji-smile-upside-down-fill": 62245, + "emoji-smile-upside-down": 62246, + "emoji-smile": 62247, + "emoji-sunglasses-fill": 62248, + "emoji-sunglasses": 62249, + "emoji-wink-fill": 62250, + "emoji-wink": 62251, + "envelope-fill": 62252, + "envelope-open-fill": 62253, + "envelope-open": 62254, + "envelope": 62255, + "eraser-fill": 62256, + "eraser": 62257, + "exclamation-circle-fill": 62258, + "exclamation-circle": 62259, + "exclamation-diamond-fill": 62260, + "exclamation-diamond": 62261, + "exclamation-octagon-fill": 62262, + "exclamation-octagon": 62263, + "exclamation-square-fill": 62264, + "exclamation-square": 62265, + "exclamation-triangle-fill": 62266, + "exclamation-triangle": 62267, + "exclamation": 62268, + "exclude": 62269, + "eye-fill": 62270, + "eye-slash-fill": 62271, + "eye-slash": 62272, + "eye": 62273, + "eyedropper": 62274, + "eyeglasses": 62275, + "facebook": 62276, + "file-arrow-down-fill": 62277, + "file-arrow-down": 62278, + "file-arrow-up-fill": 62279, + "file-arrow-up": 62280, + "file-bar-graph-fill": 62281, + "file-bar-graph": 62282, + "file-binary-fill": 62283, + "file-binary": 62284, + "file-break-fill": 62285, + "file-break": 62286, + "file-check-fill": 62287, + "file-check": 62288, + "file-code-fill": 62289, + "file-code": 62290, + "file-diff-fill": 62291, + "file-diff": 62292, + "file-earmark-arrow-down-fill": 62293, + "file-earmark-arrow-down": 62294, + "file-earmark-arrow-up-fill": 62295, + "file-earmark-arrow-up": 62296, + "file-earmark-bar-graph-fill": 62297, + "file-earmark-bar-graph": 62298, + "file-earmark-binary-fill": 62299, + "file-earmark-binary": 62300, + "file-earmark-break-fill": 62301, + "file-earmark-break": 62302, + "file-earmark-check-fill": 62303, + "file-earmark-check": 62304, + "file-earmark-code-fill": 62305, + "file-earmark-code": 62306, + "file-earmark-diff-fill": 62307, + "file-earmark-diff": 62308, + "file-earmark-easel-fill": 62309, + "file-earmark-easel": 62310, + "file-earmark-excel-fill": 62311, + "file-earmark-excel": 62312, + "file-earmark-fill": 62313, + "file-earmark-font-fill": 62314, + "file-earmark-font": 62315, + "file-earmark-image-fill": 62316, + "file-earmark-image": 62317, + "file-earmark-lock-fill": 62318, + "file-earmark-lock": 62319, + "file-earmark-lock2-fill": 62320, + "file-earmark-lock2": 62321, + "file-earmark-medical-fill": 62322, + "file-earmark-medical": 62323, + "file-earmark-minus-fill": 62324, + "file-earmark-minus": 62325, + "file-earmark-music-fill": 62326, + "file-earmark-music": 62327, + "file-earmark-person-fill": 62328, + "file-earmark-person": 62329, + "file-earmark-play-fill": 62330, + "file-earmark-play": 62331, + "file-earmark-plus-fill": 62332, + "file-earmark-plus": 62333, + "file-earmark-post-fill": 62334, + "file-earmark-post": 62335, + "file-earmark-ppt-fill": 62336, + "file-earmark-ppt": 62337, + "file-earmark-richtext-fill": 62338, + "file-earmark-richtext": 62339, + "file-earmark-ruled-fill": 62340, + "file-earmark-ruled": 62341, + "file-earmark-slides-fill": 62342, + "file-earmark-slides": 62343, + "file-earmark-spreadsheet-fill": 62344, + "file-earmark-spreadsheet": 62345, + "file-earmark-text-fill": 62346, + "file-earmark-text": 62347, + "file-earmark-word-fill": 62348, + "file-earmark-word": 62349, + "file-earmark-x-fill": 62350, + "file-earmark-x": 62351, + "file-earmark-zip-fill": 62352, + "file-earmark-zip": 62353, + "file-earmark": 62354, + "file-easel-fill": 62355, + "file-easel": 62356, + "file-excel-fill": 62357, + "file-excel": 62358, + "file-fill": 62359, + "file-font-fill": 62360, + "file-font": 62361, + "file-image-fill": 62362, + "file-image": 62363, + "file-lock-fill": 62364, + "file-lock": 62365, + "file-lock2-fill": 62366, + "file-lock2": 62367, + "file-medical-fill": 62368, + "file-medical": 62369, + "file-minus-fill": 62370, + "file-minus": 62371, + "file-music-fill": 62372, + "file-music": 62373, + "file-person-fill": 62374, + "file-person": 62375, + "file-play-fill": 62376, + "file-play": 62377, + "file-plus-fill": 62378, + "file-plus": 62379, + "file-post-fill": 62380, + "file-post": 62381, + "file-ppt-fill": 62382, + "file-ppt": 62383, + "file-richtext-fill": 62384, + "file-richtext": 62385, + "file-ruled-fill": 62386, + "file-ruled": 62387, + "file-slides-fill": 62388, + "file-slides": 62389, + "file-spreadsheet-fill": 62390, + "file-spreadsheet": 62391, + "file-text-fill": 62392, + "file-text": 62393, + "file-word-fill": 62394, + "file-word": 62395, + "file-x-fill": 62396, + "file-x": 62397, + "file-zip-fill": 62398, + "file-zip": 62399, + "file": 62400, + "files-alt": 62401, + "files": 62402, + "film": 62403, + "filter-circle-fill": 62404, + "filter-circle": 62405, + "filter-left": 62406, + "filter-right": 62407, + "filter-square-fill": 62408, + "filter-square": 62409, + "filter": 62410, + "flag-fill": 62411, + "flag": 62412, + "flower1": 62413, + "flower2": 62414, + "flower3": 62415, + "folder-check": 62416, + "folder-fill": 62417, + "folder-minus": 62418, + "folder-plus": 62419, + "folder-symlink-fill": 62420, + "folder-symlink": 62421, + "folder-x": 62422, + "folder": 62423, + "folder2-open": 62424, + "folder2": 62425, + "fonts": 62426, + "forward-fill": 62427, + "forward": 62428, + "front": 62429, + "fullscreen-exit": 62430, + "fullscreen": 62431, + "funnel-fill": 62432, + "funnel": 62433, + "gear-fill": 62434, + "gear-wide-connected": 62435, + "gear-wide": 62436, + "gear": 62437, + "gem": 62438, + "geo-alt-fill": 62439, + "geo-alt": 62440, + "geo-fill": 62441, + "geo": 62442, + "gift-fill": 62443, + "gift": 62444, + "github": 62445, + "globe": 62446, + "globe2": 62447, + "google": 62448, + "graph-down": 62449, + "graph-up": 62450, + "grid-1x2-fill": 62451, + "grid-1x2": 62452, + "grid-3x2-gap-fill": 62453, + "grid-3x2-gap": 62454, + "grid-3x2": 62455, + "grid-3x3-gap-fill": 62456, + "grid-3x3-gap": 62457, + "grid-3x3": 62458, + "grid-fill": 62459, + "grid": 62460, + "grip-horizontal": 62461, + "grip-vertical": 62462, + "hammer": 62463, + "hand-index-fill": 62464, + "hand-index-thumb-fill": 62465, + "hand-index-thumb": 62466, + "hand-index": 62467, + "hand-thumbs-down-fill": 62468, + "hand-thumbs-down": 62469, + "hand-thumbs-up-fill": 62470, + "hand-thumbs-up": 62471, + "handbag-fill": 62472, + "handbag": 62473, + "hash": 62474, + "hdd-fill": 62475, + "hdd-network-fill": 62476, + "hdd-network": 62477, + "hdd-rack-fill": 62478, + "hdd-rack": 62479, + "hdd-stack-fill": 62480, + "hdd-stack": 62481, + "hdd": 62482, + "headphones": 62483, + "headset": 62484, + "heart-fill": 62485, + "heart-half": 62486, + "heart": 62487, + "heptagon-fill": 62488, + "heptagon-half": 62489, + "heptagon": 62490, + "hexagon-fill": 62491, + "hexagon-half": 62492, + "hexagon": 62493, + "hourglass-bottom": 62494, + "hourglass-split": 62495, + "hourglass-top": 62496, + "hourglass": 62497, + "house-door-fill": 62498, + "house-door": 62499, + "house-fill": 62500, + "house": 62501, + "hr": 62502, + "hurricane": 62503, + "image-alt": 62504, + "image-fill": 62505, + "image": 62506, + "images": 62507, + "inbox-fill": 62508, + "inbox": 62509, + "inboxes-fill": 62510, + "inboxes": 62511, + "info-circle-fill": 62512, + "info-circle": 62513, + "info-square-fill": 62514, + "info-square": 62515, + "info": 62516, + "input-cursor-text": 62517, + "input-cursor": 62518, + "instagram": 62519, + "intersect": 62520, + "journal-album": 62521, + "journal-arrow-down": 62522, + "journal-arrow-up": 62523, + "journal-bookmark-fill": 62524, + "journal-bookmark": 62525, + "journal-check": 62526, + "journal-code": 62527, + "journal-medical": 62528, + "journal-minus": 62529, + "journal-plus": 62530, + "journal-richtext": 62531, + "journal-text": 62532, + "journal-x": 62533, + "journal": 62534, + "journals": 62535, + "joystick": 62536, + "justify-left": 62537, + "justify-right": 62538, + "justify": 62539, + "kanban-fill": 62540, + "kanban": 62541, + "key-fill": 62542, + "key": 62543, + "keyboard-fill": 62544, + "keyboard": 62545, + "ladder": 62546, + "lamp-fill": 62547, + "lamp": 62548, + "laptop-fill": 62549, + "laptop": 62550, + "layer-backward": 62551, + "layer-forward": 62552, + "layers-fill": 62553, + "layers-half": 62554, + "layers": 62555, + "layout-sidebar-inset-reverse": 62556, + "layout-sidebar-inset": 62557, + "layout-sidebar-reverse": 62558, + "layout-sidebar": 62559, + "layout-split": 62560, + "layout-text-sidebar-reverse": 62561, + "layout-text-sidebar": 62562, + "layout-text-window-reverse": 62563, + "layout-text-window": 62564, + "layout-three-columns": 62565, + "layout-wtf": 62566, + "life-preserver": 62567, + "lightbulb-fill": 62568, + "lightbulb-off-fill": 62569, + "lightbulb-off": 62570, + "lightbulb": 62571, + "lightning-charge-fill": 62572, + "lightning-charge": 62573, + "lightning-fill": 62574, + "lightning": 62575, + "link-45deg": 62576, + "link": 62577, + "linkedin": 62578, + "list-check": 62579, + "list-nested": 62580, + "list-ol": 62581, + "list-stars": 62582, + "list-task": 62583, + "list-ul": 62584, + "list": 62585, + "lock-fill": 62586, + "lock": 62587, + "mailbox": 62588, + "mailbox2": 62589, + "map-fill": 62590, + "map": 62591, + "markdown-fill": 62592, + "markdown": 62593, + "mask": 62594, + "megaphone-fill": 62595, + "megaphone": 62596, + "menu-app-fill": 62597, + "menu-app": 62598, + "menu-button-fill": 62599, + "menu-button-wide-fill": 62600, + "menu-button-wide": 62601, + "menu-button": 62602, + "menu-down": 62603, + "menu-up": 62604, + "mic-fill": 62605, + "mic-mute-fill": 62606, + "mic-mute": 62607, + "mic": 62608, + "minecart-loaded": 62609, + "minecart": 62610, + "moisture": 62611, + "moon-fill": 62612, + "moon-stars-fill": 62613, + "moon-stars": 62614, + "moon": 62615, + "mouse-fill": 62616, + "mouse": 62617, + "mouse2-fill": 62618, + "mouse2": 62619, + "mouse3-fill": 62620, + "mouse3": 62621, + "music-note-beamed": 62622, + "music-note-list": 62623, + "music-note": 62624, + "music-player-fill": 62625, + "music-player": 62626, + "newspaper": 62627, + "node-minus-fill": 62628, + "node-minus": 62629, + "node-plus-fill": 62630, + "node-plus": 62631, + "nut-fill": 62632, + "nut": 62633, + "octagon-fill": 62634, + "octagon-half": 62635, + "octagon": 62636, + "option": 62637, + "outlet": 62638, + "paint-bucket": 62639, + "palette-fill": 62640, + "palette": 62641, + "palette2": 62642, + "paperclip": 62643, + "paragraph": 62644, + "patch-check-fill": 62645, + "patch-check": 62646, + "patch-exclamation-fill": 62647, + "patch-exclamation": 62648, + "patch-minus-fill": 62649, + "patch-minus": 62650, + "patch-plus-fill": 62651, + "patch-plus": 62652, + "patch-question-fill": 62653, + "patch-question": 62654, + "pause-btn-fill": 62655, + "pause-btn": 62656, + "pause-circle-fill": 62657, + "pause-circle": 62658, + "pause-fill": 62659, + "pause": 62660, + "peace-fill": 62661, + "peace": 62662, + "pen-fill": 62663, + "pen": 62664, + "pencil-fill": 62665, + "pencil-square": 62666, + "pencil": 62667, + "pentagon-fill": 62668, + "pentagon-half": 62669, + "pentagon": 62670, + "people-fill": 62671, + "people": 62672, + "percent": 62673, + "person-badge-fill": 62674, + "person-badge": 62675, + "person-bounding-box": 62676, + "person-check-fill": 62677, + "person-check": 62678, + "person-circle": 62679, + "person-dash-fill": 62680, + "person-dash": 62681, + "person-fill": 62682, + "person-lines-fill": 62683, + "person-plus-fill": 62684, + "person-plus": 62685, + "person-square": 62686, + "person-x-fill": 62687, + "person-x": 62688, + "person": 62689, + "phone-fill": 62690, + "phone-landscape-fill": 62691, + "phone-landscape": 62692, + "phone-vibrate-fill": 62693, + "phone-vibrate": 62694, + "phone": 62695, + "pie-chart-fill": 62696, + "pie-chart": 62697, + "pin-angle-fill": 62698, + "pin-angle": 62699, + "pin-fill": 62700, + "pin": 62701, + "pip-fill": 62702, + "pip": 62703, + "play-btn-fill": 62704, + "play-btn": 62705, + "play-circle-fill": 62706, + "play-circle": 62707, + "play-fill": 62708, + "play": 62709, + "plug-fill": 62710, + "plug": 62711, + "plus-circle-dotted": 62712, + "plus-circle-fill": 62713, + "plus-circle": 62714, + "plus-square-dotted": 62715, + "plus-square-fill": 62716, + "plus-square": 62717, + "plus": 62718, + "power": 62719, + "printer-fill": 62720, + "printer": 62721, + "puzzle-fill": 62722, + "puzzle": 62723, + "question-circle-fill": 62724, + "question-circle": 62725, + "question-diamond-fill": 62726, + "question-diamond": 62727, + "question-octagon-fill": 62728, + "question-octagon": 62729, + "question-square-fill": 62730, + "question-square": 62731, + "question": 62732, + "rainbow": 62733, + "receipt-cutoff": 62734, + "receipt": 62735, + "reception-0": 62736, + "reception-1": 62737, + "reception-2": 62738, + "reception-3": 62739, + "reception-4": 62740, + "record-btn-fill": 62741, + "record-btn": 62742, + "record-circle-fill": 62743, + "record-circle": 62744, + "record-fill": 62745, + "record": 62746, + "record2-fill": 62747, + "record2": 62748, + "reply-all-fill": 62749, + "reply-all": 62750, + "reply-fill": 62751, + "reply": 62752, + "rss-fill": 62753, + "rss": 62754, + "rulers": 62755, + "save-fill": 62756, + "save": 62757, + "save2-fill": 62758, + "save2": 62759, + "scissors": 62760, + "screwdriver": 62761, + "search": 62762, + "segmented-nav": 62763, + "server": 62764, + "share-fill": 62765, + "share": 62766, + "shield-check": 62767, + "shield-exclamation": 62768, + "shield-fill-check": 62769, + "shield-fill-exclamation": 62770, + "shield-fill-minus": 62771, + "shield-fill-plus": 62772, + "shield-fill-x": 62773, + "shield-fill": 62774, + "shield-lock-fill": 62775, + "shield-lock": 62776, + "shield-minus": 62777, + "shield-plus": 62778, + "shield-shaded": 62779, + "shield-slash-fill": 62780, + "shield-slash": 62781, + "shield-x": 62782, + "shield": 62783, + "shift-fill": 62784, + "shift": 62785, + "shop-window": 62786, + "shop": 62787, + "shuffle": 62788, + "signpost-2-fill": 62789, + "signpost-2": 62790, + "signpost-fill": 62791, + "signpost-split-fill": 62792, + "signpost-split": 62793, + "signpost": 62794, + "sim-fill": 62795, + "sim": 62796, + "skip-backward-btn-fill": 62797, + "skip-backward-btn": 62798, + "skip-backward-circle-fill": 62799, + "skip-backward-circle": 62800, + "skip-backward-fill": 62801, + "skip-backward": 62802, + "skip-end-btn-fill": 62803, + "skip-end-btn": 62804, + "skip-end-circle-fill": 62805, + "skip-end-circle": 62806, + "skip-end-fill": 62807, + "skip-end": 62808, + "skip-forward-btn-fill": 62809, + "skip-forward-btn": 62810, + "skip-forward-circle-fill": 62811, + "skip-forward-circle": 62812, + "skip-forward-fill": 62813, + "skip-forward": 62814, + "skip-start-btn-fill": 62815, + "skip-start-btn": 62816, + "skip-start-circle-fill": 62817, + "skip-start-circle": 62818, + "skip-start-fill": 62819, + "skip-start": 62820, + "slack": 62821, + "slash-circle-fill": 62822, + "slash-circle": 62823, + "slash-square-fill": 62824, + "slash-square": 62825, + "slash": 62826, + "sliders": 62827, + "smartwatch": 62828, + "snow": 62829, + "snow2": 62830, + "snow3": 62831, + "sort-alpha-down-alt": 62832, + "sort-alpha-down": 62833, + "sort-alpha-up-alt": 62834, + "sort-alpha-up": 62835, + "sort-down-alt": 62836, + "sort-down": 62837, + "sort-numeric-down-alt": 62838, + "sort-numeric-down": 62839, + "sort-numeric-up-alt": 62840, + "sort-numeric-up": 62841, + "sort-up-alt": 62842, + "sort-up": 62843, + "soundwave": 62844, + "speaker-fill": 62845, + "speaker": 62846, + "speedometer": 62847, + "speedometer2": 62848, + "spellcheck": 62849, + "square-fill": 62850, + "square-half": 62851, + "square": 62852, + "stack": 62853, + "star-fill": 62854, + "star-half": 62855, + "star": 62856, + "stars": 62857, + "stickies-fill": 62858, + "stickies": 62859, + "sticky-fill": 62860, + "sticky": 62861, + "stop-btn-fill": 62862, + "stop-btn": 62863, + "stop-circle-fill": 62864, + "stop-circle": 62865, + "stop-fill": 62866, + "stop": 62867, + "stoplights-fill": 62868, + "stoplights": 62869, + "stopwatch-fill": 62870, + "stopwatch": 62871, + "subtract": 62872, + "suit-club-fill": 62873, + "suit-club": 62874, + "suit-diamond-fill": 62875, + "suit-diamond": 62876, + "suit-heart-fill": 62877, + "suit-heart": 62878, + "suit-spade-fill": 62879, + "suit-spade": 62880, + "sun-fill": 62881, + "sun": 62882, + "sunglasses": 62883, + "sunrise-fill": 62884, + "sunrise": 62885, + "sunset-fill": 62886, + "sunset": 62887, + "symmetry-horizontal": 62888, + "symmetry-vertical": 62889, + "table": 62890, + "tablet-fill": 62891, + "tablet-landscape-fill": 62892, + "tablet-landscape": 62893, + "tablet": 62894, + "tag-fill": 62895, + "tag": 62896, + "tags-fill": 62897, + "tags": 62898, + "telegram": 62899, + "telephone-fill": 62900, + "telephone-forward-fill": 62901, + "telephone-forward": 62902, + "telephone-inbound-fill": 62903, + "telephone-inbound": 62904, + "telephone-minus-fill": 62905, + "telephone-minus": 62906, + "telephone-outbound-fill": 62907, + "telephone-outbound": 62908, + "telephone-plus-fill": 62909, + "telephone-plus": 62910, + "telephone-x-fill": 62911, + "telephone-x": 62912, + "telephone": 62913, + "terminal-fill": 62914, + "terminal": 62915, + "text-center": 62916, + "text-indent-left": 62917, + "text-indent-right": 62918, + "text-left": 62919, + "text-paragraph": 62920, + "text-right": 62921, + "textarea-resize": 62922, + "textarea-t": 62923, + "textarea": 62924, + "thermometer-half": 62925, + "thermometer-high": 62926, + "thermometer-low": 62927, + "thermometer-snow": 62928, + "thermometer-sun": 62929, + "thermometer": 62930, + "three-dots-vertical": 62931, + "three-dots": 62932, + "toggle-off": 62933, + "toggle-on": 62934, + "toggle2-off": 62935, + "toggle2-on": 62936, + "toggles": 62937, + "toggles2": 62938, + "tools": 62939, + "tornado": 62940, + "trash-fill": 62941, + "trash": 62942, + "trash2-fill": 62943, + "trash2": 62944, + "tree-fill": 62945, + "tree": 62946, + "triangle-fill": 62947, + "triangle-half": 62948, + "triangle": 62949, + "trophy-fill": 62950, + "trophy": 62951, + "tropical-storm": 62952, + "truck-flatbed": 62953, + "truck": 62954, + "tsunami": 62955, + "tv-fill": 62956, + "tv": 62957, + "twitch": 62958, + "twitter": 62959, + "type-bold": 62960, + "type-h1": 62961, + "type-h2": 62962, + "type-h3": 62963, + "type-italic": 62964, + "type-strikethrough": 62965, + "type-underline": 62966, + "type": 62967, + "ui-checks-grid": 62968, + "ui-checks": 62969, + "ui-radios-grid": 62970, + "ui-radios": 62971, + "umbrella-fill": 62972, + "umbrella": 62973, + "union": 62974, + "unlock-fill": 62975, + "unlock": 62976, + "upc-scan": 62977, + "upc": 62978, + "upload": 62979, + "vector-pen": 62980, + "view-list": 62981, + "view-stacked": 62982, + "vinyl-fill": 62983, + "vinyl": 62984, + "voicemail": 62985, + "volume-down-fill": 62986, + "volume-down": 62987, + "volume-mute-fill": 62988, + "volume-mute": 62989, + "volume-off-fill": 62990, + "volume-off": 62991, + "volume-up-fill": 62992, + "volume-up": 62993, + "vr": 62994, + "wallet-fill": 62995, + "wallet": 62996, + "wallet2": 62997, + "watch": 62998, + "water": 62999, + "whatsapp": 63000, + "wifi-1": 63001, + "wifi-2": 63002, + "wifi-off": 63003, + "wifi": 63004, + "wind": 63005, + "window-dock": 63006, + "window-sidebar": 63007, + "window": 63008, + "wrench": 63009, + "x-circle-fill": 63010, + "x-circle": 63011, + "x-diamond-fill": 63012, + "x-diamond": 63013, + "x-octagon-fill": 63014, + "x-octagon": 63015, + "x-square-fill": 63016, + "x-square": 63017, + "x": 63018, + "youtube": 63019, + "zoom-in": 63020, + "zoom-out": 63021, + "bank": 63022, + "bank2": 63023, + "bell-slash-fill": 63024, + "bell-slash": 63025, + "cash-coin": 63026, + "check-lg": 63027, + "coin": 63028, + "currency-bitcoin": 63029, + "currency-dollar": 63030, + "currency-euro": 63031, + "currency-exchange": 63032, + "currency-pound": 63033, + "currency-yen": 63034, + "dash-lg": 63035, + "exclamation-lg": 63036, + "file-earmark-pdf-fill": 63037, + "file-earmark-pdf": 63038, + "file-pdf-fill": 63039, + "file-pdf": 63040, + "gender-ambiguous": 63041, + "gender-female": 63042, + "gender-male": 63043, + "gender-trans": 63044, + "headset-vr": 63045, + "info-lg": 63046, + "mastodon": 63047, + "messenger": 63048, + "piggy-bank-fill": 63049, + "piggy-bank": 63050, + "pin-map-fill": 63051, + "pin-map": 63052, + "plus-lg": 63053, + "question-lg": 63054, + "recycle": 63055, + "reddit": 63056, + "safe-fill": 63057, + "safe2-fill": 63058, + "safe2": 63059, + "sd-card-fill": 63060, + "sd-card": 63061, + "skype": 63062, + "slash-lg": 63063, + "translate": 63064, + "x-lg": 63065, + "safe": 63066, + "apple": 63067, + "microsoft": 63069, + "windows": 63070, + "behance": 63068, + "dribbble": 63071, + "line": 63072, + "medium": 63073, + "paypal": 63074, + "pinterest": 63075, + "signal": 63076, + "snapchat": 63077, + "spotify": 63078, + "stack-overflow": 63079, + "strava": 63080, + "wordpress": 63081, + "vimeo": 63082, + "activity": 63083, + "easel2-fill": 63084, + "easel2": 63085, + "easel3-fill": 63086, + "easel3": 63087, + "fan": 63088, + "fingerprint": 63089, + "graph-down-arrow": 63090, + "graph-up-arrow": 63091, + "hypnotize": 63092, + "magic": 63093, + "person-rolodex": 63094, + "person-video": 63095, + "person-video2": 63096, + "person-video3": 63097, + "person-workspace": 63098, + "radioactive": 63099, + "webcam-fill": 63100, + "webcam": 63101, + "yin-yang": 63102, + "bandaid-fill": 63104, + "bandaid": 63105, + "bluetooth": 63106, + "body-text": 63107, + "boombox": 63108, + "boxes": 63109, + "dpad-fill": 63110, + "dpad": 63111, + "ear-fill": 63112, + "ear": 63113, + "envelope-check-1": 63114, + "envelope-check-fill": 63115, + "envelope-check": 63116, + "envelope-dash-1": 63117, + "envelope-dash-fill": 63118, + "envelope-dash": 63119, + "envelope-exclamation-1": 63120, + "envelope-exclamation-fill": 63121, + "envelope-exclamation": 63122, + "envelope-plus-fill": 63123, + "envelope-plus": 63124, + "envelope-slash-1": 63125, + "envelope-slash-fill": 63126, + "envelope-slash": 63127, + "envelope-x-1": 63128, + "envelope-x-fill": 63129, + "envelope-x": 63130, + "explicit-fill": 63131, + "explicit": 63132, + "git": 63133, + "infinity": 63134, + "list-columns-reverse": 63135, + "list-columns": 63136, + "meta": 63137, + "mortorboard-fill": 63138, + "mortorboard": 63139, + "nintendo-switch": 63140, + "pc-display-horizontal": 63141, + "pc-display": 63142, + "pc-horizontal": 63143, + "pc": 63144, + "playstation": 63145, + "plus-slash-minus": 63146, + "projector-fill": 63147, + "projector": 63148, + "qr-code-scan": 63149, + "qr-code": 63150, + "quora": 63151, + "quote": 63152, + "robot": 63153, + "send-check-fill": 63154, + "send-check": 63155, + "send-dash-fill": 63156, + "send-dash": 63157, + "send-exclamation-1": 63158, + "send-exclamation-fill": 63159, + "send-exclamation": 63160, + "send-fill": 63161, + "send-plus-fill": 63162, + "send-plus": 63163, + "send-slash-fill": 63164, + "send-slash": 63165, + "send-x-fill": 63166, + "send-x": 63167, + "send": 63168, + "steam": 63169, + "terminal-dash-1": 63170, + "terminal-dash": 63171, + "terminal-plus": 63172, + "terminal-split": 63173, + "ticket-detailed-fill": 63174, + "ticket-detailed": 63175, + "ticket-fill": 63176, + "ticket-perforated-fill": 63177, + "ticket-perforated": 63178, + "ticket": 63179, + "tiktok": 63180, + "window-dash": 63181, + "window-desktop": 63182, + "window-fullscreen": 63183, + "window-plus": 63184, + "window-split": 63185, + "window-stack": 63186, + "window-x": 63187, + "xbox": 63188, + "ethernet": 63189, + "hdmi-fill": 63190, + "hdmi": 63191, + "usb-c-fill": 63192, + "usb-c": 63193, + "usb-fill": 63194, + "usb-plug-fill": 63195, + "usb-plug": 63196, + "usb-symbol": 63197, + "usb": 63198, + "boombox-fill": 63199, + "displayport-1": 63200, + "displayport": 63201, + "gpu-card": 63202, + "memory": 63203, + "modem-fill": 63204, + "modem": 63205, + "motherboard-fill": 63206, + "motherboard": 63207, + "optical-audio-fill": 63208, + "optical-audio": 63209, + "pci-card": 63210, + "router-fill": 63211, + "router": 63212, + "ssd-fill": 63213, + "ssd": 63214, + "thunderbolt-fill": 63215, + "thunderbolt": 63216, + "usb-drive-fill": 63217, + "usb-drive": 63218, + "usb-micro-fill": 63219, + "usb-micro": 63220, + "usb-mini-fill": 63221, + "usb-mini": 63222, + "cloud-haze2": 63223, + "device-hdd-fill": 63224, + "device-hdd": 63225, + "device-ssd-fill": 63226, + "device-ssd": 63227, + "displayport-fill": 63228, + "mortarboard-fill": 63229, + "mortarboard": 63230, + "terminal-x": 63231, + "arrow-through-heart-fill": 63232, + "arrow-through-heart": 63233, + "badge-sd-fill": 63234, + "badge-sd": 63235, + "bag-heart-fill": 63236, + "bag-heart": 63237, + "balloon-fill": 63238, + "balloon-heart-fill": 63239, + "balloon-heart": 63240, + "balloon": 63241, + "box2-fill": 63242, + "box2-heart-fill": 63243, + "box2-heart": 63244, + "box2": 63245, + "braces-asterisk": 63246, + "calendar-heart-fill": 63247, + "calendar-heart": 63248, + "calendar2-heart-fill": 63249, + "calendar2-heart": 63250, + "chat-heart-fill": 63251, + "chat-heart": 63252, + "chat-left-heart-fill": 63253, + "chat-left-heart": 63254, + "chat-right-heart-fill": 63255, + "chat-right-heart": 63256, + "chat-square-heart-fill": 63257, + "chat-square-heart": 63258, + "clipboard-check-fill": 63259, + "clipboard-data-fill": 63260, + "clipboard-fill": 63261, + "clipboard-heart-fill": 63262, + "clipboard-heart": 63263, + "clipboard-minus-fill": 63264, + "clipboard-plus-fill": 63265, + "clipboard-pulse": 63266, + "clipboard-x-fill": 63267, + "clipboard2-check-fill": 63268, + "clipboard2-check": 63269, + "clipboard2-data-fill": 63270, + "clipboard2-data": 63271, + "clipboard2-fill": 63272, + "clipboard2-heart-fill": 63273, + "clipboard2-heart": 63274, + "clipboard2-minus-fill": 63275, + "clipboard2-minus": 63276, + "clipboard2-plus-fill": 63277, + "clipboard2-plus": 63278, + "clipboard2-pulse-fill": 63279, + "clipboard2-pulse": 63280, + "clipboard2-x-fill": 63281, + "clipboard2-x": 63282, + "clipboard2": 63283, + "emoji-kiss-fill": 63284, + "emoji-kiss": 63285, + "envelope-heart-fill": 63286, + "envelope-heart": 63287, + "envelope-open-heart-fill": 63288, + "envelope-open-heart": 63289, + "envelope-paper-fill": 63290, + "envelope-paper-heart-fill": 63291, + "envelope-paper-heart": 63292, + "envelope-paper": 63293, + "filetype-aac": 63294, + "filetype-ai": 63295, + "filetype-bmp": 63296, + "filetype-cs": 63297, + "filetype-css": 63298, + "filetype-csv": 63299, + "filetype-doc": 63300, + "filetype-docx": 63301, + "filetype-exe": 63302, + "filetype-gif": 63303, + "filetype-heic": 63304, + "filetype-html": 63305, + "filetype-java": 63306, + "filetype-jpg": 63307, + "filetype-js": 63308, + "filetype-jsx": 63309, + "filetype-key": 63310, + "filetype-m4p": 63311, + "filetype-md": 63312, + "filetype-mdx": 63313, + "filetype-mov": 63314, + "filetype-mp3": 63315, + "filetype-mp4": 63316, + "filetype-otf": 63317, + "filetype-pdf": 63318, + "filetype-php": 63319, + "filetype-png": 63320, + "filetype-ppt-1": 63321, + "filetype-ppt": 63322, + "filetype-psd": 63323, + "filetype-py": 63324, + "filetype-raw": 63325, + "filetype-rb": 63326, + "filetype-sass": 63327, + "filetype-scss": 63328, + "filetype-sh": 63329, + "filetype-svg": 63330, + "filetype-tiff": 63331, + "filetype-tsx": 63332, + "filetype-ttf": 63333, + "filetype-txt": 63334, + "filetype-wav": 63335, + "filetype-woff": 63336, + "filetype-xls-1": 63337, + "filetype-xls": 63338, + "filetype-xml": 63339, + "filetype-yml": 63340, + "heart-arrow": 63341, + "heart-pulse-fill": 63342, + "heart-pulse": 63343, + "heartbreak-fill": 63344, + "heartbreak": 63345, + "hearts": 63346, + "hospital-fill": 63347, + "hospital": 63348, + "house-heart-fill": 63349, + "house-heart": 63350, + "incognito": 63351, + "magnet-fill": 63352, + "magnet": 63353, + "person-heart": 63354, + "person-hearts": 63355, + "phone-flip": 63356, + "plugin": 63357, + "postage-fill": 63358, + "postage-heart-fill": 63359, + "postage-heart": 63360, + "postage": 63361, + "postcard-fill": 63362, + "postcard-heart-fill": 63363, + "postcard-heart": 63364, + "postcard": 63365, + "search-heart-fill": 63366, + "search-heart": 63367, + "sliders2-vertical": 63368, + "sliders2": 63369, + "trash3-fill": 63370, + "trash3": 63371, + "valentine": 63372, + "valentine2": 63373, + "wrench-adjustable-circle-fill": 63374, + "wrench-adjustable-circle": 63375, + "wrench-adjustable": 63376, + "filetype-json": 63377, + "filetype-pptx": 63378, + "filetype-xlsx": 63379, + "1-circle-1": 63380, + "1-circle-fill-1": 63381, + "1-circle-fill": 63382, + "1-circle": 63383, + "1-square-fill": 63384, + "1-square": 63385, + "2-circle-1": 63386, + "2-circle-fill-1": 63387, + "2-circle-fill": 63388, + "2-circle": 63389, + "2-square-fill": 63390, + "2-square": 63391, + "3-circle-1": 63392, + "3-circle-fill-1": 63393, + "3-circle-fill": 63394, + "3-circle": 63395, + "3-square-fill": 63396, + "3-square": 63397, + "4-circle-1": 63398, + "4-circle-fill-1": 63399, + "4-circle-fill": 63400, + "4-circle": 63401, + "4-square-fill": 63402, + "4-square": 63403, + "5-circle-1": 63404, + "5-circle-fill-1": 63405, + "5-circle-fill": 63406, + "5-circle": 63407, + "5-square-fill": 63408, + "5-square": 63409, + "6-circle-1": 63410, + "6-circle-fill-1": 63411, + "6-circle-fill": 63412, + "6-circle": 63413, + "6-square-fill": 63414, + "6-square": 63415, + "7-circle-1": 63416, + "7-circle-fill-1": 63417, + "7-circle-fill": 63418, + "7-circle": 63419, + "7-square-fill": 63420, + "7-square": 63421, + "8-circle-1": 63422, + "8-circle-fill-1": 63423, + "8-circle-fill": 63424, + "8-circle": 63425, + "8-square-fill": 63426, + "8-square": 63427, + "9-circle-1": 63428, + "9-circle-fill-1": 63429, + "9-circle-fill": 63430, + "9-circle": 63431, + "9-square-fill": 63432, + "9-square": 63433, + "airplane-engines-fill": 63434, + "airplane-engines": 63435, + "airplane-fill": 63436, + "airplane": 63437, + "alexa": 63438, + "alipay": 63439, + "android": 63440, + "android2": 63441, + "box-fill": 63442, + "box-seam-fill": 63443, + "browser-chrome": 63444, + "browser-edge": 63445, + "browser-firefox": 63446, + "browser-safari": 63447, + "c-circle-1": 63448, + "c-circle-fill-1": 63449, + "c-circle-fill": 63450, + "c-circle": 63451, + "c-square-fill": 63452, + "c-square": 63453, + "capsule-pill": 63454, + "capsule": 63455, + "car-front-fill": 63456, + "car-front": 63457, + "cassette-fill": 63458, + "cassette": 63459, + "cc-circle-1": 63460, + "cc-circle-fill-1": 63461, + "cc-circle-fill": 63462, + "cc-circle": 63463, + "cc-square-fill": 63464, + "cc-square": 63465, + "cup-hot-fill": 63466, + "cup-hot": 63467, + "currency-rupee": 63468, + "dropbox": 63469, + "escape": 63470, + "fast-forward-btn-fill": 63471, + "fast-forward-btn": 63472, + "fast-forward-circle-fill": 63473, + "fast-forward-circle": 63474, + "fast-forward-fill": 63475, + "fast-forward": 63476, + "filetype-sql": 63477, + "fire": 63478, + "google-play": 63479, + "h-circle-1": 63480, + "h-circle-fill-1": 63481, + "h-circle-fill": 63482, + "h-circle": 63483, + "h-square-fill": 63484, + "h-square": 63485, + "indent": 63486, + "lungs-fill": 63487, + "lungs": 63488, + "microsoft-teams": 63489, + "p-circle-1": 63490, + "p-circle-fill-1": 63491, + "p-circle-fill": 63492, + "p-circle": 63493, + "p-square-fill": 63494, + "p-square": 63495, + "pass-fill": 63496, + "pass": 63497, + "prescription": 63498, + "prescription2": 63499, + "r-circle-1": 63500, + "r-circle-fill-1": 63501, + "r-circle-fill": 63502, + "r-circle": 63503, + "r-square-fill": 63504, + "r-square": 63505, + "repeat-1": 63506, + "repeat": 63507, + "rewind-btn-fill": 63508, + "rewind-btn": 63509, + "rewind-circle-fill": 63510, + "rewind-circle": 63511, + "rewind-fill": 63512, + "rewind": 63513, + "train-freight-front-fill": 63514, + "train-freight-front": 63515, + "train-front-fill": 63516, + "train-front": 63517, + "train-lightrail-front-fill": 63518, + "train-lightrail-front": 63519, + "truck-front-fill": 63520, + "truck-front": 63521, + "ubuntu": 63522, + "unindent": 63523, + "unity": 63524, + "universal-access-circle": 63525, + "universal-access": 63526, + "virus": 63527, + "virus2": 63528, + "wechat": 63529, + "yelp": 63530, + "sign-stop-fill": 63531, + "sign-stop-lights-fill": 63532, + "sign-stop-lights": 63533, + "sign-stop": 63534, + "sign-turn-left-fill": 63535, + "sign-turn-left": 63536, + "sign-turn-right-fill": 63537, + "sign-turn-right": 63538, + "sign-turn-slight-left-fill": 63539, + "sign-turn-slight-left": 63540, + "sign-turn-slight-right-fill": 63541, + "sign-turn-slight-right": 63542, + "sign-yield-fill": 63543, + "sign-yield": 63544, + "ev-station-fill": 63545, + "ev-station": 63546, + "fuel-pump-diesel-fill": 63547, + "fuel-pump-diesel": 63548, + "fuel-pump-fill": 63549, + "fuel-pump": 63550 +} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.min.css b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.min.css new file mode 100644 index 000000000..617cbc561 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.min.css @@ -0,0 +1,8 @@ +/** + * Minified by jsDelivr using clean-css v5.3.0. + * Original file: /npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +@font-face{font-display:block;font-family:bootstrap-icons;src:url("fonts/bootstrap-icons.woff2?8d200481aa7f02a2d63a331fc782cfaf") format("woff2"),url("fonts/bootstrap-icons.woff?8d200481aa7f02a2d63a331fc782cfaf") format("woff")}.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:"\f67f"}.bi-alarm-fill::before{content:"\f101"}.bi-alarm::before{content:"\f102"}.bi-align-bottom::before{content:"\f103"}.bi-align-center::before{content:"\f104"}.bi-align-end::before{content:"\f105"}.bi-align-middle::before{content:"\f106"}.bi-align-start::before{content:"\f107"}.bi-align-top::before{content:"\f108"}.bi-alt::before{content:"\f109"}.bi-app-indicator::before{content:"\f10a"}.bi-app::before{content:"\f10b"}.bi-archive-fill::before{content:"\f10c"}.bi-archive::before{content:"\f10d"}.bi-arrow-90deg-down::before{content:"\f10e"}.bi-arrow-90deg-left::before{content:"\f10f"}.bi-arrow-90deg-right::before{content:"\f110"}.bi-arrow-90deg-up::before{content:"\f111"}.bi-arrow-bar-down::before{content:"\f112"}.bi-arrow-bar-left::before{content:"\f113"}.bi-arrow-bar-right::before{content:"\f114"}.bi-arrow-bar-up::before{content:"\f115"}.bi-arrow-clockwise::before{content:"\f116"}.bi-arrow-counterclockwise::before{content:"\f117"}.bi-arrow-down-circle-fill::before{content:"\f118"}.bi-arrow-down-circle::before{content:"\f119"}.bi-arrow-down-left-circle-fill::before{content:"\f11a"}.bi-arrow-down-left-circle::before{content:"\f11b"}.bi-arrow-down-left-square-fill::before{content:"\f11c"}.bi-arrow-down-left-square::before{content:"\f11d"}.bi-arrow-down-left::before{content:"\f11e"}.bi-arrow-down-right-circle-fill::before{content:"\f11f"}.bi-arrow-down-right-circle::before{content:"\f120"}.bi-arrow-down-right-square-fill::before{content:"\f121"}.bi-arrow-down-right-square::before{content:"\f122"}.bi-arrow-down-right::before{content:"\f123"}.bi-arrow-down-short::before{content:"\f124"}.bi-arrow-down-square-fill::before{content:"\f125"}.bi-arrow-down-square::before{content:"\f126"}.bi-arrow-down-up::before{content:"\f127"}.bi-arrow-down::before{content:"\f128"}.bi-arrow-left-circle-fill::before{content:"\f129"}.bi-arrow-left-circle::before{content:"\f12a"}.bi-arrow-left-right::before{content:"\f12b"}.bi-arrow-left-short::before{content:"\f12c"}.bi-arrow-left-square-fill::before{content:"\f12d"}.bi-arrow-left-square::before{content:"\f12e"}.bi-arrow-left::before{content:"\f12f"}.bi-arrow-repeat::before{content:"\f130"}.bi-arrow-return-left::before{content:"\f131"}.bi-arrow-return-right::before{content:"\f132"}.bi-arrow-right-circle-fill::before{content:"\f133"}.bi-arrow-right-circle::before{content:"\f134"}.bi-arrow-right-short::before{content:"\f135"}.bi-arrow-right-square-fill::before{content:"\f136"}.bi-arrow-right-square::before{content:"\f137"}.bi-arrow-right::before{content:"\f138"}.bi-arrow-up-circle-fill::before{content:"\f139"}.bi-arrow-up-circle::before{content:"\f13a"}.bi-arrow-up-left-circle-fill::before{content:"\f13b"}.bi-arrow-up-left-circle::before{content:"\f13c"}.bi-arrow-up-left-square-fill::before{content:"\f13d"}.bi-arrow-up-left-square::before{content:"\f13e"}.bi-arrow-up-left::before{content:"\f13f"}.bi-arrow-up-right-circle-fill::before{content:"\f140"}.bi-arrow-up-right-circle::before{content:"\f141"}.bi-arrow-up-right-square-fill::before{content:"\f142"}.bi-arrow-up-right-square::before{content:"\f143"}.bi-arrow-up-right::before{content:"\f144"}.bi-arrow-up-short::before{content:"\f145"}.bi-arrow-up-square-fill::before{content:"\f146"}.bi-arrow-up-square::before{content:"\f147"}.bi-arrow-up::before{content:"\f148"}.bi-arrows-angle-contract::before{content:"\f149"}.bi-arrows-angle-expand::before{content:"\f14a"}.bi-arrows-collapse::before{content:"\f14b"}.bi-arrows-expand::before{content:"\f14c"}.bi-arrows-fullscreen::before{content:"\f14d"}.bi-arrows-move::before{content:"\f14e"}.bi-aspect-ratio-fill::before{content:"\f14f"}.bi-aspect-ratio::before{content:"\f150"}.bi-asterisk::before{content:"\f151"}.bi-at::before{content:"\f152"}.bi-award-fill::before{content:"\f153"}.bi-award::before{content:"\f154"}.bi-back::before{content:"\f155"}.bi-backspace-fill::before{content:"\f156"}.bi-backspace-reverse-fill::before{content:"\f157"}.bi-backspace-reverse::before{content:"\f158"}.bi-backspace::before{content:"\f159"}.bi-badge-3d-fill::before{content:"\f15a"}.bi-badge-3d::before{content:"\f15b"}.bi-badge-4k-fill::before{content:"\f15c"}.bi-badge-4k::before{content:"\f15d"}.bi-badge-8k-fill::before{content:"\f15e"}.bi-badge-8k::before{content:"\f15f"}.bi-badge-ad-fill::before{content:"\f160"}.bi-badge-ad::before{content:"\f161"}.bi-badge-ar-fill::before{content:"\f162"}.bi-badge-ar::before{content:"\f163"}.bi-badge-cc-fill::before{content:"\f164"}.bi-badge-cc::before{content:"\f165"}.bi-badge-hd-fill::before{content:"\f166"}.bi-badge-hd::before{content:"\f167"}.bi-badge-tm-fill::before{content:"\f168"}.bi-badge-tm::before{content:"\f169"}.bi-badge-vo-fill::before{content:"\f16a"}.bi-badge-vo::before{content:"\f16b"}.bi-badge-vr-fill::before{content:"\f16c"}.bi-badge-vr::before{content:"\f16d"}.bi-badge-wc-fill::before{content:"\f16e"}.bi-badge-wc::before{content:"\f16f"}.bi-bag-check-fill::before{content:"\f170"}.bi-bag-check::before{content:"\f171"}.bi-bag-dash-fill::before{content:"\f172"}.bi-bag-dash::before{content:"\f173"}.bi-bag-fill::before{content:"\f174"}.bi-bag-plus-fill::before{content:"\f175"}.bi-bag-plus::before{content:"\f176"}.bi-bag-x-fill::before{content:"\f177"}.bi-bag-x::before{content:"\f178"}.bi-bag::before{content:"\f179"}.bi-bar-chart-fill::before{content:"\f17a"}.bi-bar-chart-line-fill::before{content:"\f17b"}.bi-bar-chart-line::before{content:"\f17c"}.bi-bar-chart-steps::before{content:"\f17d"}.bi-bar-chart::before{content:"\f17e"}.bi-basket-fill::before{content:"\f17f"}.bi-basket::before{content:"\f180"}.bi-basket2-fill::before{content:"\f181"}.bi-basket2::before{content:"\f182"}.bi-basket3-fill::before{content:"\f183"}.bi-basket3::before{content:"\f184"}.bi-battery-charging::before{content:"\f185"}.bi-battery-full::before{content:"\f186"}.bi-battery-half::before{content:"\f187"}.bi-battery::before{content:"\f188"}.bi-bell-fill::before{content:"\f189"}.bi-bell::before{content:"\f18a"}.bi-bezier::before{content:"\f18b"}.bi-bezier2::before{content:"\f18c"}.bi-bicycle::before{content:"\f18d"}.bi-binoculars-fill::before{content:"\f18e"}.bi-binoculars::before{content:"\f18f"}.bi-blockquote-left::before{content:"\f190"}.bi-blockquote-right::before{content:"\f191"}.bi-book-fill::before{content:"\f192"}.bi-book-half::before{content:"\f193"}.bi-book::before{content:"\f194"}.bi-bookmark-check-fill::before{content:"\f195"}.bi-bookmark-check::before{content:"\f196"}.bi-bookmark-dash-fill::before{content:"\f197"}.bi-bookmark-dash::before{content:"\f198"}.bi-bookmark-fill::before{content:"\f199"}.bi-bookmark-heart-fill::before{content:"\f19a"}.bi-bookmark-heart::before{content:"\f19b"}.bi-bookmark-plus-fill::before{content:"\f19c"}.bi-bookmark-plus::before{content:"\f19d"}.bi-bookmark-star-fill::before{content:"\f19e"}.bi-bookmark-star::before{content:"\f19f"}.bi-bookmark-x-fill::before{content:"\f1a0"}.bi-bookmark-x::before{content:"\f1a1"}.bi-bookmark::before{content:"\f1a2"}.bi-bookmarks-fill::before{content:"\f1a3"}.bi-bookmarks::before{content:"\f1a4"}.bi-bookshelf::before{content:"\f1a5"}.bi-bootstrap-fill::before{content:"\f1a6"}.bi-bootstrap-reboot::before{content:"\f1a7"}.bi-bootstrap::before{content:"\f1a8"}.bi-border-all::before{content:"\f1a9"}.bi-border-bottom::before{content:"\f1aa"}.bi-border-center::before{content:"\f1ab"}.bi-border-inner::before{content:"\f1ac"}.bi-border-left::before{content:"\f1ad"}.bi-border-middle::before{content:"\f1ae"}.bi-border-outer::before{content:"\f1af"}.bi-border-right::before{content:"\f1b0"}.bi-border-style::before{content:"\f1b1"}.bi-border-top::before{content:"\f1b2"}.bi-border-width::before{content:"\f1b3"}.bi-border::before{content:"\f1b4"}.bi-bounding-box-circles::before{content:"\f1b5"}.bi-bounding-box::before{content:"\f1b6"}.bi-box-arrow-down-left::before{content:"\f1b7"}.bi-box-arrow-down-right::before{content:"\f1b8"}.bi-box-arrow-down::before{content:"\f1b9"}.bi-box-arrow-in-down-left::before{content:"\f1ba"}.bi-box-arrow-in-down-right::before{content:"\f1bb"}.bi-box-arrow-in-down::before{content:"\f1bc"}.bi-box-arrow-in-left::before{content:"\f1bd"}.bi-box-arrow-in-right::before{content:"\f1be"}.bi-box-arrow-in-up-left::before{content:"\f1bf"}.bi-box-arrow-in-up-right::before{content:"\f1c0"}.bi-box-arrow-in-up::before{content:"\f1c1"}.bi-box-arrow-left::before{content:"\f1c2"}.bi-box-arrow-right::before{content:"\f1c3"}.bi-box-arrow-up-left::before{content:"\f1c4"}.bi-box-arrow-up-right::before{content:"\f1c5"}.bi-box-arrow-up::before{content:"\f1c6"}.bi-box-seam::before{content:"\f1c7"}.bi-box::before{content:"\f1c8"}.bi-braces::before{content:"\f1c9"}.bi-bricks::before{content:"\f1ca"}.bi-briefcase-fill::before{content:"\f1cb"}.bi-briefcase::before{content:"\f1cc"}.bi-brightness-alt-high-fill::before{content:"\f1cd"}.bi-brightness-alt-high::before{content:"\f1ce"}.bi-brightness-alt-low-fill::before{content:"\f1cf"}.bi-brightness-alt-low::before{content:"\f1d0"}.bi-brightness-high-fill::before{content:"\f1d1"}.bi-brightness-high::before{content:"\f1d2"}.bi-brightness-low-fill::before{content:"\f1d3"}.bi-brightness-low::before{content:"\f1d4"}.bi-broadcast-pin::before{content:"\f1d5"}.bi-broadcast::before{content:"\f1d6"}.bi-brush-fill::before{content:"\f1d7"}.bi-brush::before{content:"\f1d8"}.bi-bucket-fill::before{content:"\f1d9"}.bi-bucket::before{content:"\f1da"}.bi-bug-fill::before{content:"\f1db"}.bi-bug::before{content:"\f1dc"}.bi-building::before{content:"\f1dd"}.bi-bullseye::before{content:"\f1de"}.bi-calculator-fill::before{content:"\f1df"}.bi-calculator::before{content:"\f1e0"}.bi-calendar-check-fill::before{content:"\f1e1"}.bi-calendar-check::before{content:"\f1e2"}.bi-calendar-date-fill::before{content:"\f1e3"}.bi-calendar-date::before{content:"\f1e4"}.bi-calendar-day-fill::before{content:"\f1e5"}.bi-calendar-day::before{content:"\f1e6"}.bi-calendar-event-fill::before{content:"\f1e7"}.bi-calendar-event::before{content:"\f1e8"}.bi-calendar-fill::before{content:"\f1e9"}.bi-calendar-minus-fill::before{content:"\f1ea"}.bi-calendar-minus::before{content:"\f1eb"}.bi-calendar-month-fill::before{content:"\f1ec"}.bi-calendar-month::before{content:"\f1ed"}.bi-calendar-plus-fill::before{content:"\f1ee"}.bi-calendar-plus::before{content:"\f1ef"}.bi-calendar-range-fill::before{content:"\f1f0"}.bi-calendar-range::before{content:"\f1f1"}.bi-calendar-week-fill::before{content:"\f1f2"}.bi-calendar-week::before{content:"\f1f3"}.bi-calendar-x-fill::before{content:"\f1f4"}.bi-calendar-x::before{content:"\f1f5"}.bi-calendar::before{content:"\f1f6"}.bi-calendar2-check-fill::before{content:"\f1f7"}.bi-calendar2-check::before{content:"\f1f8"}.bi-calendar2-date-fill::before{content:"\f1f9"}.bi-calendar2-date::before{content:"\f1fa"}.bi-calendar2-day-fill::before{content:"\f1fb"}.bi-calendar2-day::before{content:"\f1fc"}.bi-calendar2-event-fill::before{content:"\f1fd"}.bi-calendar2-event::before{content:"\f1fe"}.bi-calendar2-fill::before{content:"\f1ff"}.bi-calendar2-minus-fill::before{content:"\f200"}.bi-calendar2-minus::before{content:"\f201"}.bi-calendar2-month-fill::before{content:"\f202"}.bi-calendar2-month::before{content:"\f203"}.bi-calendar2-plus-fill::before{content:"\f204"}.bi-calendar2-plus::before{content:"\f205"}.bi-calendar2-range-fill::before{content:"\f206"}.bi-calendar2-range::before{content:"\f207"}.bi-calendar2-week-fill::before{content:"\f208"}.bi-calendar2-week::before{content:"\f209"}.bi-calendar2-x-fill::before{content:"\f20a"}.bi-calendar2-x::before{content:"\f20b"}.bi-calendar2::before{content:"\f20c"}.bi-calendar3-event-fill::before{content:"\f20d"}.bi-calendar3-event::before{content:"\f20e"}.bi-calendar3-fill::before{content:"\f20f"}.bi-calendar3-range-fill::before{content:"\f210"}.bi-calendar3-range::before{content:"\f211"}.bi-calendar3-week-fill::before{content:"\f212"}.bi-calendar3-week::before{content:"\f213"}.bi-calendar3::before{content:"\f214"}.bi-calendar4-event::before{content:"\f215"}.bi-calendar4-range::before{content:"\f216"}.bi-calendar4-week::before{content:"\f217"}.bi-calendar4::before{content:"\f218"}.bi-camera-fill::before{content:"\f219"}.bi-camera-reels-fill::before{content:"\f21a"}.bi-camera-reels::before{content:"\f21b"}.bi-camera-video-fill::before{content:"\f21c"}.bi-camera-video-off-fill::before{content:"\f21d"}.bi-camera-video-off::before{content:"\f21e"}.bi-camera-video::before{content:"\f21f"}.bi-camera::before{content:"\f220"}.bi-camera2::before{content:"\f221"}.bi-capslock-fill::before{content:"\f222"}.bi-capslock::before{content:"\f223"}.bi-card-checklist::before{content:"\f224"}.bi-card-heading::before{content:"\f225"}.bi-card-image::before{content:"\f226"}.bi-card-list::before{content:"\f227"}.bi-card-text::before{content:"\f228"}.bi-caret-down-fill::before{content:"\f229"}.bi-caret-down-square-fill::before{content:"\f22a"}.bi-caret-down-square::before{content:"\f22b"}.bi-caret-down::before{content:"\f22c"}.bi-caret-left-fill::before{content:"\f22d"}.bi-caret-left-square-fill::before{content:"\f22e"}.bi-caret-left-square::before{content:"\f22f"}.bi-caret-left::before{content:"\f230"}.bi-caret-right-fill::before{content:"\f231"}.bi-caret-right-square-fill::before{content:"\f232"}.bi-caret-right-square::before{content:"\f233"}.bi-caret-right::before{content:"\f234"}.bi-caret-up-fill::before{content:"\f235"}.bi-caret-up-square-fill::before{content:"\f236"}.bi-caret-up-square::before{content:"\f237"}.bi-caret-up::before{content:"\f238"}.bi-cart-check-fill::before{content:"\f239"}.bi-cart-check::before{content:"\f23a"}.bi-cart-dash-fill::before{content:"\f23b"}.bi-cart-dash::before{content:"\f23c"}.bi-cart-fill::before{content:"\f23d"}.bi-cart-plus-fill::before{content:"\f23e"}.bi-cart-plus::before{content:"\f23f"}.bi-cart-x-fill::before{content:"\f240"}.bi-cart-x::before{content:"\f241"}.bi-cart::before{content:"\f242"}.bi-cart2::before{content:"\f243"}.bi-cart3::before{content:"\f244"}.bi-cart4::before{content:"\f245"}.bi-cash-stack::before{content:"\f246"}.bi-cash::before{content:"\f247"}.bi-cast::before{content:"\f248"}.bi-chat-dots-fill::before{content:"\f249"}.bi-chat-dots::before{content:"\f24a"}.bi-chat-fill::before{content:"\f24b"}.bi-chat-left-dots-fill::before{content:"\f24c"}.bi-chat-left-dots::before{content:"\f24d"}.bi-chat-left-fill::before{content:"\f24e"}.bi-chat-left-quote-fill::before{content:"\f24f"}.bi-chat-left-quote::before{content:"\f250"}.bi-chat-left-text-fill::before{content:"\f251"}.bi-chat-left-text::before{content:"\f252"}.bi-chat-left::before{content:"\f253"}.bi-chat-quote-fill::before{content:"\f254"}.bi-chat-quote::before{content:"\f255"}.bi-chat-right-dots-fill::before{content:"\f256"}.bi-chat-right-dots::before{content:"\f257"}.bi-chat-right-fill::before{content:"\f258"}.bi-chat-right-quote-fill::before{content:"\f259"}.bi-chat-right-quote::before{content:"\f25a"}.bi-chat-right-text-fill::before{content:"\f25b"}.bi-chat-right-text::before{content:"\f25c"}.bi-chat-right::before{content:"\f25d"}.bi-chat-square-dots-fill::before{content:"\f25e"}.bi-chat-square-dots::before{content:"\f25f"}.bi-chat-square-fill::before{content:"\f260"}.bi-chat-square-quote-fill::before{content:"\f261"}.bi-chat-square-quote::before{content:"\f262"}.bi-chat-square-text-fill::before{content:"\f263"}.bi-chat-square-text::before{content:"\f264"}.bi-chat-square::before{content:"\f265"}.bi-chat-text-fill::before{content:"\f266"}.bi-chat-text::before{content:"\f267"}.bi-chat::before{content:"\f268"}.bi-check-all::before{content:"\f269"}.bi-check-circle-fill::before{content:"\f26a"}.bi-check-circle::before{content:"\f26b"}.bi-check-square-fill::before{content:"\f26c"}.bi-check-square::before{content:"\f26d"}.bi-check::before{content:"\f26e"}.bi-check2-all::before{content:"\f26f"}.bi-check2-circle::before{content:"\f270"}.bi-check2-square::before{content:"\f271"}.bi-check2::before{content:"\f272"}.bi-chevron-bar-contract::before{content:"\f273"}.bi-chevron-bar-down::before{content:"\f274"}.bi-chevron-bar-expand::before{content:"\f275"}.bi-chevron-bar-left::before{content:"\f276"}.bi-chevron-bar-right::before{content:"\f277"}.bi-chevron-bar-up::before{content:"\f278"}.bi-chevron-compact-down::before{content:"\f279"}.bi-chevron-compact-left::before{content:"\f27a"}.bi-chevron-compact-right::before{content:"\f27b"}.bi-chevron-compact-up::before{content:"\f27c"}.bi-chevron-contract::before{content:"\f27d"}.bi-chevron-double-down::before{content:"\f27e"}.bi-chevron-double-left::before{content:"\f27f"}.bi-chevron-double-right::before{content:"\f280"}.bi-chevron-double-up::before{content:"\f281"}.bi-chevron-down::before{content:"\f282"}.bi-chevron-expand::before{content:"\f283"}.bi-chevron-left::before{content:"\f284"}.bi-chevron-right::before{content:"\f285"}.bi-chevron-up::before{content:"\f286"}.bi-circle-fill::before{content:"\f287"}.bi-circle-half::before{content:"\f288"}.bi-circle-square::before{content:"\f289"}.bi-circle::before{content:"\f28a"}.bi-clipboard-check::before{content:"\f28b"}.bi-clipboard-data::before{content:"\f28c"}.bi-clipboard-minus::before{content:"\f28d"}.bi-clipboard-plus::before{content:"\f28e"}.bi-clipboard-x::before{content:"\f28f"}.bi-clipboard::before{content:"\f290"}.bi-clock-fill::before{content:"\f291"}.bi-clock-history::before{content:"\f292"}.bi-clock::before{content:"\f293"}.bi-cloud-arrow-down-fill::before{content:"\f294"}.bi-cloud-arrow-down::before{content:"\f295"}.bi-cloud-arrow-up-fill::before{content:"\f296"}.bi-cloud-arrow-up::before{content:"\f297"}.bi-cloud-check-fill::before{content:"\f298"}.bi-cloud-check::before{content:"\f299"}.bi-cloud-download-fill::before{content:"\f29a"}.bi-cloud-download::before{content:"\f29b"}.bi-cloud-drizzle-fill::before{content:"\f29c"}.bi-cloud-drizzle::before{content:"\f29d"}.bi-cloud-fill::before{content:"\f29e"}.bi-cloud-fog-fill::before{content:"\f29f"}.bi-cloud-fog::before{content:"\f2a0"}.bi-cloud-fog2-fill::before{content:"\f2a1"}.bi-cloud-fog2::before{content:"\f2a2"}.bi-cloud-hail-fill::before{content:"\f2a3"}.bi-cloud-hail::before{content:"\f2a4"}.bi-cloud-haze-1::before{content:"\f2a5"}.bi-cloud-haze-fill::before{content:"\f2a6"}.bi-cloud-haze::before{content:"\f2a7"}.bi-cloud-haze2-fill::before{content:"\f2a8"}.bi-cloud-lightning-fill::before{content:"\f2a9"}.bi-cloud-lightning-rain-fill::before{content:"\f2aa"}.bi-cloud-lightning-rain::before{content:"\f2ab"}.bi-cloud-lightning::before{content:"\f2ac"}.bi-cloud-minus-fill::before{content:"\f2ad"}.bi-cloud-minus::before{content:"\f2ae"}.bi-cloud-moon-fill::before{content:"\f2af"}.bi-cloud-moon::before{content:"\f2b0"}.bi-cloud-plus-fill::before{content:"\f2b1"}.bi-cloud-plus::before{content:"\f2b2"}.bi-cloud-rain-fill::before{content:"\f2b3"}.bi-cloud-rain-heavy-fill::before{content:"\f2b4"}.bi-cloud-rain-heavy::before{content:"\f2b5"}.bi-cloud-rain::before{content:"\f2b6"}.bi-cloud-slash-fill::before{content:"\f2b7"}.bi-cloud-slash::before{content:"\f2b8"}.bi-cloud-sleet-fill::before{content:"\f2b9"}.bi-cloud-sleet::before{content:"\f2ba"}.bi-cloud-snow-fill::before{content:"\f2bb"}.bi-cloud-snow::before{content:"\f2bc"}.bi-cloud-sun-fill::before{content:"\f2bd"}.bi-cloud-sun::before{content:"\f2be"}.bi-cloud-upload-fill::before{content:"\f2bf"}.bi-cloud-upload::before{content:"\f2c0"}.bi-cloud::before{content:"\f2c1"}.bi-clouds-fill::before{content:"\f2c2"}.bi-clouds::before{content:"\f2c3"}.bi-cloudy-fill::before{content:"\f2c4"}.bi-cloudy::before{content:"\f2c5"}.bi-code-slash::before{content:"\f2c6"}.bi-code-square::before{content:"\f2c7"}.bi-code::before{content:"\f2c8"}.bi-collection-fill::before{content:"\f2c9"}.bi-collection-play-fill::before{content:"\f2ca"}.bi-collection-play::before{content:"\f2cb"}.bi-collection::before{content:"\f2cc"}.bi-columns-gap::before{content:"\f2cd"}.bi-columns::before{content:"\f2ce"}.bi-command::before{content:"\f2cf"}.bi-compass-fill::before{content:"\f2d0"}.bi-compass::before{content:"\f2d1"}.bi-cone-striped::before{content:"\f2d2"}.bi-cone::before{content:"\f2d3"}.bi-controller::before{content:"\f2d4"}.bi-cpu-fill::before{content:"\f2d5"}.bi-cpu::before{content:"\f2d6"}.bi-credit-card-2-back-fill::before{content:"\f2d7"}.bi-credit-card-2-back::before{content:"\f2d8"}.bi-credit-card-2-front-fill::before{content:"\f2d9"}.bi-credit-card-2-front::before{content:"\f2da"}.bi-credit-card-fill::before{content:"\f2db"}.bi-credit-card::before{content:"\f2dc"}.bi-crop::before{content:"\f2dd"}.bi-cup-fill::before{content:"\f2de"}.bi-cup-straw::before{content:"\f2df"}.bi-cup::before{content:"\f2e0"}.bi-cursor-fill::before{content:"\f2e1"}.bi-cursor-text::before{content:"\f2e2"}.bi-cursor::before{content:"\f2e3"}.bi-dash-circle-dotted::before{content:"\f2e4"}.bi-dash-circle-fill::before{content:"\f2e5"}.bi-dash-circle::before{content:"\f2e6"}.bi-dash-square-dotted::before{content:"\f2e7"}.bi-dash-square-fill::before{content:"\f2e8"}.bi-dash-square::before{content:"\f2e9"}.bi-dash::before{content:"\f2ea"}.bi-diagram-2-fill::before{content:"\f2eb"}.bi-diagram-2::before{content:"\f2ec"}.bi-diagram-3-fill::before{content:"\f2ed"}.bi-diagram-3::before{content:"\f2ee"}.bi-diamond-fill::before{content:"\f2ef"}.bi-diamond-half::before{content:"\f2f0"}.bi-diamond::before{content:"\f2f1"}.bi-dice-1-fill::before{content:"\f2f2"}.bi-dice-1::before{content:"\f2f3"}.bi-dice-2-fill::before{content:"\f2f4"}.bi-dice-2::before{content:"\f2f5"}.bi-dice-3-fill::before{content:"\f2f6"}.bi-dice-3::before{content:"\f2f7"}.bi-dice-4-fill::before{content:"\f2f8"}.bi-dice-4::before{content:"\f2f9"}.bi-dice-5-fill::before{content:"\f2fa"}.bi-dice-5::before{content:"\f2fb"}.bi-dice-6-fill::before{content:"\f2fc"}.bi-dice-6::before{content:"\f2fd"}.bi-disc-fill::before{content:"\f2fe"}.bi-disc::before{content:"\f2ff"}.bi-discord::before{content:"\f300"}.bi-display-fill::before{content:"\f301"}.bi-display::before{content:"\f302"}.bi-distribute-horizontal::before{content:"\f303"}.bi-distribute-vertical::before{content:"\f304"}.bi-door-closed-fill::before{content:"\f305"}.bi-door-closed::before{content:"\f306"}.bi-door-open-fill::before{content:"\f307"}.bi-door-open::before{content:"\f308"}.bi-dot::before{content:"\f309"}.bi-download::before{content:"\f30a"}.bi-droplet-fill::before{content:"\f30b"}.bi-droplet-half::before{content:"\f30c"}.bi-droplet::before{content:"\f30d"}.bi-earbuds::before{content:"\f30e"}.bi-easel-fill::before{content:"\f30f"}.bi-easel::before{content:"\f310"}.bi-egg-fill::before{content:"\f311"}.bi-egg-fried::before{content:"\f312"}.bi-egg::before{content:"\f313"}.bi-eject-fill::before{content:"\f314"}.bi-eject::before{content:"\f315"}.bi-emoji-angry-fill::before{content:"\f316"}.bi-emoji-angry::before{content:"\f317"}.bi-emoji-dizzy-fill::before{content:"\f318"}.bi-emoji-dizzy::before{content:"\f319"}.bi-emoji-expressionless-fill::before{content:"\f31a"}.bi-emoji-expressionless::before{content:"\f31b"}.bi-emoji-frown-fill::before{content:"\f31c"}.bi-emoji-frown::before{content:"\f31d"}.bi-emoji-heart-eyes-fill::before{content:"\f31e"}.bi-emoji-heart-eyes::before{content:"\f31f"}.bi-emoji-laughing-fill::before{content:"\f320"}.bi-emoji-laughing::before{content:"\f321"}.bi-emoji-neutral-fill::before{content:"\f322"}.bi-emoji-neutral::before{content:"\f323"}.bi-emoji-smile-fill::before{content:"\f324"}.bi-emoji-smile-upside-down-fill::before{content:"\f325"}.bi-emoji-smile-upside-down::before{content:"\f326"}.bi-emoji-smile::before{content:"\f327"}.bi-emoji-sunglasses-fill::before{content:"\f328"}.bi-emoji-sunglasses::before{content:"\f329"}.bi-emoji-wink-fill::before{content:"\f32a"}.bi-emoji-wink::before{content:"\f32b"}.bi-envelope-fill::before{content:"\f32c"}.bi-envelope-open-fill::before{content:"\f32d"}.bi-envelope-open::before{content:"\f32e"}.bi-envelope::before{content:"\f32f"}.bi-eraser-fill::before{content:"\f330"}.bi-eraser::before{content:"\f331"}.bi-exclamation-circle-fill::before{content:"\f332"}.bi-exclamation-circle::before{content:"\f333"}.bi-exclamation-diamond-fill::before{content:"\f334"}.bi-exclamation-diamond::before{content:"\f335"}.bi-exclamation-octagon-fill::before{content:"\f336"}.bi-exclamation-octagon::before{content:"\f337"}.bi-exclamation-square-fill::before{content:"\f338"}.bi-exclamation-square::before{content:"\f339"}.bi-exclamation-triangle-fill::before{content:"\f33a"}.bi-exclamation-triangle::before{content:"\f33b"}.bi-exclamation::before{content:"\f33c"}.bi-exclude::before{content:"\f33d"}.bi-eye-fill::before{content:"\f33e"}.bi-eye-slash-fill::before{content:"\f33f"}.bi-eye-slash::before{content:"\f340"}.bi-eye::before{content:"\f341"}.bi-eyedropper::before{content:"\f342"}.bi-eyeglasses::before{content:"\f343"}.bi-facebook::before{content:"\f344"}.bi-file-arrow-down-fill::before{content:"\f345"}.bi-file-arrow-down::before{content:"\f346"}.bi-file-arrow-up-fill::before{content:"\f347"}.bi-file-arrow-up::before{content:"\f348"}.bi-file-bar-graph-fill::before{content:"\f349"}.bi-file-bar-graph::before{content:"\f34a"}.bi-file-binary-fill::before{content:"\f34b"}.bi-file-binary::before{content:"\f34c"}.bi-file-break-fill::before{content:"\f34d"}.bi-file-break::before{content:"\f34e"}.bi-file-check-fill::before{content:"\f34f"}.bi-file-check::before{content:"\f350"}.bi-file-code-fill::before{content:"\f351"}.bi-file-code::before{content:"\f352"}.bi-file-diff-fill::before{content:"\f353"}.bi-file-diff::before{content:"\f354"}.bi-file-earmark-arrow-down-fill::before{content:"\f355"}.bi-file-earmark-arrow-down::before{content:"\f356"}.bi-file-earmark-arrow-up-fill::before{content:"\f357"}.bi-file-earmark-arrow-up::before{content:"\f358"}.bi-file-earmark-bar-graph-fill::before{content:"\f359"}.bi-file-earmark-bar-graph::before{content:"\f35a"}.bi-file-earmark-binary-fill::before{content:"\f35b"}.bi-file-earmark-binary::before{content:"\f35c"}.bi-file-earmark-break-fill::before{content:"\f35d"}.bi-file-earmark-break::before{content:"\f35e"}.bi-file-earmark-check-fill::before{content:"\f35f"}.bi-file-earmark-check::before{content:"\f360"}.bi-file-earmark-code-fill::before{content:"\f361"}.bi-file-earmark-code::before{content:"\f362"}.bi-file-earmark-diff-fill::before{content:"\f363"}.bi-file-earmark-diff::before{content:"\f364"}.bi-file-earmark-easel-fill::before{content:"\f365"}.bi-file-earmark-easel::before{content:"\f366"}.bi-file-earmark-excel-fill::before{content:"\f367"}.bi-file-earmark-excel::before{content:"\f368"}.bi-file-earmark-fill::before{content:"\f369"}.bi-file-earmark-font-fill::before{content:"\f36a"}.bi-file-earmark-font::before{content:"\f36b"}.bi-file-earmark-image-fill::before{content:"\f36c"}.bi-file-earmark-image::before{content:"\f36d"}.bi-file-earmark-lock-fill::before{content:"\f36e"}.bi-file-earmark-lock::before{content:"\f36f"}.bi-file-earmark-lock2-fill::before{content:"\f370"}.bi-file-earmark-lock2::before{content:"\f371"}.bi-file-earmark-medical-fill::before{content:"\f372"}.bi-file-earmark-medical::before{content:"\f373"}.bi-file-earmark-minus-fill::before{content:"\f374"}.bi-file-earmark-minus::before{content:"\f375"}.bi-file-earmark-music-fill::before{content:"\f376"}.bi-file-earmark-music::before{content:"\f377"}.bi-file-earmark-person-fill::before{content:"\f378"}.bi-file-earmark-person::before{content:"\f379"}.bi-file-earmark-play-fill::before{content:"\f37a"}.bi-file-earmark-play::before{content:"\f37b"}.bi-file-earmark-plus-fill::before{content:"\f37c"}.bi-file-earmark-plus::before{content:"\f37d"}.bi-file-earmark-post-fill::before{content:"\f37e"}.bi-file-earmark-post::before{content:"\f37f"}.bi-file-earmark-ppt-fill::before{content:"\f380"}.bi-file-earmark-ppt::before{content:"\f381"}.bi-file-earmark-richtext-fill::before{content:"\f382"}.bi-file-earmark-richtext::before{content:"\f383"}.bi-file-earmark-ruled-fill::before{content:"\f384"}.bi-file-earmark-ruled::before{content:"\f385"}.bi-file-earmark-slides-fill::before{content:"\f386"}.bi-file-earmark-slides::before{content:"\f387"}.bi-file-earmark-spreadsheet-fill::before{content:"\f388"}.bi-file-earmark-spreadsheet::before{content:"\f389"}.bi-file-earmark-text-fill::before{content:"\f38a"}.bi-file-earmark-text::before{content:"\f38b"}.bi-file-earmark-word-fill::before{content:"\f38c"}.bi-file-earmark-word::before{content:"\f38d"}.bi-file-earmark-x-fill::before{content:"\f38e"}.bi-file-earmark-x::before{content:"\f38f"}.bi-file-earmark-zip-fill::before{content:"\f390"}.bi-file-earmark-zip::before{content:"\f391"}.bi-file-earmark::before{content:"\f392"}.bi-file-easel-fill::before{content:"\f393"}.bi-file-easel::before{content:"\f394"}.bi-file-excel-fill::before{content:"\f395"}.bi-file-excel::before{content:"\f396"}.bi-file-fill::before{content:"\f397"}.bi-file-font-fill::before{content:"\f398"}.bi-file-font::before{content:"\f399"}.bi-file-image-fill::before{content:"\f39a"}.bi-file-image::before{content:"\f39b"}.bi-file-lock-fill::before{content:"\f39c"}.bi-file-lock::before{content:"\f39d"}.bi-file-lock2-fill::before{content:"\f39e"}.bi-file-lock2::before{content:"\f39f"}.bi-file-medical-fill::before{content:"\f3a0"}.bi-file-medical::before{content:"\f3a1"}.bi-file-minus-fill::before{content:"\f3a2"}.bi-file-minus::before{content:"\f3a3"}.bi-file-music-fill::before{content:"\f3a4"}.bi-file-music::before{content:"\f3a5"}.bi-file-person-fill::before{content:"\f3a6"}.bi-file-person::before{content:"\f3a7"}.bi-file-play-fill::before{content:"\f3a8"}.bi-file-play::before{content:"\f3a9"}.bi-file-plus-fill::before{content:"\f3aa"}.bi-file-plus::before{content:"\f3ab"}.bi-file-post-fill::before{content:"\f3ac"}.bi-file-post::before{content:"\f3ad"}.bi-file-ppt-fill::before{content:"\f3ae"}.bi-file-ppt::before{content:"\f3af"}.bi-file-richtext-fill::before{content:"\f3b0"}.bi-file-richtext::before{content:"\f3b1"}.bi-file-ruled-fill::before{content:"\f3b2"}.bi-file-ruled::before{content:"\f3b3"}.bi-file-slides-fill::before{content:"\f3b4"}.bi-file-slides::before{content:"\f3b5"}.bi-file-spreadsheet-fill::before{content:"\f3b6"}.bi-file-spreadsheet::before{content:"\f3b7"}.bi-file-text-fill::before{content:"\f3b8"}.bi-file-text::before{content:"\f3b9"}.bi-file-word-fill::before{content:"\f3ba"}.bi-file-word::before{content:"\f3bb"}.bi-file-x-fill::before{content:"\f3bc"}.bi-file-x::before{content:"\f3bd"}.bi-file-zip-fill::before{content:"\f3be"}.bi-file-zip::before{content:"\f3bf"}.bi-file::before{content:"\f3c0"}.bi-files-alt::before{content:"\f3c1"}.bi-files::before{content:"\f3c2"}.bi-film::before{content:"\f3c3"}.bi-filter-circle-fill::before{content:"\f3c4"}.bi-filter-circle::before{content:"\f3c5"}.bi-filter-left::before{content:"\f3c6"}.bi-filter-right::before{content:"\f3c7"}.bi-filter-square-fill::before{content:"\f3c8"}.bi-filter-square::before{content:"\f3c9"}.bi-filter::before{content:"\f3ca"}.bi-flag-fill::before{content:"\f3cb"}.bi-flag::before{content:"\f3cc"}.bi-flower1::before{content:"\f3cd"}.bi-flower2::before{content:"\f3ce"}.bi-flower3::before{content:"\f3cf"}.bi-folder-check::before{content:"\f3d0"}.bi-folder-fill::before{content:"\f3d1"}.bi-folder-minus::before{content:"\f3d2"}.bi-folder-plus::before{content:"\f3d3"}.bi-folder-symlink-fill::before{content:"\f3d4"}.bi-folder-symlink::before{content:"\f3d5"}.bi-folder-x::before{content:"\f3d6"}.bi-folder::before{content:"\f3d7"}.bi-folder2-open::before{content:"\f3d8"}.bi-folder2::before{content:"\f3d9"}.bi-fonts::before{content:"\f3da"}.bi-forward-fill::before{content:"\f3db"}.bi-forward::before{content:"\f3dc"}.bi-front::before{content:"\f3dd"}.bi-fullscreen-exit::before{content:"\f3de"}.bi-fullscreen::before{content:"\f3df"}.bi-funnel-fill::before{content:"\f3e0"}.bi-funnel::before{content:"\f3e1"}.bi-gear-fill::before{content:"\f3e2"}.bi-gear-wide-connected::before{content:"\f3e3"}.bi-gear-wide::before{content:"\f3e4"}.bi-gear::before{content:"\f3e5"}.bi-gem::before{content:"\f3e6"}.bi-geo-alt-fill::before{content:"\f3e7"}.bi-geo-alt::before{content:"\f3e8"}.bi-geo-fill::before{content:"\f3e9"}.bi-geo::before{content:"\f3ea"}.bi-gift-fill::before{content:"\f3eb"}.bi-gift::before{content:"\f3ec"}.bi-github::before{content:"\f3ed"}.bi-globe::before{content:"\f3ee"}.bi-globe2::before{content:"\f3ef"}.bi-google::before{content:"\f3f0"}.bi-graph-down::before{content:"\f3f1"}.bi-graph-up::before{content:"\f3f2"}.bi-grid-1x2-fill::before{content:"\f3f3"}.bi-grid-1x2::before{content:"\f3f4"}.bi-grid-3x2-gap-fill::before{content:"\f3f5"}.bi-grid-3x2-gap::before{content:"\f3f6"}.bi-grid-3x2::before{content:"\f3f7"}.bi-grid-3x3-gap-fill::before{content:"\f3f8"}.bi-grid-3x3-gap::before{content:"\f3f9"}.bi-grid-3x3::before{content:"\f3fa"}.bi-grid-fill::before{content:"\f3fb"}.bi-grid::before{content:"\f3fc"}.bi-grip-horizontal::before{content:"\f3fd"}.bi-grip-vertical::before{content:"\f3fe"}.bi-hammer::before{content:"\f3ff"}.bi-hand-index-fill::before{content:"\f400"}.bi-hand-index-thumb-fill::before{content:"\f401"}.bi-hand-index-thumb::before{content:"\f402"}.bi-hand-index::before{content:"\f403"}.bi-hand-thumbs-down-fill::before{content:"\f404"}.bi-hand-thumbs-down::before{content:"\f405"}.bi-hand-thumbs-up-fill::before{content:"\f406"}.bi-hand-thumbs-up::before{content:"\f407"}.bi-handbag-fill::before{content:"\f408"}.bi-handbag::before{content:"\f409"}.bi-hash::before{content:"\f40a"}.bi-hdd-fill::before{content:"\f40b"}.bi-hdd-network-fill::before{content:"\f40c"}.bi-hdd-network::before{content:"\f40d"}.bi-hdd-rack-fill::before{content:"\f40e"}.bi-hdd-rack::before{content:"\f40f"}.bi-hdd-stack-fill::before{content:"\f410"}.bi-hdd-stack::before{content:"\f411"}.bi-hdd::before{content:"\f412"}.bi-headphones::before{content:"\f413"}.bi-headset::before{content:"\f414"}.bi-heart-fill::before{content:"\f415"}.bi-heart-half::before{content:"\f416"}.bi-heart::before{content:"\f417"}.bi-heptagon-fill::before{content:"\f418"}.bi-heptagon-half::before{content:"\f419"}.bi-heptagon::before{content:"\f41a"}.bi-hexagon-fill::before{content:"\f41b"}.bi-hexagon-half::before{content:"\f41c"}.bi-hexagon::before{content:"\f41d"}.bi-hourglass-bottom::before{content:"\f41e"}.bi-hourglass-split::before{content:"\f41f"}.bi-hourglass-top::before{content:"\f420"}.bi-hourglass::before{content:"\f421"}.bi-house-door-fill::before{content:"\f422"}.bi-house-door::before{content:"\f423"}.bi-house-fill::before{content:"\f424"}.bi-house::before{content:"\f425"}.bi-hr::before{content:"\f426"}.bi-hurricane::before{content:"\f427"}.bi-image-alt::before{content:"\f428"}.bi-image-fill::before{content:"\f429"}.bi-image::before{content:"\f42a"}.bi-images::before{content:"\f42b"}.bi-inbox-fill::before{content:"\f42c"}.bi-inbox::before{content:"\f42d"}.bi-inboxes-fill::before{content:"\f42e"}.bi-inboxes::before{content:"\f42f"}.bi-info-circle-fill::before{content:"\f430"}.bi-info-circle::before{content:"\f431"}.bi-info-square-fill::before{content:"\f432"}.bi-info-square::before{content:"\f433"}.bi-info::before{content:"\f434"}.bi-input-cursor-text::before{content:"\f435"}.bi-input-cursor::before{content:"\f436"}.bi-instagram::before{content:"\f437"}.bi-intersect::before{content:"\f438"}.bi-journal-album::before{content:"\f439"}.bi-journal-arrow-down::before{content:"\f43a"}.bi-journal-arrow-up::before{content:"\f43b"}.bi-journal-bookmark-fill::before{content:"\f43c"}.bi-journal-bookmark::before{content:"\f43d"}.bi-journal-check::before{content:"\f43e"}.bi-journal-code::before{content:"\f43f"}.bi-journal-medical::before{content:"\f440"}.bi-journal-minus::before{content:"\f441"}.bi-journal-plus::before{content:"\f442"}.bi-journal-richtext::before{content:"\f443"}.bi-journal-text::before{content:"\f444"}.bi-journal-x::before{content:"\f445"}.bi-journal::before{content:"\f446"}.bi-journals::before{content:"\f447"}.bi-joystick::before{content:"\f448"}.bi-justify-left::before{content:"\f449"}.bi-justify-right::before{content:"\f44a"}.bi-justify::before{content:"\f44b"}.bi-kanban-fill::before{content:"\f44c"}.bi-kanban::before{content:"\f44d"}.bi-key-fill::before{content:"\f44e"}.bi-key::before{content:"\f44f"}.bi-keyboard-fill::before{content:"\f450"}.bi-keyboard::before{content:"\f451"}.bi-ladder::before{content:"\f452"}.bi-lamp-fill::before{content:"\f453"}.bi-lamp::before{content:"\f454"}.bi-laptop-fill::before{content:"\f455"}.bi-laptop::before{content:"\f456"}.bi-layer-backward::before{content:"\f457"}.bi-layer-forward::before{content:"\f458"}.bi-layers-fill::before{content:"\f459"}.bi-layers-half::before{content:"\f45a"}.bi-layers::before{content:"\f45b"}.bi-layout-sidebar-inset-reverse::before{content:"\f45c"}.bi-layout-sidebar-inset::before{content:"\f45d"}.bi-layout-sidebar-reverse::before{content:"\f45e"}.bi-layout-sidebar::before{content:"\f45f"}.bi-layout-split::before{content:"\f460"}.bi-layout-text-sidebar-reverse::before{content:"\f461"}.bi-layout-text-sidebar::before{content:"\f462"}.bi-layout-text-window-reverse::before{content:"\f463"}.bi-layout-text-window::before{content:"\f464"}.bi-layout-three-columns::before{content:"\f465"}.bi-layout-wtf::before{content:"\f466"}.bi-life-preserver::before{content:"\f467"}.bi-lightbulb-fill::before{content:"\f468"}.bi-lightbulb-off-fill::before{content:"\f469"}.bi-lightbulb-off::before{content:"\f46a"}.bi-lightbulb::before{content:"\f46b"}.bi-lightning-charge-fill::before{content:"\f46c"}.bi-lightning-charge::before{content:"\f46d"}.bi-lightning-fill::before{content:"\f46e"}.bi-lightning::before{content:"\f46f"}.bi-link-45deg::before{content:"\f470"}.bi-link::before{content:"\f471"}.bi-linkedin::before{content:"\f472"}.bi-list-check::before{content:"\f473"}.bi-list-nested::before{content:"\f474"}.bi-list-ol::before{content:"\f475"}.bi-list-stars::before{content:"\f476"}.bi-list-task::before{content:"\f477"}.bi-list-ul::before{content:"\f478"}.bi-list::before{content:"\f479"}.bi-lock-fill::before{content:"\f47a"}.bi-lock::before{content:"\f47b"}.bi-mailbox::before{content:"\f47c"}.bi-mailbox2::before{content:"\f47d"}.bi-map-fill::before{content:"\f47e"}.bi-map::before{content:"\f47f"}.bi-markdown-fill::before{content:"\f480"}.bi-markdown::before{content:"\f481"}.bi-mask::before{content:"\f482"}.bi-megaphone-fill::before{content:"\f483"}.bi-megaphone::before{content:"\f484"}.bi-menu-app-fill::before{content:"\f485"}.bi-menu-app::before{content:"\f486"}.bi-menu-button-fill::before{content:"\f487"}.bi-menu-button-wide-fill::before{content:"\f488"}.bi-menu-button-wide::before{content:"\f489"}.bi-menu-button::before{content:"\f48a"}.bi-menu-down::before{content:"\f48b"}.bi-menu-up::before{content:"\f48c"}.bi-mic-fill::before{content:"\f48d"}.bi-mic-mute-fill::before{content:"\f48e"}.bi-mic-mute::before{content:"\f48f"}.bi-mic::before{content:"\f490"}.bi-minecart-loaded::before{content:"\f491"}.bi-minecart::before{content:"\f492"}.bi-moisture::before{content:"\f493"}.bi-moon-fill::before{content:"\f494"}.bi-moon-stars-fill::before{content:"\f495"}.bi-moon-stars::before{content:"\f496"}.bi-moon::before{content:"\f497"}.bi-mouse-fill::before{content:"\f498"}.bi-mouse::before{content:"\f499"}.bi-mouse2-fill::before{content:"\f49a"}.bi-mouse2::before{content:"\f49b"}.bi-mouse3-fill::before{content:"\f49c"}.bi-mouse3::before{content:"\f49d"}.bi-music-note-beamed::before{content:"\f49e"}.bi-music-note-list::before{content:"\f49f"}.bi-music-note::before{content:"\f4a0"}.bi-music-player-fill::before{content:"\f4a1"}.bi-music-player::before{content:"\f4a2"}.bi-newspaper::before{content:"\f4a3"}.bi-node-minus-fill::before{content:"\f4a4"}.bi-node-minus::before{content:"\f4a5"}.bi-node-plus-fill::before{content:"\f4a6"}.bi-node-plus::before{content:"\f4a7"}.bi-nut-fill::before{content:"\f4a8"}.bi-nut::before{content:"\f4a9"}.bi-octagon-fill::before{content:"\f4aa"}.bi-octagon-half::before{content:"\f4ab"}.bi-octagon::before{content:"\f4ac"}.bi-option::before{content:"\f4ad"}.bi-outlet::before{content:"\f4ae"}.bi-paint-bucket::before{content:"\f4af"}.bi-palette-fill::before{content:"\f4b0"}.bi-palette::before{content:"\f4b1"}.bi-palette2::before{content:"\f4b2"}.bi-paperclip::before{content:"\f4b3"}.bi-paragraph::before{content:"\f4b4"}.bi-patch-check-fill::before{content:"\f4b5"}.bi-patch-check::before{content:"\f4b6"}.bi-patch-exclamation-fill::before{content:"\f4b7"}.bi-patch-exclamation::before{content:"\f4b8"}.bi-patch-minus-fill::before{content:"\f4b9"}.bi-patch-minus::before{content:"\f4ba"}.bi-patch-plus-fill::before{content:"\f4bb"}.bi-patch-plus::before{content:"\f4bc"}.bi-patch-question-fill::before{content:"\f4bd"}.bi-patch-question::before{content:"\f4be"}.bi-pause-btn-fill::before{content:"\f4bf"}.bi-pause-btn::before{content:"\f4c0"}.bi-pause-circle-fill::before{content:"\f4c1"}.bi-pause-circle::before{content:"\f4c2"}.bi-pause-fill::before{content:"\f4c3"}.bi-pause::before{content:"\f4c4"}.bi-peace-fill::before{content:"\f4c5"}.bi-peace::before{content:"\f4c6"}.bi-pen-fill::before{content:"\f4c7"}.bi-pen::before{content:"\f4c8"}.bi-pencil-fill::before{content:"\f4c9"}.bi-pencil-square::before{content:"\f4ca"}.bi-pencil::before{content:"\f4cb"}.bi-pentagon-fill::before{content:"\f4cc"}.bi-pentagon-half::before{content:"\f4cd"}.bi-pentagon::before{content:"\f4ce"}.bi-people-fill::before{content:"\f4cf"}.bi-people::before{content:"\f4d0"}.bi-percent::before{content:"\f4d1"}.bi-person-badge-fill::before{content:"\f4d2"}.bi-person-badge::before{content:"\f4d3"}.bi-person-bounding-box::before{content:"\f4d4"}.bi-person-check-fill::before{content:"\f4d5"}.bi-person-check::before{content:"\f4d6"}.bi-person-circle::before{content:"\f4d7"}.bi-person-dash-fill::before{content:"\f4d8"}.bi-person-dash::before{content:"\f4d9"}.bi-person-fill::before{content:"\f4da"}.bi-person-lines-fill::before{content:"\f4db"}.bi-person-plus-fill::before{content:"\f4dc"}.bi-person-plus::before{content:"\f4dd"}.bi-person-square::before{content:"\f4de"}.bi-person-x-fill::before{content:"\f4df"}.bi-person-x::before{content:"\f4e0"}.bi-person::before{content:"\f4e1"}.bi-phone-fill::before{content:"\f4e2"}.bi-phone-landscape-fill::before{content:"\f4e3"}.bi-phone-landscape::before{content:"\f4e4"}.bi-phone-vibrate-fill::before{content:"\f4e5"}.bi-phone-vibrate::before{content:"\f4e6"}.bi-phone::before{content:"\f4e7"}.bi-pie-chart-fill::before{content:"\f4e8"}.bi-pie-chart::before{content:"\f4e9"}.bi-pin-angle-fill::before{content:"\f4ea"}.bi-pin-angle::before{content:"\f4eb"}.bi-pin-fill::before{content:"\f4ec"}.bi-pin::before{content:"\f4ed"}.bi-pip-fill::before{content:"\f4ee"}.bi-pip::before{content:"\f4ef"}.bi-play-btn-fill::before{content:"\f4f0"}.bi-play-btn::before{content:"\f4f1"}.bi-play-circle-fill::before{content:"\f4f2"}.bi-play-circle::before{content:"\f4f3"}.bi-play-fill::before{content:"\f4f4"}.bi-play::before{content:"\f4f5"}.bi-plug-fill::before{content:"\f4f6"}.bi-plug::before{content:"\f4f7"}.bi-plus-circle-dotted::before{content:"\f4f8"}.bi-plus-circle-fill::before{content:"\f4f9"}.bi-plus-circle::before{content:"\f4fa"}.bi-plus-square-dotted::before{content:"\f4fb"}.bi-plus-square-fill::before{content:"\f4fc"}.bi-plus-square::before{content:"\f4fd"}.bi-plus::before{content:"\f4fe"}.bi-power::before{content:"\f4ff"}.bi-printer-fill::before{content:"\f500"}.bi-printer::before{content:"\f501"}.bi-puzzle-fill::before{content:"\f502"}.bi-puzzle::before{content:"\f503"}.bi-question-circle-fill::before{content:"\f504"}.bi-question-circle::before{content:"\f505"}.bi-question-diamond-fill::before{content:"\f506"}.bi-question-diamond::before{content:"\f507"}.bi-question-octagon-fill::before{content:"\f508"}.bi-question-octagon::before{content:"\f509"}.bi-question-square-fill::before{content:"\f50a"}.bi-question-square::before{content:"\f50b"}.bi-question::before{content:"\f50c"}.bi-rainbow::before{content:"\f50d"}.bi-receipt-cutoff::before{content:"\f50e"}.bi-receipt::before{content:"\f50f"}.bi-reception-0::before{content:"\f510"}.bi-reception-1::before{content:"\f511"}.bi-reception-2::before{content:"\f512"}.bi-reception-3::before{content:"\f513"}.bi-reception-4::before{content:"\f514"}.bi-record-btn-fill::before{content:"\f515"}.bi-record-btn::before{content:"\f516"}.bi-record-circle-fill::before{content:"\f517"}.bi-record-circle::before{content:"\f518"}.bi-record-fill::before{content:"\f519"}.bi-record::before{content:"\f51a"}.bi-record2-fill::before{content:"\f51b"}.bi-record2::before{content:"\f51c"}.bi-reply-all-fill::before{content:"\f51d"}.bi-reply-all::before{content:"\f51e"}.bi-reply-fill::before{content:"\f51f"}.bi-reply::before{content:"\f520"}.bi-rss-fill::before{content:"\f521"}.bi-rss::before{content:"\f522"}.bi-rulers::before{content:"\f523"}.bi-save-fill::before{content:"\f524"}.bi-save::before{content:"\f525"}.bi-save2-fill::before{content:"\f526"}.bi-save2::before{content:"\f527"}.bi-scissors::before{content:"\f528"}.bi-screwdriver::before{content:"\f529"}.bi-search::before{content:"\f52a"}.bi-segmented-nav::before{content:"\f52b"}.bi-server::before{content:"\f52c"}.bi-share-fill::before{content:"\f52d"}.bi-share::before{content:"\f52e"}.bi-shield-check::before{content:"\f52f"}.bi-shield-exclamation::before{content:"\f530"}.bi-shield-fill-check::before{content:"\f531"}.bi-shield-fill-exclamation::before{content:"\f532"}.bi-shield-fill-minus::before{content:"\f533"}.bi-shield-fill-plus::before{content:"\f534"}.bi-shield-fill-x::before{content:"\f535"}.bi-shield-fill::before{content:"\f536"}.bi-shield-lock-fill::before{content:"\f537"}.bi-shield-lock::before{content:"\f538"}.bi-shield-minus::before{content:"\f539"}.bi-shield-plus::before{content:"\f53a"}.bi-shield-shaded::before{content:"\f53b"}.bi-shield-slash-fill::before{content:"\f53c"}.bi-shield-slash::before{content:"\f53d"}.bi-shield-x::before{content:"\f53e"}.bi-shield::before{content:"\f53f"}.bi-shift-fill::before{content:"\f540"}.bi-shift::before{content:"\f541"}.bi-shop-window::before{content:"\f542"}.bi-shop::before{content:"\f543"}.bi-shuffle::before{content:"\f544"}.bi-signpost-2-fill::before{content:"\f545"}.bi-signpost-2::before{content:"\f546"}.bi-signpost-fill::before{content:"\f547"}.bi-signpost-split-fill::before{content:"\f548"}.bi-signpost-split::before{content:"\f549"}.bi-signpost::before{content:"\f54a"}.bi-sim-fill::before{content:"\f54b"}.bi-sim::before{content:"\f54c"}.bi-skip-backward-btn-fill::before{content:"\f54d"}.bi-skip-backward-btn::before{content:"\f54e"}.bi-skip-backward-circle-fill::before{content:"\f54f"}.bi-skip-backward-circle::before{content:"\f550"}.bi-skip-backward-fill::before{content:"\f551"}.bi-skip-backward::before{content:"\f552"}.bi-skip-end-btn-fill::before{content:"\f553"}.bi-skip-end-btn::before{content:"\f554"}.bi-skip-end-circle-fill::before{content:"\f555"}.bi-skip-end-circle::before{content:"\f556"}.bi-skip-end-fill::before{content:"\f557"}.bi-skip-end::before{content:"\f558"}.bi-skip-forward-btn-fill::before{content:"\f559"}.bi-skip-forward-btn::before{content:"\f55a"}.bi-skip-forward-circle-fill::before{content:"\f55b"}.bi-skip-forward-circle::before{content:"\f55c"}.bi-skip-forward-fill::before{content:"\f55d"}.bi-skip-forward::before{content:"\f55e"}.bi-skip-start-btn-fill::before{content:"\f55f"}.bi-skip-start-btn::before{content:"\f560"}.bi-skip-start-circle-fill::before{content:"\f561"}.bi-skip-start-circle::before{content:"\f562"}.bi-skip-start-fill::before{content:"\f563"}.bi-skip-start::before{content:"\f564"}.bi-slack::before{content:"\f565"}.bi-slash-circle-fill::before{content:"\f566"}.bi-slash-circle::before{content:"\f567"}.bi-slash-square-fill::before{content:"\f568"}.bi-slash-square::before{content:"\f569"}.bi-slash::before{content:"\f56a"}.bi-sliders::before{content:"\f56b"}.bi-smartwatch::before{content:"\f56c"}.bi-snow::before{content:"\f56d"}.bi-snow2::before{content:"\f56e"}.bi-snow3::before{content:"\f56f"}.bi-sort-alpha-down-alt::before{content:"\f570"}.bi-sort-alpha-down::before{content:"\f571"}.bi-sort-alpha-up-alt::before{content:"\f572"}.bi-sort-alpha-up::before{content:"\f573"}.bi-sort-down-alt::before{content:"\f574"}.bi-sort-down::before{content:"\f575"}.bi-sort-numeric-down-alt::before{content:"\f576"}.bi-sort-numeric-down::before{content:"\f577"}.bi-sort-numeric-up-alt::before{content:"\f578"}.bi-sort-numeric-up::before{content:"\f579"}.bi-sort-up-alt::before{content:"\f57a"}.bi-sort-up::before{content:"\f57b"}.bi-soundwave::before{content:"\f57c"}.bi-speaker-fill::before{content:"\f57d"}.bi-speaker::before{content:"\f57e"}.bi-speedometer::before{content:"\f57f"}.bi-speedometer2::before{content:"\f580"}.bi-spellcheck::before{content:"\f581"}.bi-square-fill::before{content:"\f582"}.bi-square-half::before{content:"\f583"}.bi-square::before{content:"\f584"}.bi-stack::before{content:"\f585"}.bi-star-fill::before{content:"\f586"}.bi-star-half::before{content:"\f587"}.bi-star::before{content:"\f588"}.bi-stars::before{content:"\f589"}.bi-stickies-fill::before{content:"\f58a"}.bi-stickies::before{content:"\f58b"}.bi-sticky-fill::before{content:"\f58c"}.bi-sticky::before{content:"\f58d"}.bi-stop-btn-fill::before{content:"\f58e"}.bi-stop-btn::before{content:"\f58f"}.bi-stop-circle-fill::before{content:"\f590"}.bi-stop-circle::before{content:"\f591"}.bi-stop-fill::before{content:"\f592"}.bi-stop::before{content:"\f593"}.bi-stoplights-fill::before{content:"\f594"}.bi-stoplights::before{content:"\f595"}.bi-stopwatch-fill::before{content:"\f596"}.bi-stopwatch::before{content:"\f597"}.bi-subtract::before{content:"\f598"}.bi-suit-club-fill::before{content:"\f599"}.bi-suit-club::before{content:"\f59a"}.bi-suit-diamond-fill::before{content:"\f59b"}.bi-suit-diamond::before{content:"\f59c"}.bi-suit-heart-fill::before{content:"\f59d"}.bi-suit-heart::before{content:"\f59e"}.bi-suit-spade-fill::before{content:"\f59f"}.bi-suit-spade::before{content:"\f5a0"}.bi-sun-fill::before{content:"\f5a1"}.bi-sun::before{content:"\f5a2"}.bi-sunglasses::before{content:"\f5a3"}.bi-sunrise-fill::before{content:"\f5a4"}.bi-sunrise::before{content:"\f5a5"}.bi-sunset-fill::before{content:"\f5a6"}.bi-sunset::before{content:"\f5a7"}.bi-symmetry-horizontal::before{content:"\f5a8"}.bi-symmetry-vertical::before{content:"\f5a9"}.bi-table::before{content:"\f5aa"}.bi-tablet-fill::before{content:"\f5ab"}.bi-tablet-landscape-fill::before{content:"\f5ac"}.bi-tablet-landscape::before{content:"\f5ad"}.bi-tablet::before{content:"\f5ae"}.bi-tag-fill::before{content:"\f5af"}.bi-tag::before{content:"\f5b0"}.bi-tags-fill::before{content:"\f5b1"}.bi-tags::before{content:"\f5b2"}.bi-telegram::before{content:"\f5b3"}.bi-telephone-fill::before{content:"\f5b4"}.bi-telephone-forward-fill::before{content:"\f5b5"}.bi-telephone-forward::before{content:"\f5b6"}.bi-telephone-inbound-fill::before{content:"\f5b7"}.bi-telephone-inbound::before{content:"\f5b8"}.bi-telephone-minus-fill::before{content:"\f5b9"}.bi-telephone-minus::before{content:"\f5ba"}.bi-telephone-outbound-fill::before{content:"\f5bb"}.bi-telephone-outbound::before{content:"\f5bc"}.bi-telephone-plus-fill::before{content:"\f5bd"}.bi-telephone-plus::before{content:"\f5be"}.bi-telephone-x-fill::before{content:"\f5bf"}.bi-telephone-x::before{content:"\f5c0"}.bi-telephone::before{content:"\f5c1"}.bi-terminal-fill::before{content:"\f5c2"}.bi-terminal::before{content:"\f5c3"}.bi-text-center::before{content:"\f5c4"}.bi-text-indent-left::before{content:"\f5c5"}.bi-text-indent-right::before{content:"\f5c6"}.bi-text-left::before{content:"\f5c7"}.bi-text-paragraph::before{content:"\f5c8"}.bi-text-right::before{content:"\f5c9"}.bi-textarea-resize::before{content:"\f5ca"}.bi-textarea-t::before{content:"\f5cb"}.bi-textarea::before{content:"\f5cc"}.bi-thermometer-half::before{content:"\f5cd"}.bi-thermometer-high::before{content:"\f5ce"}.bi-thermometer-low::before{content:"\f5cf"}.bi-thermometer-snow::before{content:"\f5d0"}.bi-thermometer-sun::before{content:"\f5d1"}.bi-thermometer::before{content:"\f5d2"}.bi-three-dots-vertical::before{content:"\f5d3"}.bi-three-dots::before{content:"\f5d4"}.bi-toggle-off::before{content:"\f5d5"}.bi-toggle-on::before{content:"\f5d6"}.bi-toggle2-off::before{content:"\f5d7"}.bi-toggle2-on::before{content:"\f5d8"}.bi-toggles::before{content:"\f5d9"}.bi-toggles2::before{content:"\f5da"}.bi-tools::before{content:"\f5db"}.bi-tornado::before{content:"\f5dc"}.bi-trash-fill::before{content:"\f5dd"}.bi-trash::before{content:"\f5de"}.bi-trash2-fill::before{content:"\f5df"}.bi-trash2::before{content:"\f5e0"}.bi-tree-fill::before{content:"\f5e1"}.bi-tree::before{content:"\f5e2"}.bi-triangle-fill::before{content:"\f5e3"}.bi-triangle-half::before{content:"\f5e4"}.bi-triangle::before{content:"\f5e5"}.bi-trophy-fill::before{content:"\f5e6"}.bi-trophy::before{content:"\f5e7"}.bi-tropical-storm::before{content:"\f5e8"}.bi-truck-flatbed::before{content:"\f5e9"}.bi-truck::before{content:"\f5ea"}.bi-tsunami::before{content:"\f5eb"}.bi-tv-fill::before{content:"\f5ec"}.bi-tv::before{content:"\f5ed"}.bi-twitch::before{content:"\f5ee"}.bi-twitter::before{content:"\f5ef"}.bi-type-bold::before{content:"\f5f0"}.bi-type-h1::before{content:"\f5f1"}.bi-type-h2::before{content:"\f5f2"}.bi-type-h3::before{content:"\f5f3"}.bi-type-italic::before{content:"\f5f4"}.bi-type-strikethrough::before{content:"\f5f5"}.bi-type-underline::before{content:"\f5f6"}.bi-type::before{content:"\f5f7"}.bi-ui-checks-grid::before{content:"\f5f8"}.bi-ui-checks::before{content:"\f5f9"}.bi-ui-radios-grid::before{content:"\f5fa"}.bi-ui-radios::before{content:"\f5fb"}.bi-umbrella-fill::before{content:"\f5fc"}.bi-umbrella::before{content:"\f5fd"}.bi-union::before{content:"\f5fe"}.bi-unlock-fill::before{content:"\f5ff"}.bi-unlock::before{content:"\f600"}.bi-upc-scan::before{content:"\f601"}.bi-upc::before{content:"\f602"}.bi-upload::before{content:"\f603"}.bi-vector-pen::before{content:"\f604"}.bi-view-list::before{content:"\f605"}.bi-view-stacked::before{content:"\f606"}.bi-vinyl-fill::before{content:"\f607"}.bi-vinyl::before{content:"\f608"}.bi-voicemail::before{content:"\f609"}.bi-volume-down-fill::before{content:"\f60a"}.bi-volume-down::before{content:"\f60b"}.bi-volume-mute-fill::before{content:"\f60c"}.bi-volume-mute::before{content:"\f60d"}.bi-volume-off-fill::before{content:"\f60e"}.bi-volume-off::before{content:"\f60f"}.bi-volume-up-fill::before{content:"\f610"}.bi-volume-up::before{content:"\f611"}.bi-vr::before{content:"\f612"}.bi-wallet-fill::before{content:"\f613"}.bi-wallet::before{content:"\f614"}.bi-wallet2::before{content:"\f615"}.bi-watch::before{content:"\f616"}.bi-water::before{content:"\f617"}.bi-whatsapp::before{content:"\f618"}.bi-wifi-1::before{content:"\f619"}.bi-wifi-2::before{content:"\f61a"}.bi-wifi-off::before{content:"\f61b"}.bi-wifi::before{content:"\f61c"}.bi-wind::before{content:"\f61d"}.bi-window-dock::before{content:"\f61e"}.bi-window-sidebar::before{content:"\f61f"}.bi-window::before{content:"\f620"}.bi-wrench::before{content:"\f621"}.bi-x-circle-fill::before{content:"\f622"}.bi-x-circle::before{content:"\f623"}.bi-x-diamond-fill::before{content:"\f624"}.bi-x-diamond::before{content:"\f625"}.bi-x-octagon-fill::before{content:"\f626"}.bi-x-octagon::before{content:"\f627"}.bi-x-square-fill::before{content:"\f628"}.bi-x-square::before{content:"\f629"}.bi-x::before{content:"\f62a"}.bi-youtube::before{content:"\f62b"}.bi-zoom-in::before{content:"\f62c"}.bi-zoom-out::before{content:"\f62d"}.bi-bank::before{content:"\f62e"}.bi-bank2::before{content:"\f62f"}.bi-bell-slash-fill::before{content:"\f630"}.bi-bell-slash::before{content:"\f631"}.bi-cash-coin::before{content:"\f632"}.bi-check-lg::before{content:"\f633"}.bi-coin::before{content:"\f634"}.bi-currency-bitcoin::before{content:"\f635"}.bi-currency-dollar::before{content:"\f636"}.bi-currency-euro::before{content:"\f637"}.bi-currency-exchange::before{content:"\f638"}.bi-currency-pound::before{content:"\f639"}.bi-currency-yen::before{content:"\f63a"}.bi-dash-lg::before{content:"\f63b"}.bi-exclamation-lg::before{content:"\f63c"}.bi-file-earmark-pdf-fill::before{content:"\f63d"}.bi-file-earmark-pdf::before{content:"\f63e"}.bi-file-pdf-fill::before{content:"\f63f"}.bi-file-pdf::before{content:"\f640"}.bi-gender-ambiguous::before{content:"\f641"}.bi-gender-female::before{content:"\f642"}.bi-gender-male::before{content:"\f643"}.bi-gender-trans::before{content:"\f644"}.bi-headset-vr::before{content:"\f645"}.bi-info-lg::before{content:"\f646"}.bi-mastodon::before{content:"\f647"}.bi-messenger::before{content:"\f648"}.bi-piggy-bank-fill::before{content:"\f649"}.bi-piggy-bank::before{content:"\f64a"}.bi-pin-map-fill::before{content:"\f64b"}.bi-pin-map::before{content:"\f64c"}.bi-plus-lg::before{content:"\f64d"}.bi-question-lg::before{content:"\f64e"}.bi-recycle::before{content:"\f64f"}.bi-reddit::before{content:"\f650"}.bi-safe-fill::before{content:"\f651"}.bi-safe2-fill::before{content:"\f652"}.bi-safe2::before{content:"\f653"}.bi-sd-card-fill::before{content:"\f654"}.bi-sd-card::before{content:"\f655"}.bi-skype::before{content:"\f656"}.bi-slash-lg::before{content:"\f657"}.bi-translate::before{content:"\f658"}.bi-x-lg::before{content:"\f659"}.bi-safe::before{content:"\f65a"}.bi-apple::before{content:"\f65b"}.bi-microsoft::before{content:"\f65d"}.bi-windows::before{content:"\f65e"}.bi-behance::before{content:"\f65c"}.bi-dribbble::before{content:"\f65f"}.bi-line::before{content:"\f660"}.bi-medium::before{content:"\f661"}.bi-paypal::before{content:"\f662"}.bi-pinterest::before{content:"\f663"}.bi-signal::before{content:"\f664"}.bi-snapchat::before{content:"\f665"}.bi-spotify::before{content:"\f666"}.bi-stack-overflow::before{content:"\f667"}.bi-strava::before{content:"\f668"}.bi-wordpress::before{content:"\f669"}.bi-vimeo::before{content:"\f66a"}.bi-activity::before{content:"\f66b"}.bi-easel2-fill::before{content:"\f66c"}.bi-easel2::before{content:"\f66d"}.bi-easel3-fill::before{content:"\f66e"}.bi-easel3::before{content:"\f66f"}.bi-fan::before{content:"\f670"}.bi-fingerprint::before{content:"\f671"}.bi-graph-down-arrow::before{content:"\f672"}.bi-graph-up-arrow::before{content:"\f673"}.bi-hypnotize::before{content:"\f674"}.bi-magic::before{content:"\f675"}.bi-person-rolodex::before{content:"\f676"}.bi-person-video::before{content:"\f677"}.bi-person-video2::before{content:"\f678"}.bi-person-video3::before{content:"\f679"}.bi-person-workspace::before{content:"\f67a"}.bi-radioactive::before{content:"\f67b"}.bi-webcam-fill::before{content:"\f67c"}.bi-webcam::before{content:"\f67d"}.bi-yin-yang::before{content:"\f67e"}.bi-bandaid-fill::before{content:"\f680"}.bi-bandaid::before{content:"\f681"}.bi-bluetooth::before{content:"\f682"}.bi-body-text::before{content:"\f683"}.bi-boombox::before{content:"\f684"}.bi-boxes::before{content:"\f685"}.bi-dpad-fill::before{content:"\f686"}.bi-dpad::before{content:"\f687"}.bi-ear-fill::before{content:"\f688"}.bi-ear::before{content:"\f689"}.bi-envelope-check-1::before{content:"\f68a"}.bi-envelope-check-fill::before{content:"\f68b"}.bi-envelope-check::before{content:"\f68c"}.bi-envelope-dash-1::before{content:"\f68d"}.bi-envelope-dash-fill::before{content:"\f68e"}.bi-envelope-dash::before{content:"\f68f"}.bi-envelope-exclamation-1::before{content:"\f690"}.bi-envelope-exclamation-fill::before{content:"\f691"}.bi-envelope-exclamation::before{content:"\f692"}.bi-envelope-plus-fill::before{content:"\f693"}.bi-envelope-plus::before{content:"\f694"}.bi-envelope-slash-1::before{content:"\f695"}.bi-envelope-slash-fill::before{content:"\f696"}.bi-envelope-slash::before{content:"\f697"}.bi-envelope-x-1::before{content:"\f698"}.bi-envelope-x-fill::before{content:"\f699"}.bi-envelope-x::before{content:"\f69a"}.bi-explicit-fill::before{content:"\f69b"}.bi-explicit::before{content:"\f69c"}.bi-git::before{content:"\f69d"}.bi-infinity::before{content:"\f69e"}.bi-list-columns-reverse::before{content:"\f69f"}.bi-list-columns::before{content:"\f6a0"}.bi-meta::before{content:"\f6a1"}.bi-mortorboard-fill::before{content:"\f6a2"}.bi-mortorboard::before{content:"\f6a3"}.bi-nintendo-switch::before{content:"\f6a4"}.bi-pc-display-horizontal::before{content:"\f6a5"}.bi-pc-display::before{content:"\f6a6"}.bi-pc-horizontal::before{content:"\f6a7"}.bi-pc::before{content:"\f6a8"}.bi-playstation::before{content:"\f6a9"}.bi-plus-slash-minus::before{content:"\f6aa"}.bi-projector-fill::before{content:"\f6ab"}.bi-projector::before{content:"\f6ac"}.bi-qr-code-scan::before{content:"\f6ad"}.bi-qr-code::before{content:"\f6ae"}.bi-quora::before{content:"\f6af"}.bi-quote::before{content:"\f6b0"}.bi-robot::before{content:"\f6b1"}.bi-send-check-fill::before{content:"\f6b2"}.bi-send-check::before{content:"\f6b3"}.bi-send-dash-fill::before{content:"\f6b4"}.bi-send-dash::before{content:"\f6b5"}.bi-send-exclamation-1::before{content:"\f6b6"}.bi-send-exclamation-fill::before{content:"\f6b7"}.bi-send-exclamation::before{content:"\f6b8"}.bi-send-fill::before{content:"\f6b9"}.bi-send-plus-fill::before{content:"\f6ba"}.bi-send-plus::before{content:"\f6bb"}.bi-send-slash-fill::before{content:"\f6bc"}.bi-send-slash::before{content:"\f6bd"}.bi-send-x-fill::before{content:"\f6be"}.bi-send-x::before{content:"\f6bf"}.bi-send::before{content:"\f6c0"}.bi-steam::before{content:"\f6c1"}.bi-terminal-dash-1::before{content:"\f6c2"}.bi-terminal-dash::before{content:"\f6c3"}.bi-terminal-plus::before{content:"\f6c4"}.bi-terminal-split::before{content:"\f6c5"}.bi-ticket-detailed-fill::before{content:"\f6c6"}.bi-ticket-detailed::before{content:"\f6c7"}.bi-ticket-fill::before{content:"\f6c8"}.bi-ticket-perforated-fill::before{content:"\f6c9"}.bi-ticket-perforated::before{content:"\f6ca"}.bi-ticket::before{content:"\f6cb"}.bi-tiktok::before{content:"\f6cc"}.bi-window-dash::before{content:"\f6cd"}.bi-window-desktop::before{content:"\f6ce"}.bi-window-fullscreen::before{content:"\f6cf"}.bi-window-plus::before{content:"\f6d0"}.bi-window-split::before{content:"\f6d1"}.bi-window-stack::before{content:"\f6d2"}.bi-window-x::before{content:"\f6d3"}.bi-xbox::before{content:"\f6d4"}.bi-ethernet::before{content:"\f6d5"}.bi-hdmi-fill::before{content:"\f6d6"}.bi-hdmi::before{content:"\f6d7"}.bi-usb-c-fill::before{content:"\f6d8"}.bi-usb-c::before{content:"\f6d9"}.bi-usb-fill::before{content:"\f6da"}.bi-usb-plug-fill::before{content:"\f6db"}.bi-usb-plug::before{content:"\f6dc"}.bi-usb-symbol::before{content:"\f6dd"}.bi-usb::before{content:"\f6de"}.bi-boombox-fill::before{content:"\f6df"}.bi-displayport-1::before{content:"\f6e0"}.bi-displayport::before{content:"\f6e1"}.bi-gpu-card::before{content:"\f6e2"}.bi-memory::before{content:"\f6e3"}.bi-modem-fill::before{content:"\f6e4"}.bi-modem::before{content:"\f6e5"}.bi-motherboard-fill::before{content:"\f6e6"}.bi-motherboard::before{content:"\f6e7"}.bi-optical-audio-fill::before{content:"\f6e8"}.bi-optical-audio::before{content:"\f6e9"}.bi-pci-card::before{content:"\f6ea"}.bi-router-fill::before{content:"\f6eb"}.bi-router::before{content:"\f6ec"}.bi-ssd-fill::before{content:"\f6ed"}.bi-ssd::before{content:"\f6ee"}.bi-thunderbolt-fill::before{content:"\f6ef"}.bi-thunderbolt::before{content:"\f6f0"}.bi-usb-drive-fill::before{content:"\f6f1"}.bi-usb-drive::before{content:"\f6f2"}.bi-usb-micro-fill::before{content:"\f6f3"}.bi-usb-micro::before{content:"\f6f4"}.bi-usb-mini-fill::before{content:"\f6f5"}.bi-usb-mini::before{content:"\f6f6"}.bi-cloud-haze2::before{content:"\f6f7"}.bi-device-hdd-fill::before{content:"\f6f8"}.bi-device-hdd::before{content:"\f6f9"}.bi-device-ssd-fill::before{content:"\f6fa"}.bi-device-ssd::before{content:"\f6fb"}.bi-displayport-fill::before{content:"\f6fc"}.bi-mortarboard-fill::before{content:"\f6fd"}.bi-mortarboard::before{content:"\f6fe"}.bi-terminal-x::before{content:"\f6ff"}.bi-arrow-through-heart-fill::before{content:"\f700"}.bi-arrow-through-heart::before{content:"\f701"}.bi-badge-sd-fill::before{content:"\f702"}.bi-badge-sd::before{content:"\f703"}.bi-bag-heart-fill::before{content:"\f704"}.bi-bag-heart::before{content:"\f705"}.bi-balloon-fill::before{content:"\f706"}.bi-balloon-heart-fill::before{content:"\f707"}.bi-balloon-heart::before{content:"\f708"}.bi-balloon::before{content:"\f709"}.bi-box2-fill::before{content:"\f70a"}.bi-box2-heart-fill::before{content:"\f70b"}.bi-box2-heart::before{content:"\f70c"}.bi-box2::before{content:"\f70d"}.bi-braces-asterisk::before{content:"\f70e"}.bi-calendar-heart-fill::before{content:"\f70f"}.bi-calendar-heart::before{content:"\f710"}.bi-calendar2-heart-fill::before{content:"\f711"}.bi-calendar2-heart::before{content:"\f712"}.bi-chat-heart-fill::before{content:"\f713"}.bi-chat-heart::before{content:"\f714"}.bi-chat-left-heart-fill::before{content:"\f715"}.bi-chat-left-heart::before{content:"\f716"}.bi-chat-right-heart-fill::before{content:"\f717"}.bi-chat-right-heart::before{content:"\f718"}.bi-chat-square-heart-fill::before{content:"\f719"}.bi-chat-square-heart::before{content:"\f71a"}.bi-clipboard-check-fill::before{content:"\f71b"}.bi-clipboard-data-fill::before{content:"\f71c"}.bi-clipboard-fill::before{content:"\f71d"}.bi-clipboard-heart-fill::before{content:"\f71e"}.bi-clipboard-heart::before{content:"\f71f"}.bi-clipboard-minus-fill::before{content:"\f720"}.bi-clipboard-plus-fill::before{content:"\f721"}.bi-clipboard-pulse::before{content:"\f722"}.bi-clipboard-x-fill::before{content:"\f723"}.bi-clipboard2-check-fill::before{content:"\f724"}.bi-clipboard2-check::before{content:"\f725"}.bi-clipboard2-data-fill::before{content:"\f726"}.bi-clipboard2-data::before{content:"\f727"}.bi-clipboard2-fill::before{content:"\f728"}.bi-clipboard2-heart-fill::before{content:"\f729"}.bi-clipboard2-heart::before{content:"\f72a"}.bi-clipboard2-minus-fill::before{content:"\f72b"}.bi-clipboard2-minus::before{content:"\f72c"}.bi-clipboard2-plus-fill::before{content:"\f72d"}.bi-clipboard2-plus::before{content:"\f72e"}.bi-clipboard2-pulse-fill::before{content:"\f72f"}.bi-clipboard2-pulse::before{content:"\f730"}.bi-clipboard2-x-fill::before{content:"\f731"}.bi-clipboard2-x::before{content:"\f732"}.bi-clipboard2::before{content:"\f733"}.bi-emoji-kiss-fill::before{content:"\f734"}.bi-emoji-kiss::before{content:"\f735"}.bi-envelope-heart-fill::before{content:"\f736"}.bi-envelope-heart::before{content:"\f737"}.bi-envelope-open-heart-fill::before{content:"\f738"}.bi-envelope-open-heart::before{content:"\f739"}.bi-envelope-paper-fill::before{content:"\f73a"}.bi-envelope-paper-heart-fill::before{content:"\f73b"}.bi-envelope-paper-heart::before{content:"\f73c"}.bi-envelope-paper::before{content:"\f73d"}.bi-filetype-aac::before{content:"\f73e"}.bi-filetype-ai::before{content:"\f73f"}.bi-filetype-bmp::before{content:"\f740"}.bi-filetype-cs::before{content:"\f741"}.bi-filetype-css::before{content:"\f742"}.bi-filetype-csv::before{content:"\f743"}.bi-filetype-doc::before{content:"\f744"}.bi-filetype-docx::before{content:"\f745"}.bi-filetype-exe::before{content:"\f746"}.bi-filetype-gif::before{content:"\f747"}.bi-filetype-heic::before{content:"\f748"}.bi-filetype-html::before{content:"\f749"}.bi-filetype-java::before{content:"\f74a"}.bi-filetype-jpg::before{content:"\f74b"}.bi-filetype-js::before{content:"\f74c"}.bi-filetype-jsx::before{content:"\f74d"}.bi-filetype-key::before{content:"\f74e"}.bi-filetype-m4p::before{content:"\f74f"}.bi-filetype-md::before{content:"\f750"}.bi-filetype-mdx::before{content:"\f751"}.bi-filetype-mov::before{content:"\f752"}.bi-filetype-mp3::before{content:"\f753"}.bi-filetype-mp4::before{content:"\f754"}.bi-filetype-otf::before{content:"\f755"}.bi-filetype-pdf::before{content:"\f756"}.bi-filetype-php::before{content:"\f757"}.bi-filetype-png::before{content:"\f758"}.bi-filetype-ppt-1::before{content:"\f759"}.bi-filetype-ppt::before{content:"\f75a"}.bi-filetype-psd::before{content:"\f75b"}.bi-filetype-py::before{content:"\f75c"}.bi-filetype-raw::before{content:"\f75d"}.bi-filetype-rb::before{content:"\f75e"}.bi-filetype-sass::before{content:"\f75f"}.bi-filetype-scss::before{content:"\f760"}.bi-filetype-sh::before{content:"\f761"}.bi-filetype-svg::before{content:"\f762"}.bi-filetype-tiff::before{content:"\f763"}.bi-filetype-tsx::before{content:"\f764"}.bi-filetype-ttf::before{content:"\f765"}.bi-filetype-txt::before{content:"\f766"}.bi-filetype-wav::before{content:"\f767"}.bi-filetype-woff::before{content:"\f768"}.bi-filetype-xls-1::before{content:"\f769"}.bi-filetype-xls::before{content:"\f76a"}.bi-filetype-xml::before{content:"\f76b"}.bi-filetype-yml::before{content:"\f76c"}.bi-heart-arrow::before{content:"\f76d"}.bi-heart-pulse-fill::before{content:"\f76e"}.bi-heart-pulse::before{content:"\f76f"}.bi-heartbreak-fill::before{content:"\f770"}.bi-heartbreak::before{content:"\f771"}.bi-hearts::before{content:"\f772"}.bi-hospital-fill::before{content:"\f773"}.bi-hospital::before{content:"\f774"}.bi-house-heart-fill::before{content:"\f775"}.bi-house-heart::before{content:"\f776"}.bi-incognito::before{content:"\f777"}.bi-magnet-fill::before{content:"\f778"}.bi-magnet::before{content:"\f779"}.bi-person-heart::before{content:"\f77a"}.bi-person-hearts::before{content:"\f77b"}.bi-phone-flip::before{content:"\f77c"}.bi-plugin::before{content:"\f77d"}.bi-postage-fill::before{content:"\f77e"}.bi-postage-heart-fill::before{content:"\f77f"}.bi-postage-heart::before{content:"\f780"}.bi-postage::before{content:"\f781"}.bi-postcard-fill::before{content:"\f782"}.bi-postcard-heart-fill::before{content:"\f783"}.bi-postcard-heart::before{content:"\f784"}.bi-postcard::before{content:"\f785"}.bi-search-heart-fill::before{content:"\f786"}.bi-search-heart::before{content:"\f787"}.bi-sliders2-vertical::before{content:"\f788"}.bi-sliders2::before{content:"\f789"}.bi-trash3-fill::before{content:"\f78a"}.bi-trash3::before{content:"\f78b"}.bi-valentine::before{content:"\f78c"}.bi-valentine2::before{content:"\f78d"}.bi-wrench-adjustable-circle-fill::before{content:"\f78e"}.bi-wrench-adjustable-circle::before{content:"\f78f"}.bi-wrench-adjustable::before{content:"\f790"}.bi-filetype-json::before{content:"\f791"}.bi-filetype-pptx::before{content:"\f792"}.bi-filetype-xlsx::before{content:"\f793"}.bi-1-circle-1::before{content:"\f794"}.bi-1-circle-fill-1::before{content:"\f795"}.bi-1-circle-fill::before{content:"\f796"}.bi-1-circle::before{content:"\f797"}.bi-1-square-fill::before{content:"\f798"}.bi-1-square::before{content:"\f799"}.bi-2-circle-1::before{content:"\f79a"}.bi-2-circle-fill-1::before{content:"\f79b"}.bi-2-circle-fill::before{content:"\f79c"}.bi-2-circle::before{content:"\f79d"}.bi-2-square-fill::before{content:"\f79e"}.bi-2-square::before{content:"\f79f"}.bi-3-circle-1::before{content:"\f7a0"}.bi-3-circle-fill-1::before{content:"\f7a1"}.bi-3-circle-fill::before{content:"\f7a2"}.bi-3-circle::before{content:"\f7a3"}.bi-3-square-fill::before{content:"\f7a4"}.bi-3-square::before{content:"\f7a5"}.bi-4-circle-1::before{content:"\f7a6"}.bi-4-circle-fill-1::before{content:"\f7a7"}.bi-4-circle-fill::before{content:"\f7a8"}.bi-4-circle::before{content:"\f7a9"}.bi-4-square-fill::before{content:"\f7aa"}.bi-4-square::before{content:"\f7ab"}.bi-5-circle-1::before{content:"\f7ac"}.bi-5-circle-fill-1::before{content:"\f7ad"}.bi-5-circle-fill::before{content:"\f7ae"}.bi-5-circle::before{content:"\f7af"}.bi-5-square-fill::before{content:"\f7b0"}.bi-5-square::before{content:"\f7b1"}.bi-6-circle-1::before{content:"\f7b2"}.bi-6-circle-fill-1::before{content:"\f7b3"}.bi-6-circle-fill::before{content:"\f7b4"}.bi-6-circle::before{content:"\f7b5"}.bi-6-square-fill::before{content:"\f7b6"}.bi-6-square::before{content:"\f7b7"}.bi-7-circle-1::before{content:"\f7b8"}.bi-7-circle-fill-1::before{content:"\f7b9"}.bi-7-circle-fill::before{content:"\f7ba"}.bi-7-circle::before{content:"\f7bb"}.bi-7-square-fill::before{content:"\f7bc"}.bi-7-square::before{content:"\f7bd"}.bi-8-circle-1::before{content:"\f7be"}.bi-8-circle-fill-1::before{content:"\f7bf"}.bi-8-circle-fill::before{content:"\f7c0"}.bi-8-circle::before{content:"\f7c1"}.bi-8-square-fill::before{content:"\f7c2"}.bi-8-square::before{content:"\f7c3"}.bi-9-circle-1::before{content:"\f7c4"}.bi-9-circle-fill-1::before{content:"\f7c5"}.bi-9-circle-fill::before{content:"\f7c6"}.bi-9-circle::before{content:"\f7c7"}.bi-9-square-fill::before{content:"\f7c8"}.bi-9-square::before{content:"\f7c9"}.bi-airplane-engines-fill::before{content:"\f7ca"}.bi-airplane-engines::before{content:"\f7cb"}.bi-airplane-fill::before{content:"\f7cc"}.bi-airplane::before{content:"\f7cd"}.bi-alexa::before{content:"\f7ce"}.bi-alipay::before{content:"\f7cf"}.bi-android::before{content:"\f7d0"}.bi-android2::before{content:"\f7d1"}.bi-box-fill::before{content:"\f7d2"}.bi-box-seam-fill::before{content:"\f7d3"}.bi-browser-chrome::before{content:"\f7d4"}.bi-browser-edge::before{content:"\f7d5"}.bi-browser-firefox::before{content:"\f7d6"}.bi-browser-safari::before{content:"\f7d7"}.bi-c-circle-1::before{content:"\f7d8"}.bi-c-circle-fill-1::before{content:"\f7d9"}.bi-c-circle-fill::before{content:"\f7da"}.bi-c-circle::before{content:"\f7db"}.bi-c-square-fill::before{content:"\f7dc"}.bi-c-square::before{content:"\f7dd"}.bi-capsule-pill::before{content:"\f7de"}.bi-capsule::before{content:"\f7df"}.bi-car-front-fill::before{content:"\f7e0"}.bi-car-front::before{content:"\f7e1"}.bi-cassette-fill::before{content:"\f7e2"}.bi-cassette::before{content:"\f7e3"}.bi-cc-circle-1::before{content:"\f7e4"}.bi-cc-circle-fill-1::before{content:"\f7e5"}.bi-cc-circle-fill::before{content:"\f7e6"}.bi-cc-circle::before{content:"\f7e7"}.bi-cc-square-fill::before{content:"\f7e8"}.bi-cc-square::before{content:"\f7e9"}.bi-cup-hot-fill::before{content:"\f7ea"}.bi-cup-hot::before{content:"\f7eb"}.bi-currency-rupee::before{content:"\f7ec"}.bi-dropbox::before{content:"\f7ed"}.bi-escape::before{content:"\f7ee"}.bi-fast-forward-btn-fill::before{content:"\f7ef"}.bi-fast-forward-btn::before{content:"\f7f0"}.bi-fast-forward-circle-fill::before{content:"\f7f1"}.bi-fast-forward-circle::before{content:"\f7f2"}.bi-fast-forward-fill::before{content:"\f7f3"}.bi-fast-forward::before{content:"\f7f4"}.bi-filetype-sql::before{content:"\f7f5"}.bi-fire::before{content:"\f7f6"}.bi-google-play::before{content:"\f7f7"}.bi-h-circle-1::before{content:"\f7f8"}.bi-h-circle-fill-1::before{content:"\f7f9"}.bi-h-circle-fill::before{content:"\f7fa"}.bi-h-circle::before{content:"\f7fb"}.bi-h-square-fill::before{content:"\f7fc"}.bi-h-square::before{content:"\f7fd"}.bi-indent::before{content:"\f7fe"}.bi-lungs-fill::before{content:"\f7ff"}.bi-lungs::before{content:"\f800"}.bi-microsoft-teams::before{content:"\f801"}.bi-p-circle-1::before{content:"\f802"}.bi-p-circle-fill-1::before{content:"\f803"}.bi-p-circle-fill::before{content:"\f804"}.bi-p-circle::before{content:"\f805"}.bi-p-square-fill::before{content:"\f806"}.bi-p-square::before{content:"\f807"}.bi-pass-fill::before{content:"\f808"}.bi-pass::before{content:"\f809"}.bi-prescription::before{content:"\f80a"}.bi-prescription2::before{content:"\f80b"}.bi-r-circle-1::before{content:"\f80c"}.bi-r-circle-fill-1::before{content:"\f80d"}.bi-r-circle-fill::before{content:"\f80e"}.bi-r-circle::before{content:"\f80f"}.bi-r-square-fill::before{content:"\f810"}.bi-r-square::before{content:"\f811"}.bi-repeat-1::before{content:"\f812"}.bi-repeat::before{content:"\f813"}.bi-rewind-btn-fill::before{content:"\f814"}.bi-rewind-btn::before{content:"\f815"}.bi-rewind-circle-fill::before{content:"\f816"}.bi-rewind-circle::before{content:"\f817"}.bi-rewind-fill::before{content:"\f818"}.bi-rewind::before{content:"\f819"}.bi-train-freight-front-fill::before{content:"\f81a"}.bi-train-freight-front::before{content:"\f81b"}.bi-train-front-fill::before{content:"\f81c"}.bi-train-front::before{content:"\f81d"}.bi-train-lightrail-front-fill::before{content:"\f81e"}.bi-train-lightrail-front::before{content:"\f81f"}.bi-truck-front-fill::before{content:"\f820"}.bi-truck-front::before{content:"\f821"}.bi-ubuntu::before{content:"\f822"}.bi-unindent::before{content:"\f823"}.bi-unity::before{content:"\f824"}.bi-universal-access-circle::before{content:"\f825"}.bi-universal-access::before{content:"\f826"}.bi-virus::before{content:"\f827"}.bi-virus2::before{content:"\f828"}.bi-wechat::before{content:"\f829"}.bi-yelp::before{content:"\f82a"}.bi-sign-stop-fill::before{content:"\f82b"}.bi-sign-stop-lights-fill::before{content:"\f82c"}.bi-sign-stop-lights::before{content:"\f82d"}.bi-sign-stop::before{content:"\f82e"}.bi-sign-turn-left-fill::before{content:"\f82f"}.bi-sign-turn-left::before{content:"\f830"}.bi-sign-turn-right-fill::before{content:"\f831"}.bi-sign-turn-right::before{content:"\f832"}.bi-sign-turn-slight-left-fill::before{content:"\f833"}.bi-sign-turn-slight-left::before{content:"\f834"}.bi-sign-turn-slight-right-fill::before{content:"\f835"}.bi-sign-turn-slight-right::before{content:"\f836"}.bi-sign-yield-fill::before{content:"\f837"}.bi-sign-yield::before{content:"\f838"}.bi-ev-station-fill::before{content:"\f839"}.bi-ev-station::before{content:"\f83a"}.bi-fuel-pump-diesel-fill::before{content:"\f83b"}.bi-fuel-pump-diesel::before{content:"\f83c"}.bi-fuel-pump-fill::before{content:"\f83d"}.bi-fuel-pump::before{content:"\f83e"} +/*# sourceMappingURL=/sm/d206ec34385c8521671a1967f920c286a45bf739842d26fd53d751161e52d8f9.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.scss b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.scss new file mode 100644 index 000000000..99770d07d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/bootstrap-icons.scss @@ -0,0 +1,3738 @@ +$bootstrap-icons-font: "bootstrap-icons" !default; +$bootstrap-icons-font-dir: "./fonts" !default; +$bootstrap-icons-font-file: #{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font} !default; +$bootstrap-icons-font-hash: "8d200481aa7f02a2d63a331fc782cfaf" !default; +$bootstrap-icons-font-src: url("#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}") format("woff2"), url("#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}") format("woff") !default; + +@font-face { + font-display: block; + font-family: $bootstrap-icons-font; + src: $bootstrap-icons-font-src; +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: $bootstrap-icons-font !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +$bootstrap-icons-map: ( + "123": "\f67f", + "alarm-fill": "\f101", + "alarm": "\f102", + "align-bottom": "\f103", + "align-center": "\f104", + "align-end": "\f105", + "align-middle": "\f106", + "align-start": "\f107", + "align-top": "\f108", + "alt": "\f109", + "app-indicator": "\f10a", + "app": "\f10b", + "archive-fill": "\f10c", + "archive": "\f10d", + "arrow-90deg-down": "\f10e", + "arrow-90deg-left": "\f10f", + "arrow-90deg-right": "\f110", + "arrow-90deg-up": "\f111", + "arrow-bar-down": "\f112", + "arrow-bar-left": "\f113", + "arrow-bar-right": "\f114", + "arrow-bar-up": "\f115", + "arrow-clockwise": "\f116", + "arrow-counterclockwise": "\f117", + "arrow-down-circle-fill": "\f118", + "arrow-down-circle": "\f119", + "arrow-down-left-circle-fill": "\f11a", + "arrow-down-left-circle": "\f11b", + "arrow-down-left-square-fill": "\f11c", + "arrow-down-left-square": "\f11d", + "arrow-down-left": "\f11e", + "arrow-down-right-circle-fill": "\f11f", + "arrow-down-right-circle": "\f120", + "arrow-down-right-square-fill": "\f121", + "arrow-down-right-square": "\f122", + "arrow-down-right": "\f123", + "arrow-down-short": "\f124", + "arrow-down-square-fill": "\f125", + "arrow-down-square": "\f126", + "arrow-down-up": "\f127", + "arrow-down": "\f128", + "arrow-left-circle-fill": "\f129", + "arrow-left-circle": "\f12a", + "arrow-left-right": "\f12b", + "arrow-left-short": "\f12c", + "arrow-left-square-fill": "\f12d", + "arrow-left-square": "\f12e", + "arrow-left": "\f12f", + "arrow-repeat": "\f130", + "arrow-return-left": "\f131", + "arrow-return-right": "\f132", + "arrow-right-circle-fill": "\f133", + "arrow-right-circle": "\f134", + "arrow-right-short": "\f135", + "arrow-right-square-fill": "\f136", + "arrow-right-square": "\f137", + "arrow-right": "\f138", + "arrow-up-circle-fill": "\f139", + "arrow-up-circle": "\f13a", + "arrow-up-left-circle-fill": "\f13b", + "arrow-up-left-circle": "\f13c", + "arrow-up-left-square-fill": "\f13d", + "arrow-up-left-square": "\f13e", + "arrow-up-left": "\f13f", + "arrow-up-right-circle-fill": "\f140", + "arrow-up-right-circle": "\f141", + "arrow-up-right-square-fill": "\f142", + "arrow-up-right-square": "\f143", + "arrow-up-right": "\f144", + "arrow-up-short": "\f145", + "arrow-up-square-fill": "\f146", + "arrow-up-square": "\f147", + "arrow-up": "\f148", + "arrows-angle-contract": "\f149", + "arrows-angle-expand": "\f14a", + "arrows-collapse": "\f14b", + "arrows-expand": "\f14c", + "arrows-fullscreen": "\f14d", + "arrows-move": "\f14e", + "aspect-ratio-fill": "\f14f", + "aspect-ratio": "\f150", + "asterisk": "\f151", + "at": "\f152", + "award-fill": "\f153", + "award": "\f154", + "back": "\f155", + "backspace-fill": "\f156", + "backspace-reverse-fill": "\f157", + "backspace-reverse": "\f158", + "backspace": "\f159", + "badge-3d-fill": "\f15a", + "badge-3d": "\f15b", + "badge-4k-fill": "\f15c", + "badge-4k": "\f15d", + "badge-8k-fill": "\f15e", + "badge-8k": "\f15f", + "badge-ad-fill": "\f160", + "badge-ad": "\f161", + "badge-ar-fill": "\f162", + "badge-ar": "\f163", + "badge-cc-fill": "\f164", + "badge-cc": "\f165", + "badge-hd-fill": "\f166", + "badge-hd": "\f167", + "badge-tm-fill": "\f168", + "badge-tm": "\f169", + "badge-vo-fill": "\f16a", + "badge-vo": "\f16b", + "badge-vr-fill": "\f16c", + "badge-vr": "\f16d", + "badge-wc-fill": "\f16e", + "badge-wc": "\f16f", + "bag-check-fill": "\f170", + "bag-check": "\f171", + "bag-dash-fill": "\f172", + "bag-dash": "\f173", + "bag-fill": "\f174", + "bag-plus-fill": "\f175", + "bag-plus": "\f176", + "bag-x-fill": "\f177", + "bag-x": "\f178", + "bag": "\f179", + "bar-chart-fill": "\f17a", + "bar-chart-line-fill": "\f17b", + "bar-chart-line": "\f17c", + "bar-chart-steps": "\f17d", + "bar-chart": "\f17e", + "basket-fill": "\f17f", + "basket": "\f180", + "basket2-fill": "\f181", + "basket2": "\f182", + "basket3-fill": "\f183", + "basket3": "\f184", + "battery-charging": "\f185", + "battery-full": "\f186", + "battery-half": "\f187", + "battery": "\f188", + "bell-fill": "\f189", + "bell": "\f18a", + "bezier": "\f18b", + "bezier2": "\f18c", + "bicycle": "\f18d", + "binoculars-fill": "\f18e", + "binoculars": "\f18f", + "blockquote-left": "\f190", + "blockquote-right": "\f191", + "book-fill": "\f192", + "book-half": "\f193", + "book": "\f194", + "bookmark-check-fill": "\f195", + "bookmark-check": "\f196", + "bookmark-dash-fill": "\f197", + "bookmark-dash": "\f198", + "bookmark-fill": "\f199", + "bookmark-heart-fill": "\f19a", + "bookmark-heart": "\f19b", + "bookmark-plus-fill": "\f19c", + "bookmark-plus": "\f19d", + "bookmark-star-fill": "\f19e", + "bookmark-star": "\f19f", + "bookmark-x-fill": "\f1a0", + "bookmark-x": "\f1a1", + "bookmark": "\f1a2", + "bookmarks-fill": "\f1a3", + "bookmarks": "\f1a4", + "bookshelf": "\f1a5", + "bootstrap-fill": "\f1a6", + "bootstrap-reboot": "\f1a7", + "bootstrap": "\f1a8", + "border-all": "\f1a9", + "border-bottom": "\f1aa", + "border-center": "\f1ab", + "border-inner": "\f1ac", + "border-left": "\f1ad", + "border-middle": "\f1ae", + "border-outer": "\f1af", + "border-right": "\f1b0", + "border-style": "\f1b1", + "border-top": "\f1b2", + "border-width": "\f1b3", + "border": "\f1b4", + "bounding-box-circles": "\f1b5", + "bounding-box": "\f1b6", + "box-arrow-down-left": "\f1b7", + "box-arrow-down-right": "\f1b8", + "box-arrow-down": "\f1b9", + "box-arrow-in-down-left": "\f1ba", + "box-arrow-in-down-right": "\f1bb", + "box-arrow-in-down": "\f1bc", + "box-arrow-in-left": "\f1bd", + "box-arrow-in-right": "\f1be", + "box-arrow-in-up-left": "\f1bf", + "box-arrow-in-up-right": "\f1c0", + "box-arrow-in-up": "\f1c1", + "box-arrow-left": "\f1c2", + "box-arrow-right": "\f1c3", + "box-arrow-up-left": "\f1c4", + "box-arrow-up-right": "\f1c5", + "box-arrow-up": "\f1c6", + "box-seam": "\f1c7", + "box": "\f1c8", + "braces": "\f1c9", + "bricks": "\f1ca", + "briefcase-fill": "\f1cb", + "briefcase": "\f1cc", + "brightness-alt-high-fill": "\f1cd", + "brightness-alt-high": "\f1ce", + "brightness-alt-low-fill": "\f1cf", + "brightness-alt-low": "\f1d0", + "brightness-high-fill": "\f1d1", + "brightness-high": "\f1d2", + "brightness-low-fill": "\f1d3", + "brightness-low": "\f1d4", + "broadcast-pin": "\f1d5", + "broadcast": "\f1d6", + "brush-fill": "\f1d7", + "brush": "\f1d8", + "bucket-fill": "\f1d9", + "bucket": "\f1da", + "bug-fill": "\f1db", + "bug": "\f1dc", + "building": "\f1dd", + "bullseye": "\f1de", + "calculator-fill": "\f1df", + "calculator": "\f1e0", + "calendar-check-fill": "\f1e1", + "calendar-check": "\f1e2", + "calendar-date-fill": "\f1e3", + "calendar-date": "\f1e4", + "calendar-day-fill": "\f1e5", + "calendar-day": "\f1e6", + "calendar-event-fill": "\f1e7", + "calendar-event": "\f1e8", + "calendar-fill": "\f1e9", + "calendar-minus-fill": "\f1ea", + "calendar-minus": "\f1eb", + "calendar-month-fill": "\f1ec", + "calendar-month": "\f1ed", + "calendar-plus-fill": "\f1ee", + "calendar-plus": "\f1ef", + "calendar-range-fill": "\f1f0", + "calendar-range": "\f1f1", + "calendar-week-fill": "\f1f2", + "calendar-week": "\f1f3", + "calendar-x-fill": "\f1f4", + "calendar-x": "\f1f5", + "calendar": "\f1f6", + "calendar2-check-fill": "\f1f7", + "calendar2-check": "\f1f8", + "calendar2-date-fill": "\f1f9", + "calendar2-date": "\f1fa", + "calendar2-day-fill": "\f1fb", + "calendar2-day": "\f1fc", + "calendar2-event-fill": "\f1fd", + "calendar2-event": "\f1fe", + "calendar2-fill": "\f1ff", + "calendar2-minus-fill": "\f200", + "calendar2-minus": "\f201", + "calendar2-month-fill": "\f202", + "calendar2-month": "\f203", + "calendar2-plus-fill": "\f204", + "calendar2-plus": "\f205", + "calendar2-range-fill": "\f206", + "calendar2-range": "\f207", + "calendar2-week-fill": "\f208", + "calendar2-week": "\f209", + "calendar2-x-fill": "\f20a", + "calendar2-x": "\f20b", + "calendar2": "\f20c", + "calendar3-event-fill": "\f20d", + "calendar3-event": "\f20e", + "calendar3-fill": "\f20f", + "calendar3-range-fill": "\f210", + "calendar3-range": "\f211", + "calendar3-week-fill": "\f212", + "calendar3-week": "\f213", + "calendar3": "\f214", + "calendar4-event": "\f215", + "calendar4-range": "\f216", + "calendar4-week": "\f217", + "calendar4": "\f218", + "camera-fill": "\f219", + "camera-reels-fill": "\f21a", + "camera-reels": "\f21b", + "camera-video-fill": "\f21c", + "camera-video-off-fill": "\f21d", + "camera-video-off": "\f21e", + "camera-video": "\f21f", + "camera": "\f220", + "camera2": "\f221", + "capslock-fill": "\f222", + "capslock": "\f223", + "card-checklist": "\f224", + "card-heading": "\f225", + "card-image": "\f226", + "card-list": "\f227", + "card-text": "\f228", + "caret-down-fill": "\f229", + "caret-down-square-fill": "\f22a", + "caret-down-square": "\f22b", + "caret-down": "\f22c", + "caret-left-fill": "\f22d", + "caret-left-square-fill": "\f22e", + "caret-left-square": "\f22f", + "caret-left": "\f230", + "caret-right-fill": "\f231", + "caret-right-square-fill": "\f232", + "caret-right-square": "\f233", + "caret-right": "\f234", + "caret-up-fill": "\f235", + "caret-up-square-fill": "\f236", + "caret-up-square": "\f237", + "caret-up": "\f238", + "cart-check-fill": "\f239", + "cart-check": "\f23a", + "cart-dash-fill": "\f23b", + "cart-dash": "\f23c", + "cart-fill": "\f23d", + "cart-plus-fill": "\f23e", + "cart-plus": "\f23f", + "cart-x-fill": "\f240", + "cart-x": "\f241", + "cart": "\f242", + "cart2": "\f243", + "cart3": "\f244", + "cart4": "\f245", + "cash-stack": "\f246", + "cash": "\f247", + "cast": "\f248", + "chat-dots-fill": "\f249", + "chat-dots": "\f24a", + "chat-fill": "\f24b", + "chat-left-dots-fill": "\f24c", + "chat-left-dots": "\f24d", + "chat-left-fill": "\f24e", + "chat-left-quote-fill": "\f24f", + "chat-left-quote": "\f250", + "chat-left-text-fill": "\f251", + "chat-left-text": "\f252", + "chat-left": "\f253", + "chat-quote-fill": "\f254", + "chat-quote": "\f255", + "chat-right-dots-fill": "\f256", + "chat-right-dots": "\f257", + "chat-right-fill": "\f258", + "chat-right-quote-fill": "\f259", + "chat-right-quote": "\f25a", + "chat-right-text-fill": "\f25b", + "chat-right-text": "\f25c", + "chat-right": "\f25d", + "chat-square-dots-fill": "\f25e", + "chat-square-dots": "\f25f", + "chat-square-fill": "\f260", + "chat-square-quote-fill": "\f261", + "chat-square-quote": "\f262", + "chat-square-text-fill": "\f263", + "chat-square-text": "\f264", + "chat-square": "\f265", + "chat-text-fill": "\f266", + "chat-text": "\f267", + "chat": "\f268", + "check-all": "\f269", + "check-circle-fill": "\f26a", + "check-circle": "\f26b", + "check-square-fill": "\f26c", + "check-square": "\f26d", + "check": "\f26e", + "check2-all": "\f26f", + "check2-circle": "\f270", + "check2-square": "\f271", + "check2": "\f272", + "chevron-bar-contract": "\f273", + "chevron-bar-down": "\f274", + "chevron-bar-expand": "\f275", + "chevron-bar-left": "\f276", + "chevron-bar-right": "\f277", + "chevron-bar-up": "\f278", + "chevron-compact-down": "\f279", + "chevron-compact-left": "\f27a", + "chevron-compact-right": "\f27b", + "chevron-compact-up": "\f27c", + "chevron-contract": "\f27d", + "chevron-double-down": "\f27e", + "chevron-double-left": "\f27f", + "chevron-double-right": "\f280", + "chevron-double-up": "\f281", + "chevron-down": "\f282", + "chevron-expand": "\f283", + "chevron-left": "\f284", + "chevron-right": "\f285", + "chevron-up": "\f286", + "circle-fill": "\f287", + "circle-half": "\f288", + "circle-square": "\f289", + "circle": "\f28a", + "clipboard-check": "\f28b", + "clipboard-data": "\f28c", + "clipboard-minus": "\f28d", + "clipboard-plus": "\f28e", + "clipboard-x": "\f28f", + "clipboard": "\f290", + "clock-fill": "\f291", + "clock-history": "\f292", + "clock": "\f293", + "cloud-arrow-down-fill": "\f294", + "cloud-arrow-down": "\f295", + "cloud-arrow-up-fill": "\f296", + "cloud-arrow-up": "\f297", + "cloud-check-fill": "\f298", + "cloud-check": "\f299", + "cloud-download-fill": "\f29a", + "cloud-download": "\f29b", + "cloud-drizzle-fill": "\f29c", + "cloud-drizzle": "\f29d", + "cloud-fill": "\f29e", + "cloud-fog-fill": "\f29f", + "cloud-fog": "\f2a0", + "cloud-fog2-fill": "\f2a1", + "cloud-fog2": "\f2a2", + "cloud-hail-fill": "\f2a3", + "cloud-hail": "\f2a4", + "cloud-haze-1": "\f2a5", + "cloud-haze-fill": "\f2a6", + "cloud-haze": "\f2a7", + "cloud-haze2-fill": "\f2a8", + "cloud-lightning-fill": "\f2a9", + "cloud-lightning-rain-fill": "\f2aa", + "cloud-lightning-rain": "\f2ab", + "cloud-lightning": "\f2ac", + "cloud-minus-fill": "\f2ad", + "cloud-minus": "\f2ae", + "cloud-moon-fill": "\f2af", + "cloud-moon": "\f2b0", + "cloud-plus-fill": "\f2b1", + "cloud-plus": "\f2b2", + "cloud-rain-fill": "\f2b3", + "cloud-rain-heavy-fill": "\f2b4", + "cloud-rain-heavy": "\f2b5", + "cloud-rain": "\f2b6", + "cloud-slash-fill": "\f2b7", + "cloud-slash": "\f2b8", + "cloud-sleet-fill": "\f2b9", + "cloud-sleet": "\f2ba", + "cloud-snow-fill": "\f2bb", + "cloud-snow": "\f2bc", + "cloud-sun-fill": "\f2bd", + "cloud-sun": "\f2be", + "cloud-upload-fill": "\f2bf", + "cloud-upload": "\f2c0", + "cloud": "\f2c1", + "clouds-fill": "\f2c2", + "clouds": "\f2c3", + "cloudy-fill": "\f2c4", + "cloudy": "\f2c5", + "code-slash": "\f2c6", + "code-square": "\f2c7", + "code": "\f2c8", + "collection-fill": "\f2c9", + "collection-play-fill": "\f2ca", + "collection-play": "\f2cb", + "collection": "\f2cc", + "columns-gap": "\f2cd", + "columns": "\f2ce", + "command": "\f2cf", + "compass-fill": "\f2d0", + "compass": "\f2d1", + "cone-striped": "\f2d2", + "cone": "\f2d3", + "controller": "\f2d4", + "cpu-fill": "\f2d5", + "cpu": "\f2d6", + "credit-card-2-back-fill": "\f2d7", + "credit-card-2-back": "\f2d8", + "credit-card-2-front-fill": "\f2d9", + "credit-card-2-front": "\f2da", + "credit-card-fill": "\f2db", + "credit-card": "\f2dc", + "crop": "\f2dd", + "cup-fill": "\f2de", + "cup-straw": "\f2df", + "cup": "\f2e0", + "cursor-fill": "\f2e1", + "cursor-text": "\f2e2", + "cursor": "\f2e3", + "dash-circle-dotted": "\f2e4", + "dash-circle-fill": "\f2e5", + "dash-circle": "\f2e6", + "dash-square-dotted": "\f2e7", + "dash-square-fill": "\f2e8", + "dash-square": "\f2e9", + "dash": "\f2ea", + "diagram-2-fill": "\f2eb", + "diagram-2": "\f2ec", + "diagram-3-fill": "\f2ed", + "diagram-3": "\f2ee", + "diamond-fill": "\f2ef", + "diamond-half": "\f2f0", + "diamond": "\f2f1", + "dice-1-fill": "\f2f2", + "dice-1": "\f2f3", + "dice-2-fill": "\f2f4", + "dice-2": "\f2f5", + "dice-3-fill": "\f2f6", + "dice-3": "\f2f7", + "dice-4-fill": "\f2f8", + "dice-4": "\f2f9", + "dice-5-fill": "\f2fa", + "dice-5": "\f2fb", + "dice-6-fill": "\f2fc", + "dice-6": "\f2fd", + "disc-fill": "\f2fe", + "disc": "\f2ff", + "discord": "\f300", + "display-fill": "\f301", + "display": "\f302", + "distribute-horizontal": "\f303", + "distribute-vertical": "\f304", + "door-closed-fill": "\f305", + "door-closed": "\f306", + "door-open-fill": "\f307", + "door-open": "\f308", + "dot": "\f309", + "download": "\f30a", + "droplet-fill": "\f30b", + "droplet-half": "\f30c", + "droplet": "\f30d", + "earbuds": "\f30e", + "easel-fill": "\f30f", + "easel": "\f310", + "egg-fill": "\f311", + "egg-fried": "\f312", + "egg": "\f313", + "eject-fill": "\f314", + "eject": "\f315", + "emoji-angry-fill": "\f316", + "emoji-angry": "\f317", + "emoji-dizzy-fill": "\f318", + "emoji-dizzy": "\f319", + "emoji-expressionless-fill": "\f31a", + "emoji-expressionless": "\f31b", + "emoji-frown-fill": "\f31c", + "emoji-frown": "\f31d", + "emoji-heart-eyes-fill": "\f31e", + "emoji-heart-eyes": "\f31f", + "emoji-laughing-fill": "\f320", + "emoji-laughing": "\f321", + "emoji-neutral-fill": "\f322", + "emoji-neutral": "\f323", + "emoji-smile-fill": "\f324", + "emoji-smile-upside-down-fill": "\f325", + "emoji-smile-upside-down": "\f326", + "emoji-smile": "\f327", + "emoji-sunglasses-fill": "\f328", + "emoji-sunglasses": "\f329", + "emoji-wink-fill": "\f32a", + "emoji-wink": "\f32b", + "envelope-fill": "\f32c", + "envelope-open-fill": "\f32d", + "envelope-open": "\f32e", + "envelope": "\f32f", + "eraser-fill": "\f330", + "eraser": "\f331", + "exclamation-circle-fill": "\f332", + "exclamation-circle": "\f333", + "exclamation-diamond-fill": "\f334", + "exclamation-diamond": "\f335", + "exclamation-octagon-fill": "\f336", + "exclamation-octagon": "\f337", + "exclamation-square-fill": "\f338", + "exclamation-square": "\f339", + "exclamation-triangle-fill": "\f33a", + "exclamation-triangle": "\f33b", + "exclamation": "\f33c", + "exclude": "\f33d", + "eye-fill": "\f33e", + "eye-slash-fill": "\f33f", + "eye-slash": "\f340", + "eye": "\f341", + "eyedropper": "\f342", + "eyeglasses": "\f343", + "facebook": "\f344", + "file-arrow-down-fill": "\f345", + "file-arrow-down": "\f346", + "file-arrow-up-fill": "\f347", + "file-arrow-up": "\f348", + "file-bar-graph-fill": "\f349", + "file-bar-graph": "\f34a", + "file-binary-fill": "\f34b", + "file-binary": "\f34c", + "file-break-fill": "\f34d", + "file-break": "\f34e", + "file-check-fill": "\f34f", + "file-check": "\f350", + "file-code-fill": "\f351", + "file-code": "\f352", + "file-diff-fill": "\f353", + "file-diff": "\f354", + "file-earmark-arrow-down-fill": "\f355", + "file-earmark-arrow-down": "\f356", + "file-earmark-arrow-up-fill": "\f357", + "file-earmark-arrow-up": "\f358", + "file-earmark-bar-graph-fill": "\f359", + "file-earmark-bar-graph": "\f35a", + "file-earmark-binary-fill": "\f35b", + "file-earmark-binary": "\f35c", + "file-earmark-break-fill": "\f35d", + "file-earmark-break": "\f35e", + "file-earmark-check-fill": "\f35f", + "file-earmark-check": "\f360", + "file-earmark-code-fill": "\f361", + "file-earmark-code": "\f362", + "file-earmark-diff-fill": "\f363", + "file-earmark-diff": "\f364", + "file-earmark-easel-fill": "\f365", + "file-earmark-easel": "\f366", + "file-earmark-excel-fill": "\f367", + "file-earmark-excel": "\f368", + "file-earmark-fill": "\f369", + "file-earmark-font-fill": "\f36a", + "file-earmark-font": "\f36b", + "file-earmark-image-fill": "\f36c", + "file-earmark-image": "\f36d", + "file-earmark-lock-fill": "\f36e", + "file-earmark-lock": "\f36f", + "file-earmark-lock2-fill": "\f370", + "file-earmark-lock2": "\f371", + "file-earmark-medical-fill": "\f372", + "file-earmark-medical": "\f373", + "file-earmark-minus-fill": "\f374", + "file-earmark-minus": "\f375", + "file-earmark-music-fill": "\f376", + "file-earmark-music": "\f377", + "file-earmark-person-fill": "\f378", + "file-earmark-person": "\f379", + "file-earmark-play-fill": "\f37a", + "file-earmark-play": "\f37b", + "file-earmark-plus-fill": "\f37c", + "file-earmark-plus": "\f37d", + "file-earmark-post-fill": "\f37e", + "file-earmark-post": "\f37f", + "file-earmark-ppt-fill": "\f380", + "file-earmark-ppt": "\f381", + "file-earmark-richtext-fill": "\f382", + "file-earmark-richtext": "\f383", + "file-earmark-ruled-fill": "\f384", + "file-earmark-ruled": "\f385", + "file-earmark-slides-fill": "\f386", + "file-earmark-slides": "\f387", + "file-earmark-spreadsheet-fill": "\f388", + "file-earmark-spreadsheet": "\f389", + "file-earmark-text-fill": "\f38a", + "file-earmark-text": "\f38b", + "file-earmark-word-fill": "\f38c", + "file-earmark-word": "\f38d", + "file-earmark-x-fill": "\f38e", + "file-earmark-x": "\f38f", + "file-earmark-zip-fill": "\f390", + "file-earmark-zip": "\f391", + "file-earmark": "\f392", + "file-easel-fill": "\f393", + "file-easel": "\f394", + "file-excel-fill": "\f395", + "file-excel": "\f396", + "file-fill": "\f397", + "file-font-fill": "\f398", + "file-font": "\f399", + "file-image-fill": "\f39a", + "file-image": "\f39b", + "file-lock-fill": "\f39c", + "file-lock": "\f39d", + "file-lock2-fill": "\f39e", + "file-lock2": "\f39f", + "file-medical-fill": "\f3a0", + "file-medical": "\f3a1", + "file-minus-fill": "\f3a2", + "file-minus": "\f3a3", + "file-music-fill": "\f3a4", + "file-music": "\f3a5", + "file-person-fill": "\f3a6", + "file-person": "\f3a7", + "file-play-fill": "\f3a8", + "file-play": "\f3a9", + "file-plus-fill": "\f3aa", + "file-plus": "\f3ab", + "file-post-fill": "\f3ac", + "file-post": "\f3ad", + "file-ppt-fill": "\f3ae", + "file-ppt": "\f3af", + "file-richtext-fill": "\f3b0", + "file-richtext": "\f3b1", + "file-ruled-fill": "\f3b2", + "file-ruled": "\f3b3", + "file-slides-fill": "\f3b4", + "file-slides": "\f3b5", + "file-spreadsheet-fill": "\f3b6", + "file-spreadsheet": "\f3b7", + "file-text-fill": "\f3b8", + "file-text": "\f3b9", + "file-word-fill": "\f3ba", + "file-word": "\f3bb", + "file-x-fill": "\f3bc", + "file-x": "\f3bd", + "file-zip-fill": "\f3be", + "file-zip": "\f3bf", + "file": "\f3c0", + "files-alt": "\f3c1", + "files": "\f3c2", + "film": "\f3c3", + "filter-circle-fill": "\f3c4", + "filter-circle": "\f3c5", + "filter-left": "\f3c6", + "filter-right": "\f3c7", + "filter-square-fill": "\f3c8", + "filter-square": "\f3c9", + "filter": "\f3ca", + "flag-fill": "\f3cb", + "flag": "\f3cc", + "flower1": "\f3cd", + "flower2": "\f3ce", + "flower3": "\f3cf", + "folder-check": "\f3d0", + "folder-fill": "\f3d1", + "folder-minus": "\f3d2", + "folder-plus": "\f3d3", + "folder-symlink-fill": "\f3d4", + "folder-symlink": "\f3d5", + "folder-x": "\f3d6", + "folder": "\f3d7", + "folder2-open": "\f3d8", + "folder2": "\f3d9", + "fonts": "\f3da", + "forward-fill": "\f3db", + "forward": "\f3dc", + "front": "\f3dd", + "fullscreen-exit": "\f3de", + "fullscreen": "\f3df", + "funnel-fill": "\f3e0", + "funnel": "\f3e1", + "gear-fill": "\f3e2", + "gear-wide-connected": "\f3e3", + "gear-wide": "\f3e4", + "gear": "\f3e5", + "gem": "\f3e6", + "geo-alt-fill": "\f3e7", + "geo-alt": "\f3e8", + "geo-fill": "\f3e9", + "geo": "\f3ea", + "gift-fill": "\f3eb", + "gift": "\f3ec", + "github": "\f3ed", + "globe": "\f3ee", + "globe2": "\f3ef", + "google": "\f3f0", + "graph-down": "\f3f1", + "graph-up": "\f3f2", + "grid-1x2-fill": "\f3f3", + "grid-1x2": "\f3f4", + "grid-3x2-gap-fill": "\f3f5", + "grid-3x2-gap": "\f3f6", + "grid-3x2": "\f3f7", + "grid-3x3-gap-fill": "\f3f8", + "grid-3x3-gap": "\f3f9", + "grid-3x3": "\f3fa", + "grid-fill": "\f3fb", + "grid": "\f3fc", + "grip-horizontal": "\f3fd", + "grip-vertical": "\f3fe", + "hammer": "\f3ff", + "hand-index-fill": "\f400", + "hand-index-thumb-fill": "\f401", + "hand-index-thumb": "\f402", + "hand-index": "\f403", + "hand-thumbs-down-fill": "\f404", + "hand-thumbs-down": "\f405", + "hand-thumbs-up-fill": "\f406", + "hand-thumbs-up": "\f407", + "handbag-fill": "\f408", + "handbag": "\f409", + "hash": "\f40a", + "hdd-fill": "\f40b", + "hdd-network-fill": "\f40c", + "hdd-network": "\f40d", + "hdd-rack-fill": "\f40e", + "hdd-rack": "\f40f", + "hdd-stack-fill": "\f410", + "hdd-stack": "\f411", + "hdd": "\f412", + "headphones": "\f413", + "headset": "\f414", + "heart-fill": "\f415", + "heart-half": "\f416", + "heart": "\f417", + "heptagon-fill": "\f418", + "heptagon-half": "\f419", + "heptagon": "\f41a", + "hexagon-fill": "\f41b", + "hexagon-half": "\f41c", + "hexagon": "\f41d", + "hourglass-bottom": "\f41e", + "hourglass-split": "\f41f", + "hourglass-top": "\f420", + "hourglass": "\f421", + "house-door-fill": "\f422", + "house-door": "\f423", + "house-fill": "\f424", + "house": "\f425", + "hr": "\f426", + "hurricane": "\f427", + "image-alt": "\f428", + "image-fill": "\f429", + "image": "\f42a", + "images": "\f42b", + "inbox-fill": "\f42c", + "inbox": "\f42d", + "inboxes-fill": "\f42e", + "inboxes": "\f42f", + "info-circle-fill": "\f430", + "info-circle": "\f431", + "info-square-fill": "\f432", + "info-square": "\f433", + "info": "\f434", + "input-cursor-text": "\f435", + "input-cursor": "\f436", + "instagram": "\f437", + "intersect": "\f438", + "journal-album": "\f439", + "journal-arrow-down": "\f43a", + "journal-arrow-up": "\f43b", + "journal-bookmark-fill": "\f43c", + "journal-bookmark": "\f43d", + "journal-check": "\f43e", + "journal-code": "\f43f", + "journal-medical": "\f440", + "journal-minus": "\f441", + "journal-plus": "\f442", + "journal-richtext": "\f443", + "journal-text": "\f444", + "journal-x": "\f445", + "journal": "\f446", + "journals": "\f447", + "joystick": "\f448", + "justify-left": "\f449", + "justify-right": "\f44a", + "justify": "\f44b", + "kanban-fill": "\f44c", + "kanban": "\f44d", + "key-fill": "\f44e", + "key": "\f44f", + "keyboard-fill": "\f450", + "keyboard": "\f451", + "ladder": "\f452", + "lamp-fill": "\f453", + "lamp": "\f454", + "laptop-fill": "\f455", + "laptop": "\f456", + "layer-backward": "\f457", + "layer-forward": "\f458", + "layers-fill": "\f459", + "layers-half": "\f45a", + "layers": "\f45b", + "layout-sidebar-inset-reverse": "\f45c", + "layout-sidebar-inset": "\f45d", + "layout-sidebar-reverse": "\f45e", + "layout-sidebar": "\f45f", + "layout-split": "\f460", + "layout-text-sidebar-reverse": "\f461", + "layout-text-sidebar": "\f462", + "layout-text-window-reverse": "\f463", + "layout-text-window": "\f464", + "layout-three-columns": "\f465", + "layout-wtf": "\f466", + "life-preserver": "\f467", + "lightbulb-fill": "\f468", + "lightbulb-off-fill": "\f469", + "lightbulb-off": "\f46a", + "lightbulb": "\f46b", + "lightning-charge-fill": "\f46c", + "lightning-charge": "\f46d", + "lightning-fill": "\f46e", + "lightning": "\f46f", + "link-45deg": "\f470", + "link": "\f471", + "linkedin": "\f472", + "list-check": "\f473", + "list-nested": "\f474", + "list-ol": "\f475", + "list-stars": "\f476", + "list-task": "\f477", + "list-ul": "\f478", + "list": "\f479", + "lock-fill": "\f47a", + "lock": "\f47b", + "mailbox": "\f47c", + "mailbox2": "\f47d", + "map-fill": "\f47e", + "map": "\f47f", + "markdown-fill": "\f480", + "markdown": "\f481", + "mask": "\f482", + "megaphone-fill": "\f483", + "megaphone": "\f484", + "menu-app-fill": "\f485", + "menu-app": "\f486", + "menu-button-fill": "\f487", + "menu-button-wide-fill": "\f488", + "menu-button-wide": "\f489", + "menu-button": "\f48a", + "menu-down": "\f48b", + "menu-up": "\f48c", + "mic-fill": "\f48d", + "mic-mute-fill": "\f48e", + "mic-mute": "\f48f", + "mic": "\f490", + "minecart-loaded": "\f491", + "minecart": "\f492", + "moisture": "\f493", + "moon-fill": "\f494", + "moon-stars-fill": "\f495", + "moon-stars": "\f496", + "moon": "\f497", + "mouse-fill": "\f498", + "mouse": "\f499", + "mouse2-fill": "\f49a", + "mouse2": "\f49b", + "mouse3-fill": "\f49c", + "mouse3": "\f49d", + "music-note-beamed": "\f49e", + "music-note-list": "\f49f", + "music-note": "\f4a0", + "music-player-fill": "\f4a1", + "music-player": "\f4a2", + "newspaper": "\f4a3", + "node-minus-fill": "\f4a4", + "node-minus": "\f4a5", + "node-plus-fill": "\f4a6", + "node-plus": "\f4a7", + "nut-fill": "\f4a8", + "nut": "\f4a9", + "octagon-fill": "\f4aa", + "octagon-half": "\f4ab", + "octagon": "\f4ac", + "option": "\f4ad", + "outlet": "\f4ae", + "paint-bucket": "\f4af", + "palette-fill": "\f4b0", + "palette": "\f4b1", + "palette2": "\f4b2", + "paperclip": "\f4b3", + "paragraph": "\f4b4", + "patch-check-fill": "\f4b5", + "patch-check": "\f4b6", + "patch-exclamation-fill": "\f4b7", + "patch-exclamation": "\f4b8", + "patch-minus-fill": "\f4b9", + "patch-minus": "\f4ba", + "patch-plus-fill": "\f4bb", + "patch-plus": "\f4bc", + "patch-question-fill": "\f4bd", + "patch-question": "\f4be", + "pause-btn-fill": "\f4bf", + "pause-btn": "\f4c0", + "pause-circle-fill": "\f4c1", + "pause-circle": "\f4c2", + "pause-fill": "\f4c3", + "pause": "\f4c4", + "peace-fill": "\f4c5", + "peace": "\f4c6", + "pen-fill": "\f4c7", + "pen": "\f4c8", + "pencil-fill": "\f4c9", + "pencil-square": "\f4ca", + "pencil": "\f4cb", + "pentagon-fill": "\f4cc", + "pentagon-half": "\f4cd", + "pentagon": "\f4ce", + "people-fill": "\f4cf", + "people": "\f4d0", + "percent": "\f4d1", + "person-badge-fill": "\f4d2", + "person-badge": "\f4d3", + "person-bounding-box": "\f4d4", + "person-check-fill": "\f4d5", + "person-check": "\f4d6", + "person-circle": "\f4d7", + "person-dash-fill": "\f4d8", + "person-dash": "\f4d9", + "person-fill": "\f4da", + "person-lines-fill": "\f4db", + "person-plus-fill": "\f4dc", + "person-plus": "\f4dd", + "person-square": "\f4de", + "person-x-fill": "\f4df", + "person-x": "\f4e0", + "person": "\f4e1", + "phone-fill": "\f4e2", + "phone-landscape-fill": "\f4e3", + "phone-landscape": "\f4e4", + "phone-vibrate-fill": "\f4e5", + "phone-vibrate": "\f4e6", + "phone": "\f4e7", + "pie-chart-fill": "\f4e8", + "pie-chart": "\f4e9", + "pin-angle-fill": "\f4ea", + "pin-angle": "\f4eb", + "pin-fill": "\f4ec", + "pin": "\f4ed", + "pip-fill": "\f4ee", + "pip": "\f4ef", + "play-btn-fill": "\f4f0", + "play-btn": "\f4f1", + "play-circle-fill": "\f4f2", + "play-circle": "\f4f3", + "play-fill": "\f4f4", + "play": "\f4f5", + "plug-fill": "\f4f6", + "plug": "\f4f7", + "plus-circle-dotted": "\f4f8", + "plus-circle-fill": "\f4f9", + "plus-circle": "\f4fa", + "plus-square-dotted": "\f4fb", + "plus-square-fill": "\f4fc", + "plus-square": "\f4fd", + "plus": "\f4fe", + "power": "\f4ff", + "printer-fill": "\f500", + "printer": "\f501", + "puzzle-fill": "\f502", + "puzzle": "\f503", + "question-circle-fill": "\f504", + "question-circle": "\f505", + "question-diamond-fill": "\f506", + "question-diamond": "\f507", + "question-octagon-fill": "\f508", + "question-octagon": "\f509", + "question-square-fill": "\f50a", + "question-square": "\f50b", + "question": "\f50c", + "rainbow": "\f50d", + "receipt-cutoff": "\f50e", + "receipt": "\f50f", + "reception-0": "\f510", + "reception-1": "\f511", + "reception-2": "\f512", + "reception-3": "\f513", + "reception-4": "\f514", + "record-btn-fill": "\f515", + "record-btn": "\f516", + "record-circle-fill": "\f517", + "record-circle": "\f518", + "record-fill": "\f519", + "record": "\f51a", + "record2-fill": "\f51b", + "record2": "\f51c", + "reply-all-fill": "\f51d", + "reply-all": "\f51e", + "reply-fill": "\f51f", + "reply": "\f520", + "rss-fill": "\f521", + "rss": "\f522", + "rulers": "\f523", + "save-fill": "\f524", + "save": "\f525", + "save2-fill": "\f526", + "save2": "\f527", + "scissors": "\f528", + "screwdriver": "\f529", + "search": "\f52a", + "segmented-nav": "\f52b", + "server": "\f52c", + "share-fill": "\f52d", + "share": "\f52e", + "shield-check": "\f52f", + "shield-exclamation": "\f530", + "shield-fill-check": "\f531", + "shield-fill-exclamation": "\f532", + "shield-fill-minus": "\f533", + "shield-fill-plus": "\f534", + "shield-fill-x": "\f535", + "shield-fill": "\f536", + "shield-lock-fill": "\f537", + "shield-lock": "\f538", + "shield-minus": "\f539", + "shield-plus": "\f53a", + "shield-shaded": "\f53b", + "shield-slash-fill": "\f53c", + "shield-slash": "\f53d", + "shield-x": "\f53e", + "shield": "\f53f", + "shift-fill": "\f540", + "shift": "\f541", + "shop-window": "\f542", + "shop": "\f543", + "shuffle": "\f544", + "signpost-2-fill": "\f545", + "signpost-2": "\f546", + "signpost-fill": "\f547", + "signpost-split-fill": "\f548", + "signpost-split": "\f549", + "signpost": "\f54a", + "sim-fill": "\f54b", + "sim": "\f54c", + "skip-backward-btn-fill": "\f54d", + "skip-backward-btn": "\f54e", + "skip-backward-circle-fill": "\f54f", + "skip-backward-circle": "\f550", + "skip-backward-fill": "\f551", + "skip-backward": "\f552", + "skip-end-btn-fill": "\f553", + "skip-end-btn": "\f554", + "skip-end-circle-fill": "\f555", + "skip-end-circle": "\f556", + "skip-end-fill": "\f557", + "skip-end": "\f558", + "skip-forward-btn-fill": "\f559", + "skip-forward-btn": "\f55a", + "skip-forward-circle-fill": "\f55b", + "skip-forward-circle": "\f55c", + "skip-forward-fill": "\f55d", + "skip-forward": "\f55e", + "skip-start-btn-fill": "\f55f", + "skip-start-btn": "\f560", + "skip-start-circle-fill": "\f561", + "skip-start-circle": "\f562", + "skip-start-fill": "\f563", + "skip-start": "\f564", + "slack": "\f565", + "slash-circle-fill": "\f566", + "slash-circle": "\f567", + "slash-square-fill": "\f568", + "slash-square": "\f569", + "slash": "\f56a", + "sliders": "\f56b", + "smartwatch": "\f56c", + "snow": "\f56d", + "snow2": "\f56e", + "snow3": "\f56f", + "sort-alpha-down-alt": "\f570", + "sort-alpha-down": "\f571", + "sort-alpha-up-alt": "\f572", + "sort-alpha-up": "\f573", + "sort-down-alt": "\f574", + "sort-down": "\f575", + "sort-numeric-down-alt": "\f576", + "sort-numeric-down": "\f577", + "sort-numeric-up-alt": "\f578", + "sort-numeric-up": "\f579", + "sort-up-alt": "\f57a", + "sort-up": "\f57b", + "soundwave": "\f57c", + "speaker-fill": "\f57d", + "speaker": "\f57e", + "speedometer": "\f57f", + "speedometer2": "\f580", + "spellcheck": "\f581", + "square-fill": "\f582", + "square-half": "\f583", + "square": "\f584", + "stack": "\f585", + "star-fill": "\f586", + "star-half": "\f587", + "star": "\f588", + "stars": "\f589", + "stickies-fill": "\f58a", + "stickies": "\f58b", + "sticky-fill": "\f58c", + "sticky": "\f58d", + "stop-btn-fill": "\f58e", + "stop-btn": "\f58f", + "stop-circle-fill": "\f590", + "stop-circle": "\f591", + "stop-fill": "\f592", + "stop": "\f593", + "stoplights-fill": "\f594", + "stoplights": "\f595", + "stopwatch-fill": "\f596", + "stopwatch": "\f597", + "subtract": "\f598", + "suit-club-fill": "\f599", + "suit-club": "\f59a", + "suit-diamond-fill": "\f59b", + "suit-diamond": "\f59c", + "suit-heart-fill": "\f59d", + "suit-heart": "\f59e", + "suit-spade-fill": "\f59f", + "suit-spade": "\f5a0", + "sun-fill": "\f5a1", + "sun": "\f5a2", + "sunglasses": "\f5a3", + "sunrise-fill": "\f5a4", + "sunrise": "\f5a5", + "sunset-fill": "\f5a6", + "sunset": "\f5a7", + "symmetry-horizontal": "\f5a8", + "symmetry-vertical": "\f5a9", + "table": "\f5aa", + "tablet-fill": "\f5ab", + "tablet-landscape-fill": "\f5ac", + "tablet-landscape": "\f5ad", + "tablet": "\f5ae", + "tag-fill": "\f5af", + "tag": "\f5b0", + "tags-fill": "\f5b1", + "tags": "\f5b2", + "telegram": "\f5b3", + "telephone-fill": "\f5b4", + "telephone-forward-fill": "\f5b5", + "telephone-forward": "\f5b6", + "telephone-inbound-fill": "\f5b7", + "telephone-inbound": "\f5b8", + "telephone-minus-fill": "\f5b9", + "telephone-minus": "\f5ba", + "telephone-outbound-fill": "\f5bb", + "telephone-outbound": "\f5bc", + "telephone-plus-fill": "\f5bd", + "telephone-plus": "\f5be", + "telephone-x-fill": "\f5bf", + "telephone-x": "\f5c0", + "telephone": "\f5c1", + "terminal-fill": "\f5c2", + "terminal": "\f5c3", + "text-center": "\f5c4", + "text-indent-left": "\f5c5", + "text-indent-right": "\f5c6", + "text-left": "\f5c7", + "text-paragraph": "\f5c8", + "text-right": "\f5c9", + "textarea-resize": "\f5ca", + "textarea-t": "\f5cb", + "textarea": "\f5cc", + "thermometer-half": "\f5cd", + "thermometer-high": "\f5ce", + "thermometer-low": "\f5cf", + "thermometer-snow": "\f5d0", + "thermometer-sun": "\f5d1", + "thermometer": "\f5d2", + "three-dots-vertical": "\f5d3", + "three-dots": "\f5d4", + "toggle-off": "\f5d5", + "toggle-on": "\f5d6", + "toggle2-off": "\f5d7", + "toggle2-on": "\f5d8", + "toggles": "\f5d9", + "toggles2": "\f5da", + "tools": "\f5db", + "tornado": "\f5dc", + "trash-fill": "\f5dd", + "trash": "\f5de", + "trash2-fill": "\f5df", + "trash2": "\f5e0", + "tree-fill": "\f5e1", + "tree": "\f5e2", + "triangle-fill": "\f5e3", + "triangle-half": "\f5e4", + "triangle": "\f5e5", + "trophy-fill": "\f5e6", + "trophy": "\f5e7", + "tropical-storm": "\f5e8", + "truck-flatbed": "\f5e9", + "truck": "\f5ea", + "tsunami": "\f5eb", + "tv-fill": "\f5ec", + "tv": "\f5ed", + "twitch": "\f5ee", + "twitter": "\f5ef", + "type-bold": "\f5f0", + "type-h1": "\f5f1", + "type-h2": "\f5f2", + "type-h3": "\f5f3", + "type-italic": "\f5f4", + "type-strikethrough": "\f5f5", + "type-underline": "\f5f6", + "type": "\f5f7", + "ui-checks-grid": "\f5f8", + "ui-checks": "\f5f9", + "ui-radios-grid": "\f5fa", + "ui-radios": "\f5fb", + "umbrella-fill": "\f5fc", + "umbrella": "\f5fd", + "union": "\f5fe", + "unlock-fill": "\f5ff", + "unlock": "\f600", + "upc-scan": "\f601", + "upc": "\f602", + "upload": "\f603", + "vector-pen": "\f604", + "view-list": "\f605", + "view-stacked": "\f606", + "vinyl-fill": "\f607", + "vinyl": "\f608", + "voicemail": "\f609", + "volume-down-fill": "\f60a", + "volume-down": "\f60b", + "volume-mute-fill": "\f60c", + "volume-mute": "\f60d", + "volume-off-fill": "\f60e", + "volume-off": "\f60f", + "volume-up-fill": "\f610", + "volume-up": "\f611", + "vr": "\f612", + "wallet-fill": "\f613", + "wallet": "\f614", + "wallet2": "\f615", + "watch": "\f616", + "water": "\f617", + "whatsapp": "\f618", + "wifi-1": "\f619", + "wifi-2": "\f61a", + "wifi-off": "\f61b", + "wifi": "\f61c", + "wind": "\f61d", + "window-dock": "\f61e", + "window-sidebar": "\f61f", + "window": "\f620", + "wrench": "\f621", + "x-circle-fill": "\f622", + "x-circle": "\f623", + "x-diamond-fill": "\f624", + "x-diamond": "\f625", + "x-octagon-fill": "\f626", + "x-octagon": "\f627", + "x-square-fill": "\f628", + "x-square": "\f629", + "x": "\f62a", + "youtube": "\f62b", + "zoom-in": "\f62c", + "zoom-out": "\f62d", + "bank": "\f62e", + "bank2": "\f62f", + "bell-slash-fill": "\f630", + "bell-slash": "\f631", + "cash-coin": "\f632", + "check-lg": "\f633", + "coin": "\f634", + "currency-bitcoin": "\f635", + "currency-dollar": "\f636", + "currency-euro": "\f637", + "currency-exchange": "\f638", + "currency-pound": "\f639", + "currency-yen": "\f63a", + "dash-lg": "\f63b", + "exclamation-lg": "\f63c", + "file-earmark-pdf-fill": "\f63d", + "file-earmark-pdf": "\f63e", + "file-pdf-fill": "\f63f", + "file-pdf": "\f640", + "gender-ambiguous": "\f641", + "gender-female": "\f642", + "gender-male": "\f643", + "gender-trans": "\f644", + "headset-vr": "\f645", + "info-lg": "\f646", + "mastodon": "\f647", + "messenger": "\f648", + "piggy-bank-fill": "\f649", + "piggy-bank": "\f64a", + "pin-map-fill": "\f64b", + "pin-map": "\f64c", + "plus-lg": "\f64d", + "question-lg": "\f64e", + "recycle": "\f64f", + "reddit": "\f650", + "safe-fill": "\f651", + "safe2-fill": "\f652", + "safe2": "\f653", + "sd-card-fill": "\f654", + "sd-card": "\f655", + "skype": "\f656", + "slash-lg": "\f657", + "translate": "\f658", + "x-lg": "\f659", + "safe": "\f65a", + "apple": "\f65b", + "microsoft": "\f65d", + "windows": "\f65e", + "behance": "\f65c", + "dribbble": "\f65f", + "line": "\f660", + "medium": "\f661", + "paypal": "\f662", + "pinterest": "\f663", + "signal": "\f664", + "snapchat": "\f665", + "spotify": "\f666", + "stack-overflow": "\f667", + "strava": "\f668", + "wordpress": "\f669", + "vimeo": "\f66a", + "activity": "\f66b", + "easel2-fill": "\f66c", + "easel2": "\f66d", + "easel3-fill": "\f66e", + "easel3": "\f66f", + "fan": "\f670", + "fingerprint": "\f671", + "graph-down-arrow": "\f672", + "graph-up-arrow": "\f673", + "hypnotize": "\f674", + "magic": "\f675", + "person-rolodex": "\f676", + "person-video": "\f677", + "person-video2": "\f678", + "person-video3": "\f679", + "person-workspace": "\f67a", + "radioactive": "\f67b", + "webcam-fill": "\f67c", + "webcam": "\f67d", + "yin-yang": "\f67e", + "bandaid-fill": "\f680", + "bandaid": "\f681", + "bluetooth": "\f682", + "body-text": "\f683", + "boombox": "\f684", + "boxes": "\f685", + "dpad-fill": "\f686", + "dpad": "\f687", + "ear-fill": "\f688", + "ear": "\f689", + "envelope-check-1": "\f68a", + "envelope-check-fill": "\f68b", + "envelope-check": "\f68c", + "envelope-dash-1": "\f68d", + "envelope-dash-fill": "\f68e", + "envelope-dash": "\f68f", + "envelope-exclamation-1": "\f690", + "envelope-exclamation-fill": "\f691", + "envelope-exclamation": "\f692", + "envelope-plus-fill": "\f693", + "envelope-plus": "\f694", + "envelope-slash-1": "\f695", + "envelope-slash-fill": "\f696", + "envelope-slash": "\f697", + "envelope-x-1": "\f698", + "envelope-x-fill": "\f699", + "envelope-x": "\f69a", + "explicit-fill": "\f69b", + "explicit": "\f69c", + "git": "\f69d", + "infinity": "\f69e", + "list-columns-reverse": "\f69f", + "list-columns": "\f6a0", + "meta": "\f6a1", + "mortorboard-fill": "\f6a2", + "mortorboard": "\f6a3", + "nintendo-switch": "\f6a4", + "pc-display-horizontal": "\f6a5", + "pc-display": "\f6a6", + "pc-horizontal": "\f6a7", + "pc": "\f6a8", + "playstation": "\f6a9", + "plus-slash-minus": "\f6aa", + "projector-fill": "\f6ab", + "projector": "\f6ac", + "qr-code-scan": "\f6ad", + "qr-code": "\f6ae", + "quora": "\f6af", + "quote": "\f6b0", + "robot": "\f6b1", + "send-check-fill": "\f6b2", + "send-check": "\f6b3", + "send-dash-fill": "\f6b4", + "send-dash": "\f6b5", + "send-exclamation-1": "\f6b6", + "send-exclamation-fill": "\f6b7", + "send-exclamation": "\f6b8", + "send-fill": "\f6b9", + "send-plus-fill": "\f6ba", + "send-plus": "\f6bb", + "send-slash-fill": "\f6bc", + "send-slash": "\f6bd", + "send-x-fill": "\f6be", + "send-x": "\f6bf", + "send": "\f6c0", + "steam": "\f6c1", + "terminal-dash-1": "\f6c2", + "terminal-dash": "\f6c3", + "terminal-plus": "\f6c4", + "terminal-split": "\f6c5", + "ticket-detailed-fill": "\f6c6", + "ticket-detailed": "\f6c7", + "ticket-fill": "\f6c8", + "ticket-perforated-fill": "\f6c9", + "ticket-perforated": "\f6ca", + "ticket": "\f6cb", + "tiktok": "\f6cc", + "window-dash": "\f6cd", + "window-desktop": "\f6ce", + "window-fullscreen": "\f6cf", + "window-plus": "\f6d0", + "window-split": "\f6d1", + "window-stack": "\f6d2", + "window-x": "\f6d3", + "xbox": "\f6d4", + "ethernet": "\f6d5", + "hdmi-fill": "\f6d6", + "hdmi": "\f6d7", + "usb-c-fill": "\f6d8", + "usb-c": "\f6d9", + "usb-fill": "\f6da", + "usb-plug-fill": "\f6db", + "usb-plug": "\f6dc", + "usb-symbol": "\f6dd", + "usb": "\f6de", + "boombox-fill": "\f6df", + "displayport-1": "\f6e0", + "displayport": "\f6e1", + "gpu-card": "\f6e2", + "memory": "\f6e3", + "modem-fill": "\f6e4", + "modem": "\f6e5", + "motherboard-fill": "\f6e6", + "motherboard": "\f6e7", + "optical-audio-fill": "\f6e8", + "optical-audio": "\f6e9", + "pci-card": "\f6ea", + "router-fill": "\f6eb", + "router": "\f6ec", + "ssd-fill": "\f6ed", + "ssd": "\f6ee", + "thunderbolt-fill": "\f6ef", + "thunderbolt": "\f6f0", + "usb-drive-fill": "\f6f1", + "usb-drive": "\f6f2", + "usb-micro-fill": "\f6f3", + "usb-micro": "\f6f4", + "usb-mini-fill": "\f6f5", + "usb-mini": "\f6f6", + "cloud-haze2": "\f6f7", + "device-hdd-fill": "\f6f8", + "device-hdd": "\f6f9", + "device-ssd-fill": "\f6fa", + "device-ssd": "\f6fb", + "displayport-fill": "\f6fc", + "mortarboard-fill": "\f6fd", + "mortarboard": "\f6fe", + "terminal-x": "\f6ff", + "arrow-through-heart-fill": "\f700", + "arrow-through-heart": "\f701", + "badge-sd-fill": "\f702", + "badge-sd": "\f703", + "bag-heart-fill": "\f704", + "bag-heart": "\f705", + "balloon-fill": "\f706", + "balloon-heart-fill": "\f707", + "balloon-heart": "\f708", + "balloon": "\f709", + "box2-fill": "\f70a", + "box2-heart-fill": "\f70b", + "box2-heart": "\f70c", + "box2": "\f70d", + "braces-asterisk": "\f70e", + "calendar-heart-fill": "\f70f", + "calendar-heart": "\f710", + "calendar2-heart-fill": "\f711", + "calendar2-heart": "\f712", + "chat-heart-fill": "\f713", + "chat-heart": "\f714", + "chat-left-heart-fill": "\f715", + "chat-left-heart": "\f716", + "chat-right-heart-fill": "\f717", + "chat-right-heart": "\f718", + "chat-square-heart-fill": "\f719", + "chat-square-heart": "\f71a", + "clipboard-check-fill": "\f71b", + "clipboard-data-fill": "\f71c", + "clipboard-fill": "\f71d", + "clipboard-heart-fill": "\f71e", + "clipboard-heart": "\f71f", + "clipboard-minus-fill": "\f720", + "clipboard-plus-fill": "\f721", + "clipboard-pulse": "\f722", + "clipboard-x-fill": "\f723", + "clipboard2-check-fill": "\f724", + "clipboard2-check": "\f725", + "clipboard2-data-fill": "\f726", + "clipboard2-data": "\f727", + "clipboard2-fill": "\f728", + "clipboard2-heart-fill": "\f729", + "clipboard2-heart": "\f72a", + "clipboard2-minus-fill": "\f72b", + "clipboard2-minus": "\f72c", + "clipboard2-plus-fill": "\f72d", + "clipboard2-plus": "\f72e", + "clipboard2-pulse-fill": "\f72f", + "clipboard2-pulse": "\f730", + "clipboard2-x-fill": "\f731", + "clipboard2-x": "\f732", + "clipboard2": "\f733", + "emoji-kiss-fill": "\f734", + "emoji-kiss": "\f735", + "envelope-heart-fill": "\f736", + "envelope-heart": "\f737", + "envelope-open-heart-fill": "\f738", + "envelope-open-heart": "\f739", + "envelope-paper-fill": "\f73a", + "envelope-paper-heart-fill": "\f73b", + "envelope-paper-heart": "\f73c", + "envelope-paper": "\f73d", + "filetype-aac": "\f73e", + "filetype-ai": "\f73f", + "filetype-bmp": "\f740", + "filetype-cs": "\f741", + "filetype-css": "\f742", + "filetype-csv": "\f743", + "filetype-doc": "\f744", + "filetype-docx": "\f745", + "filetype-exe": "\f746", + "filetype-gif": "\f747", + "filetype-heic": "\f748", + "filetype-html": "\f749", + "filetype-java": "\f74a", + "filetype-jpg": "\f74b", + "filetype-js": "\f74c", + "filetype-jsx": "\f74d", + "filetype-key": "\f74e", + "filetype-m4p": "\f74f", + "filetype-md": "\f750", + "filetype-mdx": "\f751", + "filetype-mov": "\f752", + "filetype-mp3": "\f753", + "filetype-mp4": "\f754", + "filetype-otf": "\f755", + "filetype-pdf": "\f756", + "filetype-php": "\f757", + "filetype-png": "\f758", + "filetype-ppt-1": "\f759", + "filetype-ppt": "\f75a", + "filetype-psd": "\f75b", + "filetype-py": "\f75c", + "filetype-raw": "\f75d", + "filetype-rb": "\f75e", + "filetype-sass": "\f75f", + "filetype-scss": "\f760", + "filetype-sh": "\f761", + "filetype-svg": "\f762", + "filetype-tiff": "\f763", + "filetype-tsx": "\f764", + "filetype-ttf": "\f765", + "filetype-txt": "\f766", + "filetype-wav": "\f767", + "filetype-woff": "\f768", + "filetype-xls-1": "\f769", + "filetype-xls": "\f76a", + "filetype-xml": "\f76b", + "filetype-yml": "\f76c", + "heart-arrow": "\f76d", + "heart-pulse-fill": "\f76e", + "heart-pulse": "\f76f", + "heartbreak-fill": "\f770", + "heartbreak": "\f771", + "hearts": "\f772", + "hospital-fill": "\f773", + "hospital": "\f774", + "house-heart-fill": "\f775", + "house-heart": "\f776", + "incognito": "\f777", + "magnet-fill": "\f778", + "magnet": "\f779", + "person-heart": "\f77a", + "person-hearts": "\f77b", + "phone-flip": "\f77c", + "plugin": "\f77d", + "postage-fill": "\f77e", + "postage-heart-fill": "\f77f", + "postage-heart": "\f780", + "postage": "\f781", + "postcard-fill": "\f782", + "postcard-heart-fill": "\f783", + "postcard-heart": "\f784", + "postcard": "\f785", + "search-heart-fill": "\f786", + "search-heart": "\f787", + "sliders2-vertical": "\f788", + "sliders2": "\f789", + "trash3-fill": "\f78a", + "trash3": "\f78b", + "valentine": "\f78c", + "valentine2": "\f78d", + "wrench-adjustable-circle-fill": "\f78e", + "wrench-adjustable-circle": "\f78f", + "wrench-adjustable": "\f790", + "filetype-json": "\f791", + "filetype-pptx": "\f792", + "filetype-xlsx": "\f793", + "1-circle-1": "\f794", + "1-circle-fill-1": "\f795", + "1-circle-fill": "\f796", + "1-circle": "\f797", + "1-square-fill": "\f798", + "1-square": "\f799", + "2-circle-1": "\f79a", + "2-circle-fill-1": "\f79b", + "2-circle-fill": "\f79c", + "2-circle": "\f79d", + "2-square-fill": "\f79e", + "2-square": "\f79f", + "3-circle-1": "\f7a0", + "3-circle-fill-1": "\f7a1", + "3-circle-fill": "\f7a2", + "3-circle": "\f7a3", + "3-square-fill": "\f7a4", + "3-square": "\f7a5", + "4-circle-1": "\f7a6", + "4-circle-fill-1": "\f7a7", + "4-circle-fill": "\f7a8", + "4-circle": "\f7a9", + "4-square-fill": "\f7aa", + "4-square": "\f7ab", + "5-circle-1": "\f7ac", + "5-circle-fill-1": "\f7ad", + "5-circle-fill": "\f7ae", + "5-circle": "\f7af", + "5-square-fill": "\f7b0", + "5-square": "\f7b1", + "6-circle-1": "\f7b2", + "6-circle-fill-1": "\f7b3", + "6-circle-fill": "\f7b4", + "6-circle": "\f7b5", + "6-square-fill": "\f7b6", + "6-square": "\f7b7", + "7-circle-1": "\f7b8", + "7-circle-fill-1": "\f7b9", + "7-circle-fill": "\f7ba", + "7-circle": "\f7bb", + "7-square-fill": "\f7bc", + "7-square": "\f7bd", + "8-circle-1": "\f7be", + "8-circle-fill-1": "\f7bf", + "8-circle-fill": "\f7c0", + "8-circle": "\f7c1", + "8-square-fill": "\f7c2", + "8-square": "\f7c3", + "9-circle-1": "\f7c4", + "9-circle-fill-1": "\f7c5", + "9-circle-fill": "\f7c6", + "9-circle": "\f7c7", + "9-square-fill": "\f7c8", + "9-square": "\f7c9", + "airplane-engines-fill": "\f7ca", + "airplane-engines": "\f7cb", + "airplane-fill": "\f7cc", + "airplane": "\f7cd", + "alexa": "\f7ce", + "alipay": "\f7cf", + "android": "\f7d0", + "android2": "\f7d1", + "box-fill": "\f7d2", + "box-seam-fill": "\f7d3", + "browser-chrome": "\f7d4", + "browser-edge": "\f7d5", + "browser-firefox": "\f7d6", + "browser-safari": "\f7d7", + "c-circle-1": "\f7d8", + "c-circle-fill-1": "\f7d9", + "c-circle-fill": "\f7da", + "c-circle": "\f7db", + "c-square-fill": "\f7dc", + "c-square": "\f7dd", + "capsule-pill": "\f7de", + "capsule": "\f7df", + "car-front-fill": "\f7e0", + "car-front": "\f7e1", + "cassette-fill": "\f7e2", + "cassette": "\f7e3", + "cc-circle-1": "\f7e4", + "cc-circle-fill-1": "\f7e5", + "cc-circle-fill": "\f7e6", + "cc-circle": "\f7e7", + "cc-square-fill": "\f7e8", + "cc-square": "\f7e9", + "cup-hot-fill": "\f7ea", + "cup-hot": "\f7eb", + "currency-rupee": "\f7ec", + "dropbox": "\f7ed", + "escape": "\f7ee", + "fast-forward-btn-fill": "\f7ef", + "fast-forward-btn": "\f7f0", + "fast-forward-circle-fill": "\f7f1", + "fast-forward-circle": "\f7f2", + "fast-forward-fill": "\f7f3", + "fast-forward": "\f7f4", + "filetype-sql": "\f7f5", + "fire": "\f7f6", + "google-play": "\f7f7", + "h-circle-1": "\f7f8", + "h-circle-fill-1": "\f7f9", + "h-circle-fill": "\f7fa", + "h-circle": "\f7fb", + "h-square-fill": "\f7fc", + "h-square": "\f7fd", + "indent": "\f7fe", + "lungs-fill": "\f7ff", + "lungs": "\f800", + "microsoft-teams": "\f801", + "p-circle-1": "\f802", + "p-circle-fill-1": "\f803", + "p-circle-fill": "\f804", + "p-circle": "\f805", + "p-square-fill": "\f806", + "p-square": "\f807", + "pass-fill": "\f808", + "pass": "\f809", + "prescription": "\f80a", + "prescription2": "\f80b", + "r-circle-1": "\f80c", + "r-circle-fill-1": "\f80d", + "r-circle-fill": "\f80e", + "r-circle": "\f80f", + "r-square-fill": "\f810", + "r-square": "\f811", + "repeat-1": "\f812", + "repeat": "\f813", + "rewind-btn-fill": "\f814", + "rewind-btn": "\f815", + "rewind-circle-fill": "\f816", + "rewind-circle": "\f817", + "rewind-fill": "\f818", + "rewind": "\f819", + "train-freight-front-fill": "\f81a", + "train-freight-front": "\f81b", + "train-front-fill": "\f81c", + "train-front": "\f81d", + "train-lightrail-front-fill": "\f81e", + "train-lightrail-front": "\f81f", + "truck-front-fill": "\f820", + "truck-front": "\f821", + "ubuntu": "\f822", + "unindent": "\f823", + "unity": "\f824", + "universal-access-circle": "\f825", + "universal-access": "\f826", + "virus": "\f827", + "virus2": "\f828", + "wechat": "\f829", + "yelp": "\f82a", + "sign-stop-fill": "\f82b", + "sign-stop-lights-fill": "\f82c", + "sign-stop-lights": "\f82d", + "sign-stop": "\f82e", + "sign-turn-left-fill": "\f82f", + "sign-turn-left": "\f830", + "sign-turn-right-fill": "\f831", + "sign-turn-right": "\f832", + "sign-turn-slight-left-fill": "\f833", + "sign-turn-slight-left": "\f834", + "sign-turn-slight-right-fill": "\f835", + "sign-turn-slight-right": "\f836", + "sign-yield-fill": "\f837", + "sign-yield": "\f838", + "ev-station-fill": "\f839", + "ev-station": "\f83a", + "fuel-pump-diesel-fill": "\f83b", + "fuel-pump-diesel": "\f83c", + "fuel-pump-fill": "\f83d", + "fuel-pump": "\f83e", +); + +.bi-123::before { content: map-get($bootstrap-icons-map, "123"); } +.bi-alarm-fill::before { content: map-get($bootstrap-icons-map, "alarm-fill"); } +.bi-alarm::before { content: map-get($bootstrap-icons-map, "alarm"); } +.bi-align-bottom::before { content: map-get($bootstrap-icons-map, "align-bottom"); } +.bi-align-center::before { content: map-get($bootstrap-icons-map, "align-center"); } +.bi-align-end::before { content: map-get($bootstrap-icons-map, "align-end"); } +.bi-align-middle::before { content: map-get($bootstrap-icons-map, "align-middle"); } +.bi-align-start::before { content: map-get($bootstrap-icons-map, "align-start"); } +.bi-align-top::before { content: map-get($bootstrap-icons-map, "align-top"); } +.bi-alt::before { content: map-get($bootstrap-icons-map, "alt"); } +.bi-app-indicator::before { content: map-get($bootstrap-icons-map, "app-indicator"); } +.bi-app::before { content: map-get($bootstrap-icons-map, "app"); } +.bi-archive-fill::before { content: map-get($bootstrap-icons-map, "archive-fill"); } +.bi-archive::before { content: map-get($bootstrap-icons-map, "archive"); } +.bi-arrow-90deg-down::before { content: map-get($bootstrap-icons-map, "arrow-90deg-down"); } +.bi-arrow-90deg-left::before { content: map-get($bootstrap-icons-map, "arrow-90deg-left"); } +.bi-arrow-90deg-right::before { content: map-get($bootstrap-icons-map, "arrow-90deg-right"); } +.bi-arrow-90deg-up::before { content: map-get($bootstrap-icons-map, "arrow-90deg-up"); } +.bi-arrow-bar-down::before { content: map-get($bootstrap-icons-map, "arrow-bar-down"); } +.bi-arrow-bar-left::before { content: map-get($bootstrap-icons-map, "arrow-bar-left"); } +.bi-arrow-bar-right::before { content: map-get($bootstrap-icons-map, "arrow-bar-right"); } +.bi-arrow-bar-up::before { content: map-get($bootstrap-icons-map, "arrow-bar-up"); } +.bi-arrow-clockwise::before { content: map-get($bootstrap-icons-map, "arrow-clockwise"); } +.bi-arrow-counterclockwise::before { content: map-get($bootstrap-icons-map, "arrow-counterclockwise"); } +.bi-arrow-down-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-circle-fill"); } +.bi-arrow-down-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-circle"); } +.bi-arrow-down-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-left-circle-fill"); } +.bi-arrow-down-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-left-circle"); } +.bi-arrow-down-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-left-square-fill"); } +.bi-arrow-down-left-square::before { content: map-get($bootstrap-icons-map, "arrow-down-left-square"); } +.bi-arrow-down-left::before { content: map-get($bootstrap-icons-map, "arrow-down-left"); } +.bi-arrow-down-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-right-circle-fill"); } +.bi-arrow-down-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-right-circle"); } +.bi-arrow-down-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-right-square-fill"); } +.bi-arrow-down-right-square::before { content: map-get($bootstrap-icons-map, "arrow-down-right-square"); } +.bi-arrow-down-right::before { content: map-get($bootstrap-icons-map, "arrow-down-right"); } +.bi-arrow-down-short::before { content: map-get($bootstrap-icons-map, "arrow-down-short"); } +.bi-arrow-down-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-square-fill"); } +.bi-arrow-down-square::before { content: map-get($bootstrap-icons-map, "arrow-down-square"); } +.bi-arrow-down-up::before { content: map-get($bootstrap-icons-map, "arrow-down-up"); } +.bi-arrow-down::before { content: map-get($bootstrap-icons-map, "arrow-down"); } +.bi-arrow-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-left-circle-fill"); } +.bi-arrow-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-left-circle"); } +.bi-arrow-left-right::before { content: map-get($bootstrap-icons-map, "arrow-left-right"); } +.bi-arrow-left-short::before { content: map-get($bootstrap-icons-map, "arrow-left-short"); } +.bi-arrow-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-left-square-fill"); } +.bi-arrow-left-square::before { content: map-get($bootstrap-icons-map, "arrow-left-square"); } +.bi-arrow-left::before { content: map-get($bootstrap-icons-map, "arrow-left"); } +.bi-arrow-repeat::before { content: map-get($bootstrap-icons-map, "arrow-repeat"); } +.bi-arrow-return-left::before { content: map-get($bootstrap-icons-map, "arrow-return-left"); } +.bi-arrow-return-right::before { content: map-get($bootstrap-icons-map, "arrow-return-right"); } +.bi-arrow-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-right-circle-fill"); } +.bi-arrow-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-right-circle"); } +.bi-arrow-right-short::before { content: map-get($bootstrap-icons-map, "arrow-right-short"); } +.bi-arrow-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-right-square-fill"); } +.bi-arrow-right-square::before { content: map-get($bootstrap-icons-map, "arrow-right-square"); } +.bi-arrow-right::before { content: map-get($bootstrap-icons-map, "arrow-right"); } +.bi-arrow-up-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-circle-fill"); } +.bi-arrow-up-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-circle"); } +.bi-arrow-up-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-left-circle-fill"); } +.bi-arrow-up-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-left-circle"); } +.bi-arrow-up-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-left-square-fill"); } +.bi-arrow-up-left-square::before { content: map-get($bootstrap-icons-map, "arrow-up-left-square"); } +.bi-arrow-up-left::before { content: map-get($bootstrap-icons-map, "arrow-up-left"); } +.bi-arrow-up-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-right-circle-fill"); } +.bi-arrow-up-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-right-circle"); } +.bi-arrow-up-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-right-square-fill"); } +.bi-arrow-up-right-square::before { content: map-get($bootstrap-icons-map, "arrow-up-right-square"); } +.bi-arrow-up-right::before { content: map-get($bootstrap-icons-map, "arrow-up-right"); } +.bi-arrow-up-short::before { content: map-get($bootstrap-icons-map, "arrow-up-short"); } +.bi-arrow-up-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-square-fill"); } +.bi-arrow-up-square::before { content: map-get($bootstrap-icons-map, "arrow-up-square"); } +.bi-arrow-up::before { content: map-get($bootstrap-icons-map, "arrow-up"); } +.bi-arrows-angle-contract::before { content: map-get($bootstrap-icons-map, "arrows-angle-contract"); } +.bi-arrows-angle-expand::before { content: map-get($bootstrap-icons-map, "arrows-angle-expand"); } +.bi-arrows-collapse::before { content: map-get($bootstrap-icons-map, "arrows-collapse"); } +.bi-arrows-expand::before { content: map-get($bootstrap-icons-map, "arrows-expand"); } +.bi-arrows-fullscreen::before { content: map-get($bootstrap-icons-map, "arrows-fullscreen"); } +.bi-arrows-move::before { content: map-get($bootstrap-icons-map, "arrows-move"); } +.bi-aspect-ratio-fill::before { content: map-get($bootstrap-icons-map, "aspect-ratio-fill"); } +.bi-aspect-ratio::before { content: map-get($bootstrap-icons-map, "aspect-ratio"); } +.bi-asterisk::before { content: map-get($bootstrap-icons-map, "asterisk"); } +.bi-at::before { content: map-get($bootstrap-icons-map, "at"); } +.bi-award-fill::before { content: map-get($bootstrap-icons-map, "award-fill"); } +.bi-award::before { content: map-get($bootstrap-icons-map, "award"); } +.bi-back::before { content: map-get($bootstrap-icons-map, "back"); } +.bi-backspace-fill::before { content: map-get($bootstrap-icons-map, "backspace-fill"); } +.bi-backspace-reverse-fill::before { content: map-get($bootstrap-icons-map, "backspace-reverse-fill"); } +.bi-backspace-reverse::before { content: map-get($bootstrap-icons-map, "backspace-reverse"); } +.bi-backspace::before { content: map-get($bootstrap-icons-map, "backspace"); } +.bi-badge-3d-fill::before { content: map-get($bootstrap-icons-map, "badge-3d-fill"); } +.bi-badge-3d::before { content: map-get($bootstrap-icons-map, "badge-3d"); } +.bi-badge-4k-fill::before { content: map-get($bootstrap-icons-map, "badge-4k-fill"); } +.bi-badge-4k::before { content: map-get($bootstrap-icons-map, "badge-4k"); } +.bi-badge-8k-fill::before { content: map-get($bootstrap-icons-map, "badge-8k-fill"); } +.bi-badge-8k::before { content: map-get($bootstrap-icons-map, "badge-8k"); } +.bi-badge-ad-fill::before { content: map-get($bootstrap-icons-map, "badge-ad-fill"); } +.bi-badge-ad::before { content: map-get($bootstrap-icons-map, "badge-ad"); } +.bi-badge-ar-fill::before { content: map-get($bootstrap-icons-map, "badge-ar-fill"); } +.bi-badge-ar::before { content: map-get($bootstrap-icons-map, "badge-ar"); } +.bi-badge-cc-fill::before { content: map-get($bootstrap-icons-map, "badge-cc-fill"); } +.bi-badge-cc::before { content: map-get($bootstrap-icons-map, "badge-cc"); } +.bi-badge-hd-fill::before { content: map-get($bootstrap-icons-map, "badge-hd-fill"); } +.bi-badge-hd::before { content: map-get($bootstrap-icons-map, "badge-hd"); } +.bi-badge-tm-fill::before { content: map-get($bootstrap-icons-map, "badge-tm-fill"); } +.bi-badge-tm::before { content: map-get($bootstrap-icons-map, "badge-tm"); } +.bi-badge-vo-fill::before { content: map-get($bootstrap-icons-map, "badge-vo-fill"); } +.bi-badge-vo::before { content: map-get($bootstrap-icons-map, "badge-vo"); } +.bi-badge-vr-fill::before { content: map-get($bootstrap-icons-map, "badge-vr-fill"); } +.bi-badge-vr::before { content: map-get($bootstrap-icons-map, "badge-vr"); } +.bi-badge-wc-fill::before { content: map-get($bootstrap-icons-map, "badge-wc-fill"); } +.bi-badge-wc::before { content: map-get($bootstrap-icons-map, "badge-wc"); } +.bi-bag-check-fill::before { content: map-get($bootstrap-icons-map, "bag-check-fill"); } +.bi-bag-check::before { content: map-get($bootstrap-icons-map, "bag-check"); } +.bi-bag-dash-fill::before { content: map-get($bootstrap-icons-map, "bag-dash-fill"); } +.bi-bag-dash::before { content: map-get($bootstrap-icons-map, "bag-dash"); } +.bi-bag-fill::before { content: map-get($bootstrap-icons-map, "bag-fill"); } +.bi-bag-plus-fill::before { content: map-get($bootstrap-icons-map, "bag-plus-fill"); } +.bi-bag-plus::before { content: map-get($bootstrap-icons-map, "bag-plus"); } +.bi-bag-x-fill::before { content: map-get($bootstrap-icons-map, "bag-x-fill"); } +.bi-bag-x::before { content: map-get($bootstrap-icons-map, "bag-x"); } +.bi-bag::before { content: map-get($bootstrap-icons-map, "bag"); } +.bi-bar-chart-fill::before { content: map-get($bootstrap-icons-map, "bar-chart-fill"); } +.bi-bar-chart-line-fill::before { content: map-get($bootstrap-icons-map, "bar-chart-line-fill"); } +.bi-bar-chart-line::before { content: map-get($bootstrap-icons-map, "bar-chart-line"); } +.bi-bar-chart-steps::before { content: map-get($bootstrap-icons-map, "bar-chart-steps"); } +.bi-bar-chart::before { content: map-get($bootstrap-icons-map, "bar-chart"); } +.bi-basket-fill::before { content: map-get($bootstrap-icons-map, "basket-fill"); } +.bi-basket::before { content: map-get($bootstrap-icons-map, "basket"); } +.bi-basket2-fill::before { content: map-get($bootstrap-icons-map, "basket2-fill"); } +.bi-basket2::before { content: map-get($bootstrap-icons-map, "basket2"); } +.bi-basket3-fill::before { content: map-get($bootstrap-icons-map, "basket3-fill"); } +.bi-basket3::before { content: map-get($bootstrap-icons-map, "basket3"); } +.bi-battery-charging::before { content: map-get($bootstrap-icons-map, "battery-charging"); } +.bi-battery-full::before { content: map-get($bootstrap-icons-map, "battery-full"); } +.bi-battery-half::before { content: map-get($bootstrap-icons-map, "battery-half"); } +.bi-battery::before { content: map-get($bootstrap-icons-map, "battery"); } +.bi-bell-fill::before { content: map-get($bootstrap-icons-map, "bell-fill"); } +.bi-bell::before { content: map-get($bootstrap-icons-map, "bell"); } +.bi-bezier::before { content: map-get($bootstrap-icons-map, "bezier"); } +.bi-bezier2::before { content: map-get($bootstrap-icons-map, "bezier2"); } +.bi-bicycle::before { content: map-get($bootstrap-icons-map, "bicycle"); } +.bi-binoculars-fill::before { content: map-get($bootstrap-icons-map, "binoculars-fill"); } +.bi-binoculars::before { content: map-get($bootstrap-icons-map, "binoculars"); } +.bi-blockquote-left::before { content: map-get($bootstrap-icons-map, "blockquote-left"); } +.bi-blockquote-right::before { content: map-get($bootstrap-icons-map, "blockquote-right"); } +.bi-book-fill::before { content: map-get($bootstrap-icons-map, "book-fill"); } +.bi-book-half::before { content: map-get($bootstrap-icons-map, "book-half"); } +.bi-book::before { content: map-get($bootstrap-icons-map, "book"); } +.bi-bookmark-check-fill::before { content: map-get($bootstrap-icons-map, "bookmark-check-fill"); } +.bi-bookmark-check::before { content: map-get($bootstrap-icons-map, "bookmark-check"); } +.bi-bookmark-dash-fill::before { content: map-get($bootstrap-icons-map, "bookmark-dash-fill"); } +.bi-bookmark-dash::before { content: map-get($bootstrap-icons-map, "bookmark-dash"); } +.bi-bookmark-fill::before { content: map-get($bootstrap-icons-map, "bookmark-fill"); } +.bi-bookmark-heart-fill::before { content: map-get($bootstrap-icons-map, "bookmark-heart-fill"); } +.bi-bookmark-heart::before { content: map-get($bootstrap-icons-map, "bookmark-heart"); } +.bi-bookmark-plus-fill::before { content: map-get($bootstrap-icons-map, "bookmark-plus-fill"); } +.bi-bookmark-plus::before { content: map-get($bootstrap-icons-map, "bookmark-plus"); } +.bi-bookmark-star-fill::before { content: map-get($bootstrap-icons-map, "bookmark-star-fill"); } +.bi-bookmark-star::before { content: map-get($bootstrap-icons-map, "bookmark-star"); } +.bi-bookmark-x-fill::before { content: map-get($bootstrap-icons-map, "bookmark-x-fill"); } +.bi-bookmark-x::before { content: map-get($bootstrap-icons-map, "bookmark-x"); } +.bi-bookmark::before { content: map-get($bootstrap-icons-map, "bookmark"); } +.bi-bookmarks-fill::before { content: map-get($bootstrap-icons-map, "bookmarks-fill"); } +.bi-bookmarks::before { content: map-get($bootstrap-icons-map, "bookmarks"); } +.bi-bookshelf::before { content: map-get($bootstrap-icons-map, "bookshelf"); } +.bi-bootstrap-fill::before { content: map-get($bootstrap-icons-map, "bootstrap-fill"); } +.bi-bootstrap-reboot::before { content: map-get($bootstrap-icons-map, "bootstrap-reboot"); } +.bi-bootstrap::before { content: map-get($bootstrap-icons-map, "bootstrap"); } +.bi-border-all::before { content: map-get($bootstrap-icons-map, "border-all"); } +.bi-border-bottom::before { content: map-get($bootstrap-icons-map, "border-bottom"); } +.bi-border-center::before { content: map-get($bootstrap-icons-map, "border-center"); } +.bi-border-inner::before { content: map-get($bootstrap-icons-map, "border-inner"); } +.bi-border-left::before { content: map-get($bootstrap-icons-map, "border-left"); } +.bi-border-middle::before { content: map-get($bootstrap-icons-map, "border-middle"); } +.bi-border-outer::before { content: map-get($bootstrap-icons-map, "border-outer"); } +.bi-border-right::before { content: map-get($bootstrap-icons-map, "border-right"); } +.bi-border-style::before { content: map-get($bootstrap-icons-map, "border-style"); } +.bi-border-top::before { content: map-get($bootstrap-icons-map, "border-top"); } +.bi-border-width::before { content: map-get($bootstrap-icons-map, "border-width"); } +.bi-border::before { content: map-get($bootstrap-icons-map, "border"); } +.bi-bounding-box-circles::before { content: map-get($bootstrap-icons-map, "bounding-box-circles"); } +.bi-bounding-box::before { content: map-get($bootstrap-icons-map, "bounding-box"); } +.bi-box-arrow-down-left::before { content: map-get($bootstrap-icons-map, "box-arrow-down-left"); } +.bi-box-arrow-down-right::before { content: map-get($bootstrap-icons-map, "box-arrow-down-right"); } +.bi-box-arrow-down::before { content: map-get($bootstrap-icons-map, "box-arrow-down"); } +.bi-box-arrow-in-down-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down-left"); } +.bi-box-arrow-in-down-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down-right"); } +.bi-box-arrow-in-down::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down"); } +.bi-box-arrow-in-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-left"); } +.bi-box-arrow-in-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-right"); } +.bi-box-arrow-in-up-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up-left"); } +.bi-box-arrow-in-up-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up-right"); } +.bi-box-arrow-in-up::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up"); } +.bi-box-arrow-left::before { content: map-get($bootstrap-icons-map, "box-arrow-left"); } +.bi-box-arrow-right::before { content: map-get($bootstrap-icons-map, "box-arrow-right"); } +.bi-box-arrow-up-left::before { content: map-get($bootstrap-icons-map, "box-arrow-up-left"); } +.bi-box-arrow-up-right::before { content: map-get($bootstrap-icons-map, "box-arrow-up-right"); } +.bi-box-arrow-up::before { content: map-get($bootstrap-icons-map, "box-arrow-up"); } +.bi-box-seam::before { content: map-get($bootstrap-icons-map, "box-seam"); } +.bi-box::before { content: map-get($bootstrap-icons-map, "box"); } +.bi-braces::before { content: map-get($bootstrap-icons-map, "braces"); } +.bi-bricks::before { content: map-get($bootstrap-icons-map, "bricks"); } +.bi-briefcase-fill::before { content: map-get($bootstrap-icons-map, "briefcase-fill"); } +.bi-briefcase::before { content: map-get($bootstrap-icons-map, "briefcase"); } +.bi-brightness-alt-high-fill::before { content: map-get($bootstrap-icons-map, "brightness-alt-high-fill"); } +.bi-brightness-alt-high::before { content: map-get($bootstrap-icons-map, "brightness-alt-high"); } +.bi-brightness-alt-low-fill::before { content: map-get($bootstrap-icons-map, "brightness-alt-low-fill"); } +.bi-brightness-alt-low::before { content: map-get($bootstrap-icons-map, "brightness-alt-low"); } +.bi-brightness-high-fill::before { content: map-get($bootstrap-icons-map, "brightness-high-fill"); } +.bi-brightness-high::before { content: map-get($bootstrap-icons-map, "brightness-high"); } +.bi-brightness-low-fill::before { content: map-get($bootstrap-icons-map, "brightness-low-fill"); } +.bi-brightness-low::before { content: map-get($bootstrap-icons-map, "brightness-low"); } +.bi-broadcast-pin::before { content: map-get($bootstrap-icons-map, "broadcast-pin"); } +.bi-broadcast::before { content: map-get($bootstrap-icons-map, "broadcast"); } +.bi-brush-fill::before { content: map-get($bootstrap-icons-map, "brush-fill"); } +.bi-brush::before { content: map-get($bootstrap-icons-map, "brush"); } +.bi-bucket-fill::before { content: map-get($bootstrap-icons-map, "bucket-fill"); } +.bi-bucket::before { content: map-get($bootstrap-icons-map, "bucket"); } +.bi-bug-fill::before { content: map-get($bootstrap-icons-map, "bug-fill"); } +.bi-bug::before { content: map-get($bootstrap-icons-map, "bug"); } +.bi-building::before { content: map-get($bootstrap-icons-map, "building"); } +.bi-bullseye::before { content: map-get($bootstrap-icons-map, "bullseye"); } +.bi-calculator-fill::before { content: map-get($bootstrap-icons-map, "calculator-fill"); } +.bi-calculator::before { content: map-get($bootstrap-icons-map, "calculator"); } +.bi-calendar-check-fill::before { content: map-get($bootstrap-icons-map, "calendar-check-fill"); } +.bi-calendar-check::before { content: map-get($bootstrap-icons-map, "calendar-check"); } +.bi-calendar-date-fill::before { content: map-get($bootstrap-icons-map, "calendar-date-fill"); } +.bi-calendar-date::before { content: map-get($bootstrap-icons-map, "calendar-date"); } +.bi-calendar-day-fill::before { content: map-get($bootstrap-icons-map, "calendar-day-fill"); } +.bi-calendar-day::before { content: map-get($bootstrap-icons-map, "calendar-day"); } +.bi-calendar-event-fill::before { content: map-get($bootstrap-icons-map, "calendar-event-fill"); } +.bi-calendar-event::before { content: map-get($bootstrap-icons-map, "calendar-event"); } +.bi-calendar-fill::before { content: map-get($bootstrap-icons-map, "calendar-fill"); } +.bi-calendar-minus-fill::before { content: map-get($bootstrap-icons-map, "calendar-minus-fill"); } +.bi-calendar-minus::before { content: map-get($bootstrap-icons-map, "calendar-minus"); } +.bi-calendar-month-fill::before { content: map-get($bootstrap-icons-map, "calendar-month-fill"); } +.bi-calendar-month::before { content: map-get($bootstrap-icons-map, "calendar-month"); } +.bi-calendar-plus-fill::before { content: map-get($bootstrap-icons-map, "calendar-plus-fill"); } +.bi-calendar-plus::before { content: map-get($bootstrap-icons-map, "calendar-plus"); } +.bi-calendar-range-fill::before { content: map-get($bootstrap-icons-map, "calendar-range-fill"); } +.bi-calendar-range::before { content: map-get($bootstrap-icons-map, "calendar-range"); } +.bi-calendar-week-fill::before { content: map-get($bootstrap-icons-map, "calendar-week-fill"); } +.bi-calendar-week::before { content: map-get($bootstrap-icons-map, "calendar-week"); } +.bi-calendar-x-fill::before { content: map-get($bootstrap-icons-map, "calendar-x-fill"); } +.bi-calendar-x::before { content: map-get($bootstrap-icons-map, "calendar-x"); } +.bi-calendar::before { content: map-get($bootstrap-icons-map, "calendar"); } +.bi-calendar2-check-fill::before { content: map-get($bootstrap-icons-map, "calendar2-check-fill"); } +.bi-calendar2-check::before { content: map-get($bootstrap-icons-map, "calendar2-check"); } +.bi-calendar2-date-fill::before { content: map-get($bootstrap-icons-map, "calendar2-date-fill"); } +.bi-calendar2-date::before { content: map-get($bootstrap-icons-map, "calendar2-date"); } +.bi-calendar2-day-fill::before { content: map-get($bootstrap-icons-map, "calendar2-day-fill"); } +.bi-calendar2-day::before { content: map-get($bootstrap-icons-map, "calendar2-day"); } +.bi-calendar2-event-fill::before { content: map-get($bootstrap-icons-map, "calendar2-event-fill"); } +.bi-calendar2-event::before { content: map-get($bootstrap-icons-map, "calendar2-event"); } +.bi-calendar2-fill::before { content: map-get($bootstrap-icons-map, "calendar2-fill"); } +.bi-calendar2-minus-fill::before { content: map-get($bootstrap-icons-map, "calendar2-minus-fill"); } +.bi-calendar2-minus::before { content: map-get($bootstrap-icons-map, "calendar2-minus"); } +.bi-calendar2-month-fill::before { content: map-get($bootstrap-icons-map, "calendar2-month-fill"); } +.bi-calendar2-month::before { content: map-get($bootstrap-icons-map, "calendar2-month"); } +.bi-calendar2-plus-fill::before { content: map-get($bootstrap-icons-map, "calendar2-plus-fill"); } +.bi-calendar2-plus::before { content: map-get($bootstrap-icons-map, "calendar2-plus"); } +.bi-calendar2-range-fill::before { content: map-get($bootstrap-icons-map, "calendar2-range-fill"); } +.bi-calendar2-range::before { content: map-get($bootstrap-icons-map, "calendar2-range"); } +.bi-calendar2-week-fill::before { content: map-get($bootstrap-icons-map, "calendar2-week-fill"); } +.bi-calendar2-week::before { content: map-get($bootstrap-icons-map, "calendar2-week"); } +.bi-calendar2-x-fill::before { content: map-get($bootstrap-icons-map, "calendar2-x-fill"); } +.bi-calendar2-x::before { content: map-get($bootstrap-icons-map, "calendar2-x"); } +.bi-calendar2::before { content: map-get($bootstrap-icons-map, "calendar2"); } +.bi-calendar3-event-fill::before { content: map-get($bootstrap-icons-map, "calendar3-event-fill"); } +.bi-calendar3-event::before { content: map-get($bootstrap-icons-map, "calendar3-event"); } +.bi-calendar3-fill::before { content: map-get($bootstrap-icons-map, "calendar3-fill"); } +.bi-calendar3-range-fill::before { content: map-get($bootstrap-icons-map, "calendar3-range-fill"); } +.bi-calendar3-range::before { content: map-get($bootstrap-icons-map, "calendar3-range"); } +.bi-calendar3-week-fill::before { content: map-get($bootstrap-icons-map, "calendar3-week-fill"); } +.bi-calendar3-week::before { content: map-get($bootstrap-icons-map, "calendar3-week"); } +.bi-calendar3::before { content: map-get($bootstrap-icons-map, "calendar3"); } +.bi-calendar4-event::before { content: map-get($bootstrap-icons-map, "calendar4-event"); } +.bi-calendar4-range::before { content: map-get($bootstrap-icons-map, "calendar4-range"); } +.bi-calendar4-week::before { content: map-get($bootstrap-icons-map, "calendar4-week"); } +.bi-calendar4::before { content: map-get($bootstrap-icons-map, "calendar4"); } +.bi-camera-fill::before { content: map-get($bootstrap-icons-map, "camera-fill"); } +.bi-camera-reels-fill::before { content: map-get($bootstrap-icons-map, "camera-reels-fill"); } +.bi-camera-reels::before { content: map-get($bootstrap-icons-map, "camera-reels"); } +.bi-camera-video-fill::before { content: map-get($bootstrap-icons-map, "camera-video-fill"); } +.bi-camera-video-off-fill::before { content: map-get($bootstrap-icons-map, "camera-video-off-fill"); } +.bi-camera-video-off::before { content: map-get($bootstrap-icons-map, "camera-video-off"); } +.bi-camera-video::before { content: map-get($bootstrap-icons-map, "camera-video"); } +.bi-camera::before { content: map-get($bootstrap-icons-map, "camera"); } +.bi-camera2::before { content: map-get($bootstrap-icons-map, "camera2"); } +.bi-capslock-fill::before { content: map-get($bootstrap-icons-map, "capslock-fill"); } +.bi-capslock::before { content: map-get($bootstrap-icons-map, "capslock"); } +.bi-card-checklist::before { content: map-get($bootstrap-icons-map, "card-checklist"); } +.bi-card-heading::before { content: map-get($bootstrap-icons-map, "card-heading"); } +.bi-card-image::before { content: map-get($bootstrap-icons-map, "card-image"); } +.bi-card-list::before { content: map-get($bootstrap-icons-map, "card-list"); } +.bi-card-text::before { content: map-get($bootstrap-icons-map, "card-text"); } +.bi-caret-down-fill::before { content: map-get($bootstrap-icons-map, "caret-down-fill"); } +.bi-caret-down-square-fill::before { content: map-get($bootstrap-icons-map, "caret-down-square-fill"); } +.bi-caret-down-square::before { content: map-get($bootstrap-icons-map, "caret-down-square"); } +.bi-caret-down::before { content: map-get($bootstrap-icons-map, "caret-down"); } +.bi-caret-left-fill::before { content: map-get($bootstrap-icons-map, "caret-left-fill"); } +.bi-caret-left-square-fill::before { content: map-get($bootstrap-icons-map, "caret-left-square-fill"); } +.bi-caret-left-square::before { content: map-get($bootstrap-icons-map, "caret-left-square"); } +.bi-caret-left::before { content: map-get($bootstrap-icons-map, "caret-left"); } +.bi-caret-right-fill::before { content: map-get($bootstrap-icons-map, "caret-right-fill"); } +.bi-caret-right-square-fill::before { content: map-get($bootstrap-icons-map, "caret-right-square-fill"); } +.bi-caret-right-square::before { content: map-get($bootstrap-icons-map, "caret-right-square"); } +.bi-caret-right::before { content: map-get($bootstrap-icons-map, "caret-right"); } +.bi-caret-up-fill::before { content: map-get($bootstrap-icons-map, "caret-up-fill"); } +.bi-caret-up-square-fill::before { content: map-get($bootstrap-icons-map, "caret-up-square-fill"); } +.bi-caret-up-square::before { content: map-get($bootstrap-icons-map, "caret-up-square"); } +.bi-caret-up::before { content: map-get($bootstrap-icons-map, "caret-up"); } +.bi-cart-check-fill::before { content: map-get($bootstrap-icons-map, "cart-check-fill"); } +.bi-cart-check::before { content: map-get($bootstrap-icons-map, "cart-check"); } +.bi-cart-dash-fill::before { content: map-get($bootstrap-icons-map, "cart-dash-fill"); } +.bi-cart-dash::before { content: map-get($bootstrap-icons-map, "cart-dash"); } +.bi-cart-fill::before { content: map-get($bootstrap-icons-map, "cart-fill"); } +.bi-cart-plus-fill::before { content: map-get($bootstrap-icons-map, "cart-plus-fill"); } +.bi-cart-plus::before { content: map-get($bootstrap-icons-map, "cart-plus"); } +.bi-cart-x-fill::before { content: map-get($bootstrap-icons-map, "cart-x-fill"); } +.bi-cart-x::before { content: map-get($bootstrap-icons-map, "cart-x"); } +.bi-cart::before { content: map-get($bootstrap-icons-map, "cart"); } +.bi-cart2::before { content: map-get($bootstrap-icons-map, "cart2"); } +.bi-cart3::before { content: map-get($bootstrap-icons-map, "cart3"); } +.bi-cart4::before { content: map-get($bootstrap-icons-map, "cart4"); } +.bi-cash-stack::before { content: map-get($bootstrap-icons-map, "cash-stack"); } +.bi-cash::before { content: map-get($bootstrap-icons-map, "cash"); } +.bi-cast::before { content: map-get($bootstrap-icons-map, "cast"); } +.bi-chat-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-dots-fill"); } +.bi-chat-dots::before { content: map-get($bootstrap-icons-map, "chat-dots"); } +.bi-chat-fill::before { content: map-get($bootstrap-icons-map, "chat-fill"); } +.bi-chat-left-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-left-dots-fill"); } +.bi-chat-left-dots::before { content: map-get($bootstrap-icons-map, "chat-left-dots"); } +.bi-chat-left-fill::before { content: map-get($bootstrap-icons-map, "chat-left-fill"); } +.bi-chat-left-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-left-quote-fill"); } +.bi-chat-left-quote::before { content: map-get($bootstrap-icons-map, "chat-left-quote"); } +.bi-chat-left-text-fill::before { content: map-get($bootstrap-icons-map, "chat-left-text-fill"); } +.bi-chat-left-text::before { content: map-get($bootstrap-icons-map, "chat-left-text"); } +.bi-chat-left::before { content: map-get($bootstrap-icons-map, "chat-left"); } +.bi-chat-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-quote-fill"); } +.bi-chat-quote::before { content: map-get($bootstrap-icons-map, "chat-quote"); } +.bi-chat-right-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-right-dots-fill"); } +.bi-chat-right-dots::before { content: map-get($bootstrap-icons-map, "chat-right-dots"); } +.bi-chat-right-fill::before { content: map-get($bootstrap-icons-map, "chat-right-fill"); } +.bi-chat-right-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-right-quote-fill"); } +.bi-chat-right-quote::before { content: map-get($bootstrap-icons-map, "chat-right-quote"); } +.bi-chat-right-text-fill::before { content: map-get($bootstrap-icons-map, "chat-right-text-fill"); } +.bi-chat-right-text::before { content: map-get($bootstrap-icons-map, "chat-right-text"); } +.bi-chat-right::before { content: map-get($bootstrap-icons-map, "chat-right"); } +.bi-chat-square-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-square-dots-fill"); } +.bi-chat-square-dots::before { content: map-get($bootstrap-icons-map, "chat-square-dots"); } +.bi-chat-square-fill::before { content: map-get($bootstrap-icons-map, "chat-square-fill"); } +.bi-chat-square-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-square-quote-fill"); } +.bi-chat-square-quote::before { content: map-get($bootstrap-icons-map, "chat-square-quote"); } +.bi-chat-square-text-fill::before { content: map-get($bootstrap-icons-map, "chat-square-text-fill"); } +.bi-chat-square-text::before { content: map-get($bootstrap-icons-map, "chat-square-text"); } +.bi-chat-square::before { content: map-get($bootstrap-icons-map, "chat-square"); } +.bi-chat-text-fill::before { content: map-get($bootstrap-icons-map, "chat-text-fill"); } +.bi-chat-text::before { content: map-get($bootstrap-icons-map, "chat-text"); } +.bi-chat::before { content: map-get($bootstrap-icons-map, "chat"); } +.bi-check-all::before { content: map-get($bootstrap-icons-map, "check-all"); } +.bi-check-circle-fill::before { content: map-get($bootstrap-icons-map, "check-circle-fill"); } +.bi-check-circle::before { content: map-get($bootstrap-icons-map, "check-circle"); } +.bi-check-square-fill::before { content: map-get($bootstrap-icons-map, "check-square-fill"); } +.bi-check-square::before { content: map-get($bootstrap-icons-map, "check-square"); } +.bi-check::before { content: map-get($bootstrap-icons-map, "check"); } +.bi-check2-all::before { content: map-get($bootstrap-icons-map, "check2-all"); } +.bi-check2-circle::before { content: map-get($bootstrap-icons-map, "check2-circle"); } +.bi-check2-square::before { content: map-get($bootstrap-icons-map, "check2-square"); } +.bi-check2::before { content: map-get($bootstrap-icons-map, "check2"); } +.bi-chevron-bar-contract::before { content: map-get($bootstrap-icons-map, "chevron-bar-contract"); } +.bi-chevron-bar-down::before { content: map-get($bootstrap-icons-map, "chevron-bar-down"); } +.bi-chevron-bar-expand::before { content: map-get($bootstrap-icons-map, "chevron-bar-expand"); } +.bi-chevron-bar-left::before { content: map-get($bootstrap-icons-map, "chevron-bar-left"); } +.bi-chevron-bar-right::before { content: map-get($bootstrap-icons-map, "chevron-bar-right"); } +.bi-chevron-bar-up::before { content: map-get($bootstrap-icons-map, "chevron-bar-up"); } +.bi-chevron-compact-down::before { content: map-get($bootstrap-icons-map, "chevron-compact-down"); } +.bi-chevron-compact-left::before { content: map-get($bootstrap-icons-map, "chevron-compact-left"); } +.bi-chevron-compact-right::before { content: map-get($bootstrap-icons-map, "chevron-compact-right"); } +.bi-chevron-compact-up::before { content: map-get($bootstrap-icons-map, "chevron-compact-up"); } +.bi-chevron-contract::before { content: map-get($bootstrap-icons-map, "chevron-contract"); } +.bi-chevron-double-down::before { content: map-get($bootstrap-icons-map, "chevron-double-down"); } +.bi-chevron-double-left::before { content: map-get($bootstrap-icons-map, "chevron-double-left"); } +.bi-chevron-double-right::before { content: map-get($bootstrap-icons-map, "chevron-double-right"); } +.bi-chevron-double-up::before { content: map-get($bootstrap-icons-map, "chevron-double-up"); } +.bi-chevron-down::before { content: map-get($bootstrap-icons-map, "chevron-down"); } +.bi-chevron-expand::before { content: map-get($bootstrap-icons-map, "chevron-expand"); } +.bi-chevron-left::before { content: map-get($bootstrap-icons-map, "chevron-left"); } +.bi-chevron-right::before { content: map-get($bootstrap-icons-map, "chevron-right"); } +.bi-chevron-up::before { content: map-get($bootstrap-icons-map, "chevron-up"); } +.bi-circle-fill::before { content: map-get($bootstrap-icons-map, "circle-fill"); } +.bi-circle-half::before { content: map-get($bootstrap-icons-map, "circle-half"); } +.bi-circle-square::before { content: map-get($bootstrap-icons-map, "circle-square"); } +.bi-circle::before { content: map-get($bootstrap-icons-map, "circle"); } +.bi-clipboard-check::before { content: map-get($bootstrap-icons-map, "clipboard-check"); } +.bi-clipboard-data::before { content: map-get($bootstrap-icons-map, "clipboard-data"); } +.bi-clipboard-minus::before { content: map-get($bootstrap-icons-map, "clipboard-minus"); } +.bi-clipboard-plus::before { content: map-get($bootstrap-icons-map, "clipboard-plus"); } +.bi-clipboard-x::before { content: map-get($bootstrap-icons-map, "clipboard-x"); } +.bi-clipboard::before { content: map-get($bootstrap-icons-map, "clipboard"); } +.bi-clock-fill::before { content: map-get($bootstrap-icons-map, "clock-fill"); } +.bi-clock-history::before { content: map-get($bootstrap-icons-map, "clock-history"); } +.bi-clock::before { content: map-get($bootstrap-icons-map, "clock"); } +.bi-cloud-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "cloud-arrow-down-fill"); } +.bi-cloud-arrow-down::before { content: map-get($bootstrap-icons-map, "cloud-arrow-down"); } +.bi-cloud-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "cloud-arrow-up-fill"); } +.bi-cloud-arrow-up::before { content: map-get($bootstrap-icons-map, "cloud-arrow-up"); } +.bi-cloud-check-fill::before { content: map-get($bootstrap-icons-map, "cloud-check-fill"); } +.bi-cloud-check::before { content: map-get($bootstrap-icons-map, "cloud-check"); } +.bi-cloud-download-fill::before { content: map-get($bootstrap-icons-map, "cloud-download-fill"); } +.bi-cloud-download::before { content: map-get($bootstrap-icons-map, "cloud-download"); } +.bi-cloud-drizzle-fill::before { content: map-get($bootstrap-icons-map, "cloud-drizzle-fill"); } +.bi-cloud-drizzle::before { content: map-get($bootstrap-icons-map, "cloud-drizzle"); } +.bi-cloud-fill::before { content: map-get($bootstrap-icons-map, "cloud-fill"); } +.bi-cloud-fog-fill::before { content: map-get($bootstrap-icons-map, "cloud-fog-fill"); } +.bi-cloud-fog::before { content: map-get($bootstrap-icons-map, "cloud-fog"); } +.bi-cloud-fog2-fill::before { content: map-get($bootstrap-icons-map, "cloud-fog2-fill"); } +.bi-cloud-fog2::before { content: map-get($bootstrap-icons-map, "cloud-fog2"); } +.bi-cloud-hail-fill::before { content: map-get($bootstrap-icons-map, "cloud-hail-fill"); } +.bi-cloud-hail::before { content: map-get($bootstrap-icons-map, "cloud-hail"); } +.bi-cloud-haze-1::before { content: map-get($bootstrap-icons-map, "cloud-haze-1"); } +.bi-cloud-haze-fill::before { content: map-get($bootstrap-icons-map, "cloud-haze-fill"); } +.bi-cloud-haze::before { content: map-get($bootstrap-icons-map, "cloud-haze"); } +.bi-cloud-haze2-fill::before { content: map-get($bootstrap-icons-map, "cloud-haze2-fill"); } +.bi-cloud-lightning-fill::before { content: map-get($bootstrap-icons-map, "cloud-lightning-fill"); } +.bi-cloud-lightning-rain-fill::before { content: map-get($bootstrap-icons-map, "cloud-lightning-rain-fill"); } +.bi-cloud-lightning-rain::before { content: map-get($bootstrap-icons-map, "cloud-lightning-rain"); } +.bi-cloud-lightning::before { content: map-get($bootstrap-icons-map, "cloud-lightning"); } +.bi-cloud-minus-fill::before { content: map-get($bootstrap-icons-map, "cloud-minus-fill"); } +.bi-cloud-minus::before { content: map-get($bootstrap-icons-map, "cloud-minus"); } +.bi-cloud-moon-fill::before { content: map-get($bootstrap-icons-map, "cloud-moon-fill"); } +.bi-cloud-moon::before { content: map-get($bootstrap-icons-map, "cloud-moon"); } +.bi-cloud-plus-fill::before { content: map-get($bootstrap-icons-map, "cloud-plus-fill"); } +.bi-cloud-plus::before { content: map-get($bootstrap-icons-map, "cloud-plus"); } +.bi-cloud-rain-fill::before { content: map-get($bootstrap-icons-map, "cloud-rain-fill"); } +.bi-cloud-rain-heavy-fill::before { content: map-get($bootstrap-icons-map, "cloud-rain-heavy-fill"); } +.bi-cloud-rain-heavy::before { content: map-get($bootstrap-icons-map, "cloud-rain-heavy"); } +.bi-cloud-rain::before { content: map-get($bootstrap-icons-map, "cloud-rain"); } +.bi-cloud-slash-fill::before { content: map-get($bootstrap-icons-map, "cloud-slash-fill"); } +.bi-cloud-slash::before { content: map-get($bootstrap-icons-map, "cloud-slash"); } +.bi-cloud-sleet-fill::before { content: map-get($bootstrap-icons-map, "cloud-sleet-fill"); } +.bi-cloud-sleet::before { content: map-get($bootstrap-icons-map, "cloud-sleet"); } +.bi-cloud-snow-fill::before { content: map-get($bootstrap-icons-map, "cloud-snow-fill"); } +.bi-cloud-snow::before { content: map-get($bootstrap-icons-map, "cloud-snow"); } +.bi-cloud-sun-fill::before { content: map-get($bootstrap-icons-map, "cloud-sun-fill"); } +.bi-cloud-sun::before { content: map-get($bootstrap-icons-map, "cloud-sun"); } +.bi-cloud-upload-fill::before { content: map-get($bootstrap-icons-map, "cloud-upload-fill"); } +.bi-cloud-upload::before { content: map-get($bootstrap-icons-map, "cloud-upload"); } +.bi-cloud::before { content: map-get($bootstrap-icons-map, "cloud"); } +.bi-clouds-fill::before { content: map-get($bootstrap-icons-map, "clouds-fill"); } +.bi-clouds::before { content: map-get($bootstrap-icons-map, "clouds"); } +.bi-cloudy-fill::before { content: map-get($bootstrap-icons-map, "cloudy-fill"); } +.bi-cloudy::before { content: map-get($bootstrap-icons-map, "cloudy"); } +.bi-code-slash::before { content: map-get($bootstrap-icons-map, "code-slash"); } +.bi-code-square::before { content: map-get($bootstrap-icons-map, "code-square"); } +.bi-code::before { content: map-get($bootstrap-icons-map, "code"); } +.bi-collection-fill::before { content: map-get($bootstrap-icons-map, "collection-fill"); } +.bi-collection-play-fill::before { content: map-get($bootstrap-icons-map, "collection-play-fill"); } +.bi-collection-play::before { content: map-get($bootstrap-icons-map, "collection-play"); } +.bi-collection::before { content: map-get($bootstrap-icons-map, "collection"); } +.bi-columns-gap::before { content: map-get($bootstrap-icons-map, "columns-gap"); } +.bi-columns::before { content: map-get($bootstrap-icons-map, "columns"); } +.bi-command::before { content: map-get($bootstrap-icons-map, "command"); } +.bi-compass-fill::before { content: map-get($bootstrap-icons-map, "compass-fill"); } +.bi-compass::before { content: map-get($bootstrap-icons-map, "compass"); } +.bi-cone-striped::before { content: map-get($bootstrap-icons-map, "cone-striped"); } +.bi-cone::before { content: map-get($bootstrap-icons-map, "cone"); } +.bi-controller::before { content: map-get($bootstrap-icons-map, "controller"); } +.bi-cpu-fill::before { content: map-get($bootstrap-icons-map, "cpu-fill"); } +.bi-cpu::before { content: map-get($bootstrap-icons-map, "cpu"); } +.bi-credit-card-2-back-fill::before { content: map-get($bootstrap-icons-map, "credit-card-2-back-fill"); } +.bi-credit-card-2-back::before { content: map-get($bootstrap-icons-map, "credit-card-2-back"); } +.bi-credit-card-2-front-fill::before { content: map-get($bootstrap-icons-map, "credit-card-2-front-fill"); } +.bi-credit-card-2-front::before { content: map-get($bootstrap-icons-map, "credit-card-2-front"); } +.bi-credit-card-fill::before { content: map-get($bootstrap-icons-map, "credit-card-fill"); } +.bi-credit-card::before { content: map-get($bootstrap-icons-map, "credit-card"); } +.bi-crop::before { content: map-get($bootstrap-icons-map, "crop"); } +.bi-cup-fill::before { content: map-get($bootstrap-icons-map, "cup-fill"); } +.bi-cup-straw::before { content: map-get($bootstrap-icons-map, "cup-straw"); } +.bi-cup::before { content: map-get($bootstrap-icons-map, "cup"); } +.bi-cursor-fill::before { content: map-get($bootstrap-icons-map, "cursor-fill"); } +.bi-cursor-text::before { content: map-get($bootstrap-icons-map, "cursor-text"); } +.bi-cursor::before { content: map-get($bootstrap-icons-map, "cursor"); } +.bi-dash-circle-dotted::before { content: map-get($bootstrap-icons-map, "dash-circle-dotted"); } +.bi-dash-circle-fill::before { content: map-get($bootstrap-icons-map, "dash-circle-fill"); } +.bi-dash-circle::before { content: map-get($bootstrap-icons-map, "dash-circle"); } +.bi-dash-square-dotted::before { content: map-get($bootstrap-icons-map, "dash-square-dotted"); } +.bi-dash-square-fill::before { content: map-get($bootstrap-icons-map, "dash-square-fill"); } +.bi-dash-square::before { content: map-get($bootstrap-icons-map, "dash-square"); } +.bi-dash::before { content: map-get($bootstrap-icons-map, "dash"); } +.bi-diagram-2-fill::before { content: map-get($bootstrap-icons-map, "diagram-2-fill"); } +.bi-diagram-2::before { content: map-get($bootstrap-icons-map, "diagram-2"); } +.bi-diagram-3-fill::before { content: map-get($bootstrap-icons-map, "diagram-3-fill"); } +.bi-diagram-3::before { content: map-get($bootstrap-icons-map, "diagram-3"); } +.bi-diamond-fill::before { content: map-get($bootstrap-icons-map, "diamond-fill"); } +.bi-diamond-half::before { content: map-get($bootstrap-icons-map, "diamond-half"); } +.bi-diamond::before { content: map-get($bootstrap-icons-map, "diamond"); } +.bi-dice-1-fill::before { content: map-get($bootstrap-icons-map, "dice-1-fill"); } +.bi-dice-1::before { content: map-get($bootstrap-icons-map, "dice-1"); } +.bi-dice-2-fill::before { content: map-get($bootstrap-icons-map, "dice-2-fill"); } +.bi-dice-2::before { content: map-get($bootstrap-icons-map, "dice-2"); } +.bi-dice-3-fill::before { content: map-get($bootstrap-icons-map, "dice-3-fill"); } +.bi-dice-3::before { content: map-get($bootstrap-icons-map, "dice-3"); } +.bi-dice-4-fill::before { content: map-get($bootstrap-icons-map, "dice-4-fill"); } +.bi-dice-4::before { content: map-get($bootstrap-icons-map, "dice-4"); } +.bi-dice-5-fill::before { content: map-get($bootstrap-icons-map, "dice-5-fill"); } +.bi-dice-5::before { content: map-get($bootstrap-icons-map, "dice-5"); } +.bi-dice-6-fill::before { content: map-get($bootstrap-icons-map, "dice-6-fill"); } +.bi-dice-6::before { content: map-get($bootstrap-icons-map, "dice-6"); } +.bi-disc-fill::before { content: map-get($bootstrap-icons-map, "disc-fill"); } +.bi-disc::before { content: map-get($bootstrap-icons-map, "disc"); } +.bi-discord::before { content: map-get($bootstrap-icons-map, "discord"); } +.bi-display-fill::before { content: map-get($bootstrap-icons-map, "display-fill"); } +.bi-display::before { content: map-get($bootstrap-icons-map, "display"); } +.bi-distribute-horizontal::before { content: map-get($bootstrap-icons-map, "distribute-horizontal"); } +.bi-distribute-vertical::before { content: map-get($bootstrap-icons-map, "distribute-vertical"); } +.bi-door-closed-fill::before { content: map-get($bootstrap-icons-map, "door-closed-fill"); } +.bi-door-closed::before { content: map-get($bootstrap-icons-map, "door-closed"); } +.bi-door-open-fill::before { content: map-get($bootstrap-icons-map, "door-open-fill"); } +.bi-door-open::before { content: map-get($bootstrap-icons-map, "door-open"); } +.bi-dot::before { content: map-get($bootstrap-icons-map, "dot"); } +.bi-download::before { content: map-get($bootstrap-icons-map, "download"); } +.bi-droplet-fill::before { content: map-get($bootstrap-icons-map, "droplet-fill"); } +.bi-droplet-half::before { content: map-get($bootstrap-icons-map, "droplet-half"); } +.bi-droplet::before { content: map-get($bootstrap-icons-map, "droplet"); } +.bi-earbuds::before { content: map-get($bootstrap-icons-map, "earbuds"); } +.bi-easel-fill::before { content: map-get($bootstrap-icons-map, "easel-fill"); } +.bi-easel::before { content: map-get($bootstrap-icons-map, "easel"); } +.bi-egg-fill::before { content: map-get($bootstrap-icons-map, "egg-fill"); } +.bi-egg-fried::before { content: map-get($bootstrap-icons-map, "egg-fried"); } +.bi-egg::before { content: map-get($bootstrap-icons-map, "egg"); } +.bi-eject-fill::before { content: map-get($bootstrap-icons-map, "eject-fill"); } +.bi-eject::before { content: map-get($bootstrap-icons-map, "eject"); } +.bi-emoji-angry-fill::before { content: map-get($bootstrap-icons-map, "emoji-angry-fill"); } +.bi-emoji-angry::before { content: map-get($bootstrap-icons-map, "emoji-angry"); } +.bi-emoji-dizzy-fill::before { content: map-get($bootstrap-icons-map, "emoji-dizzy-fill"); } +.bi-emoji-dizzy::before { content: map-get($bootstrap-icons-map, "emoji-dizzy"); } +.bi-emoji-expressionless-fill::before { content: map-get($bootstrap-icons-map, "emoji-expressionless-fill"); } +.bi-emoji-expressionless::before { content: map-get($bootstrap-icons-map, "emoji-expressionless"); } +.bi-emoji-frown-fill::before { content: map-get($bootstrap-icons-map, "emoji-frown-fill"); } +.bi-emoji-frown::before { content: map-get($bootstrap-icons-map, "emoji-frown"); } +.bi-emoji-heart-eyes-fill::before { content: map-get($bootstrap-icons-map, "emoji-heart-eyes-fill"); } +.bi-emoji-heart-eyes::before { content: map-get($bootstrap-icons-map, "emoji-heart-eyes"); } +.bi-emoji-laughing-fill::before { content: map-get($bootstrap-icons-map, "emoji-laughing-fill"); } +.bi-emoji-laughing::before { content: map-get($bootstrap-icons-map, "emoji-laughing"); } +.bi-emoji-neutral-fill::before { content: map-get($bootstrap-icons-map, "emoji-neutral-fill"); } +.bi-emoji-neutral::before { content: map-get($bootstrap-icons-map, "emoji-neutral"); } +.bi-emoji-smile-fill::before { content: map-get($bootstrap-icons-map, "emoji-smile-fill"); } +.bi-emoji-smile-upside-down-fill::before { content: map-get($bootstrap-icons-map, "emoji-smile-upside-down-fill"); } +.bi-emoji-smile-upside-down::before { content: map-get($bootstrap-icons-map, "emoji-smile-upside-down"); } +.bi-emoji-smile::before { content: map-get($bootstrap-icons-map, "emoji-smile"); } +.bi-emoji-sunglasses-fill::before { content: map-get($bootstrap-icons-map, "emoji-sunglasses-fill"); } +.bi-emoji-sunglasses::before { content: map-get($bootstrap-icons-map, "emoji-sunglasses"); } +.bi-emoji-wink-fill::before { content: map-get($bootstrap-icons-map, "emoji-wink-fill"); } +.bi-emoji-wink::before { content: map-get($bootstrap-icons-map, "emoji-wink"); } +.bi-envelope-fill::before { content: map-get($bootstrap-icons-map, "envelope-fill"); } +.bi-envelope-open-fill::before { content: map-get($bootstrap-icons-map, "envelope-open-fill"); } +.bi-envelope-open::before { content: map-get($bootstrap-icons-map, "envelope-open"); } +.bi-envelope::before { content: map-get($bootstrap-icons-map, "envelope"); } +.bi-eraser-fill::before { content: map-get($bootstrap-icons-map, "eraser-fill"); } +.bi-eraser::before { content: map-get($bootstrap-icons-map, "eraser"); } +.bi-exclamation-circle-fill::before { content: map-get($bootstrap-icons-map, "exclamation-circle-fill"); } +.bi-exclamation-circle::before { content: map-get($bootstrap-icons-map, "exclamation-circle"); } +.bi-exclamation-diamond-fill::before { content: map-get($bootstrap-icons-map, "exclamation-diamond-fill"); } +.bi-exclamation-diamond::before { content: map-get($bootstrap-icons-map, "exclamation-diamond"); } +.bi-exclamation-octagon-fill::before { content: map-get($bootstrap-icons-map, "exclamation-octagon-fill"); } +.bi-exclamation-octagon::before { content: map-get($bootstrap-icons-map, "exclamation-octagon"); } +.bi-exclamation-square-fill::before { content: map-get($bootstrap-icons-map, "exclamation-square-fill"); } +.bi-exclamation-square::before { content: map-get($bootstrap-icons-map, "exclamation-square"); } +.bi-exclamation-triangle-fill::before { content: map-get($bootstrap-icons-map, "exclamation-triangle-fill"); } +.bi-exclamation-triangle::before { content: map-get($bootstrap-icons-map, "exclamation-triangle"); } +.bi-exclamation::before { content: map-get($bootstrap-icons-map, "exclamation"); } +.bi-exclude::before { content: map-get($bootstrap-icons-map, "exclude"); } +.bi-eye-fill::before { content: map-get($bootstrap-icons-map, "eye-fill"); } +.bi-eye-slash-fill::before { content: map-get($bootstrap-icons-map, "eye-slash-fill"); } +.bi-eye-slash::before { content: map-get($bootstrap-icons-map, "eye-slash"); } +.bi-eye::before { content: map-get($bootstrap-icons-map, "eye"); } +.bi-eyedropper::before { content: map-get($bootstrap-icons-map, "eyedropper"); } +.bi-eyeglasses::before { content: map-get($bootstrap-icons-map, "eyeglasses"); } +.bi-facebook::before { content: map-get($bootstrap-icons-map, "facebook"); } +.bi-file-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "file-arrow-down-fill"); } +.bi-file-arrow-down::before { content: map-get($bootstrap-icons-map, "file-arrow-down"); } +.bi-file-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "file-arrow-up-fill"); } +.bi-file-arrow-up::before { content: map-get($bootstrap-icons-map, "file-arrow-up"); } +.bi-file-bar-graph-fill::before { content: map-get($bootstrap-icons-map, "file-bar-graph-fill"); } +.bi-file-bar-graph::before { content: map-get($bootstrap-icons-map, "file-bar-graph"); } +.bi-file-binary-fill::before { content: map-get($bootstrap-icons-map, "file-binary-fill"); } +.bi-file-binary::before { content: map-get($bootstrap-icons-map, "file-binary"); } +.bi-file-break-fill::before { content: map-get($bootstrap-icons-map, "file-break-fill"); } +.bi-file-break::before { content: map-get($bootstrap-icons-map, "file-break"); } +.bi-file-check-fill::before { content: map-get($bootstrap-icons-map, "file-check-fill"); } +.bi-file-check::before { content: map-get($bootstrap-icons-map, "file-check"); } +.bi-file-code-fill::before { content: map-get($bootstrap-icons-map, "file-code-fill"); } +.bi-file-code::before { content: map-get($bootstrap-icons-map, "file-code"); } +.bi-file-diff-fill::before { content: map-get($bootstrap-icons-map, "file-diff-fill"); } +.bi-file-diff::before { content: map-get($bootstrap-icons-map, "file-diff"); } +.bi-file-earmark-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-down-fill"); } +.bi-file-earmark-arrow-down::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-down"); } +.bi-file-earmark-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-up-fill"); } +.bi-file-earmark-arrow-up::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-up"); } +.bi-file-earmark-bar-graph-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-bar-graph-fill"); } +.bi-file-earmark-bar-graph::before { content: map-get($bootstrap-icons-map, "file-earmark-bar-graph"); } +.bi-file-earmark-binary-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-binary-fill"); } +.bi-file-earmark-binary::before { content: map-get($bootstrap-icons-map, "file-earmark-binary"); } +.bi-file-earmark-break-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-break-fill"); } +.bi-file-earmark-break::before { content: map-get($bootstrap-icons-map, "file-earmark-break"); } +.bi-file-earmark-check-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-check-fill"); } +.bi-file-earmark-check::before { content: map-get($bootstrap-icons-map, "file-earmark-check"); } +.bi-file-earmark-code-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-code-fill"); } +.bi-file-earmark-code::before { content: map-get($bootstrap-icons-map, "file-earmark-code"); } +.bi-file-earmark-diff-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-diff-fill"); } +.bi-file-earmark-diff::before { content: map-get($bootstrap-icons-map, "file-earmark-diff"); } +.bi-file-earmark-easel-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-easel-fill"); } +.bi-file-earmark-easel::before { content: map-get($bootstrap-icons-map, "file-earmark-easel"); } +.bi-file-earmark-excel-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-excel-fill"); } +.bi-file-earmark-excel::before { content: map-get($bootstrap-icons-map, "file-earmark-excel"); } +.bi-file-earmark-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-fill"); } +.bi-file-earmark-font-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-font-fill"); } +.bi-file-earmark-font::before { content: map-get($bootstrap-icons-map, "file-earmark-font"); } +.bi-file-earmark-image-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-image-fill"); } +.bi-file-earmark-image::before { content: map-get($bootstrap-icons-map, "file-earmark-image"); } +.bi-file-earmark-lock-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-lock-fill"); } +.bi-file-earmark-lock::before { content: map-get($bootstrap-icons-map, "file-earmark-lock"); } +.bi-file-earmark-lock2-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-lock2-fill"); } +.bi-file-earmark-lock2::before { content: map-get($bootstrap-icons-map, "file-earmark-lock2"); } +.bi-file-earmark-medical-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-medical-fill"); } +.bi-file-earmark-medical::before { content: map-get($bootstrap-icons-map, "file-earmark-medical"); } +.bi-file-earmark-minus-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-minus-fill"); } +.bi-file-earmark-minus::before { content: map-get($bootstrap-icons-map, "file-earmark-minus"); } +.bi-file-earmark-music-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-music-fill"); } +.bi-file-earmark-music::before { content: map-get($bootstrap-icons-map, "file-earmark-music"); } +.bi-file-earmark-person-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-person-fill"); } +.bi-file-earmark-person::before { content: map-get($bootstrap-icons-map, "file-earmark-person"); } +.bi-file-earmark-play-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-play-fill"); } +.bi-file-earmark-play::before { content: map-get($bootstrap-icons-map, "file-earmark-play"); } +.bi-file-earmark-plus-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-plus-fill"); } +.bi-file-earmark-plus::before { content: map-get($bootstrap-icons-map, "file-earmark-plus"); } +.bi-file-earmark-post-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-post-fill"); } +.bi-file-earmark-post::before { content: map-get($bootstrap-icons-map, "file-earmark-post"); } +.bi-file-earmark-ppt-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-ppt-fill"); } +.bi-file-earmark-ppt::before { content: map-get($bootstrap-icons-map, "file-earmark-ppt"); } +.bi-file-earmark-richtext-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-richtext-fill"); } +.bi-file-earmark-richtext::before { content: map-get($bootstrap-icons-map, "file-earmark-richtext"); } +.bi-file-earmark-ruled-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-ruled-fill"); } +.bi-file-earmark-ruled::before { content: map-get($bootstrap-icons-map, "file-earmark-ruled"); } +.bi-file-earmark-slides-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-slides-fill"); } +.bi-file-earmark-slides::before { content: map-get($bootstrap-icons-map, "file-earmark-slides"); } +.bi-file-earmark-spreadsheet-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-spreadsheet-fill"); } +.bi-file-earmark-spreadsheet::before { content: map-get($bootstrap-icons-map, "file-earmark-spreadsheet"); } +.bi-file-earmark-text-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-text-fill"); } +.bi-file-earmark-text::before { content: map-get($bootstrap-icons-map, "file-earmark-text"); } +.bi-file-earmark-word-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-word-fill"); } +.bi-file-earmark-word::before { content: map-get($bootstrap-icons-map, "file-earmark-word"); } +.bi-file-earmark-x-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-x-fill"); } +.bi-file-earmark-x::before { content: map-get($bootstrap-icons-map, "file-earmark-x"); } +.bi-file-earmark-zip-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-zip-fill"); } +.bi-file-earmark-zip::before { content: map-get($bootstrap-icons-map, "file-earmark-zip"); } +.bi-file-earmark::before { content: map-get($bootstrap-icons-map, "file-earmark"); } +.bi-file-easel-fill::before { content: map-get($bootstrap-icons-map, "file-easel-fill"); } +.bi-file-easel::before { content: map-get($bootstrap-icons-map, "file-easel"); } +.bi-file-excel-fill::before { content: map-get($bootstrap-icons-map, "file-excel-fill"); } +.bi-file-excel::before { content: map-get($bootstrap-icons-map, "file-excel"); } +.bi-file-fill::before { content: map-get($bootstrap-icons-map, "file-fill"); } +.bi-file-font-fill::before { content: map-get($bootstrap-icons-map, "file-font-fill"); } +.bi-file-font::before { content: map-get($bootstrap-icons-map, "file-font"); } +.bi-file-image-fill::before { content: map-get($bootstrap-icons-map, "file-image-fill"); } +.bi-file-image::before { content: map-get($bootstrap-icons-map, "file-image"); } +.bi-file-lock-fill::before { content: map-get($bootstrap-icons-map, "file-lock-fill"); } +.bi-file-lock::before { content: map-get($bootstrap-icons-map, "file-lock"); } +.bi-file-lock2-fill::before { content: map-get($bootstrap-icons-map, "file-lock2-fill"); } +.bi-file-lock2::before { content: map-get($bootstrap-icons-map, "file-lock2"); } +.bi-file-medical-fill::before { content: map-get($bootstrap-icons-map, "file-medical-fill"); } +.bi-file-medical::before { content: map-get($bootstrap-icons-map, "file-medical"); } +.bi-file-minus-fill::before { content: map-get($bootstrap-icons-map, "file-minus-fill"); } +.bi-file-minus::before { content: map-get($bootstrap-icons-map, "file-minus"); } +.bi-file-music-fill::before { content: map-get($bootstrap-icons-map, "file-music-fill"); } +.bi-file-music::before { content: map-get($bootstrap-icons-map, "file-music"); } +.bi-file-person-fill::before { content: map-get($bootstrap-icons-map, "file-person-fill"); } +.bi-file-person::before { content: map-get($bootstrap-icons-map, "file-person"); } +.bi-file-play-fill::before { content: map-get($bootstrap-icons-map, "file-play-fill"); } +.bi-file-play::before { content: map-get($bootstrap-icons-map, "file-play"); } +.bi-file-plus-fill::before { content: map-get($bootstrap-icons-map, "file-plus-fill"); } +.bi-file-plus::before { content: map-get($bootstrap-icons-map, "file-plus"); } +.bi-file-post-fill::before { content: map-get($bootstrap-icons-map, "file-post-fill"); } +.bi-file-post::before { content: map-get($bootstrap-icons-map, "file-post"); } +.bi-file-ppt-fill::before { content: map-get($bootstrap-icons-map, "file-ppt-fill"); } +.bi-file-ppt::before { content: map-get($bootstrap-icons-map, "file-ppt"); } +.bi-file-richtext-fill::before { content: map-get($bootstrap-icons-map, "file-richtext-fill"); } +.bi-file-richtext::before { content: map-get($bootstrap-icons-map, "file-richtext"); } +.bi-file-ruled-fill::before { content: map-get($bootstrap-icons-map, "file-ruled-fill"); } +.bi-file-ruled::before { content: map-get($bootstrap-icons-map, "file-ruled"); } +.bi-file-slides-fill::before { content: map-get($bootstrap-icons-map, "file-slides-fill"); } +.bi-file-slides::before { content: map-get($bootstrap-icons-map, "file-slides"); } +.bi-file-spreadsheet-fill::before { content: map-get($bootstrap-icons-map, "file-spreadsheet-fill"); } +.bi-file-spreadsheet::before { content: map-get($bootstrap-icons-map, "file-spreadsheet"); } +.bi-file-text-fill::before { content: map-get($bootstrap-icons-map, "file-text-fill"); } +.bi-file-text::before { content: map-get($bootstrap-icons-map, "file-text"); } +.bi-file-word-fill::before { content: map-get($bootstrap-icons-map, "file-word-fill"); } +.bi-file-word::before { content: map-get($bootstrap-icons-map, "file-word"); } +.bi-file-x-fill::before { content: map-get($bootstrap-icons-map, "file-x-fill"); } +.bi-file-x::before { content: map-get($bootstrap-icons-map, "file-x"); } +.bi-file-zip-fill::before { content: map-get($bootstrap-icons-map, "file-zip-fill"); } +.bi-file-zip::before { content: map-get($bootstrap-icons-map, "file-zip"); } +.bi-file::before { content: map-get($bootstrap-icons-map, "file"); } +.bi-files-alt::before { content: map-get($bootstrap-icons-map, "files-alt"); } +.bi-files::before { content: map-get($bootstrap-icons-map, "files"); } +.bi-film::before { content: map-get($bootstrap-icons-map, "film"); } +.bi-filter-circle-fill::before { content: map-get($bootstrap-icons-map, "filter-circle-fill"); } +.bi-filter-circle::before { content: map-get($bootstrap-icons-map, "filter-circle"); } +.bi-filter-left::before { content: map-get($bootstrap-icons-map, "filter-left"); } +.bi-filter-right::before { content: map-get($bootstrap-icons-map, "filter-right"); } +.bi-filter-square-fill::before { content: map-get($bootstrap-icons-map, "filter-square-fill"); } +.bi-filter-square::before { content: map-get($bootstrap-icons-map, "filter-square"); } +.bi-filter::before { content: map-get($bootstrap-icons-map, "filter"); } +.bi-flag-fill::before { content: map-get($bootstrap-icons-map, "flag-fill"); } +.bi-flag::before { content: map-get($bootstrap-icons-map, "flag"); } +.bi-flower1::before { content: map-get($bootstrap-icons-map, "flower1"); } +.bi-flower2::before { content: map-get($bootstrap-icons-map, "flower2"); } +.bi-flower3::before { content: map-get($bootstrap-icons-map, "flower3"); } +.bi-folder-check::before { content: map-get($bootstrap-icons-map, "folder-check"); } +.bi-folder-fill::before { content: map-get($bootstrap-icons-map, "folder-fill"); } +.bi-folder-minus::before { content: map-get($bootstrap-icons-map, "folder-minus"); } +.bi-folder-plus::before { content: map-get($bootstrap-icons-map, "folder-plus"); } +.bi-folder-symlink-fill::before { content: map-get($bootstrap-icons-map, "folder-symlink-fill"); } +.bi-folder-symlink::before { content: map-get($bootstrap-icons-map, "folder-symlink"); } +.bi-folder-x::before { content: map-get($bootstrap-icons-map, "folder-x"); } +.bi-folder::before { content: map-get($bootstrap-icons-map, "folder"); } +.bi-folder2-open::before { content: map-get($bootstrap-icons-map, "folder2-open"); } +.bi-folder2::before { content: map-get($bootstrap-icons-map, "folder2"); } +.bi-fonts::before { content: map-get($bootstrap-icons-map, "fonts"); } +.bi-forward-fill::before { content: map-get($bootstrap-icons-map, "forward-fill"); } +.bi-forward::before { content: map-get($bootstrap-icons-map, "forward"); } +.bi-front::before { content: map-get($bootstrap-icons-map, "front"); } +.bi-fullscreen-exit::before { content: map-get($bootstrap-icons-map, "fullscreen-exit"); } +.bi-fullscreen::before { content: map-get($bootstrap-icons-map, "fullscreen"); } +.bi-funnel-fill::before { content: map-get($bootstrap-icons-map, "funnel-fill"); } +.bi-funnel::before { content: map-get($bootstrap-icons-map, "funnel"); } +.bi-gear-fill::before { content: map-get($bootstrap-icons-map, "gear-fill"); } +.bi-gear-wide-connected::before { content: map-get($bootstrap-icons-map, "gear-wide-connected"); } +.bi-gear-wide::before { content: map-get($bootstrap-icons-map, "gear-wide"); } +.bi-gear::before { content: map-get($bootstrap-icons-map, "gear"); } +.bi-gem::before { content: map-get($bootstrap-icons-map, "gem"); } +.bi-geo-alt-fill::before { content: map-get($bootstrap-icons-map, "geo-alt-fill"); } +.bi-geo-alt::before { content: map-get($bootstrap-icons-map, "geo-alt"); } +.bi-geo-fill::before { content: map-get($bootstrap-icons-map, "geo-fill"); } +.bi-geo::before { content: map-get($bootstrap-icons-map, "geo"); } +.bi-gift-fill::before { content: map-get($bootstrap-icons-map, "gift-fill"); } +.bi-gift::before { content: map-get($bootstrap-icons-map, "gift"); } +.bi-github::before { content: map-get($bootstrap-icons-map, "github"); } +.bi-globe::before { content: map-get($bootstrap-icons-map, "globe"); } +.bi-globe2::before { content: map-get($bootstrap-icons-map, "globe2"); } +.bi-google::before { content: map-get($bootstrap-icons-map, "google"); } +.bi-graph-down::before { content: map-get($bootstrap-icons-map, "graph-down"); } +.bi-graph-up::before { content: map-get($bootstrap-icons-map, "graph-up"); } +.bi-grid-1x2-fill::before { content: map-get($bootstrap-icons-map, "grid-1x2-fill"); } +.bi-grid-1x2::before { content: map-get($bootstrap-icons-map, "grid-1x2"); } +.bi-grid-3x2-gap-fill::before { content: map-get($bootstrap-icons-map, "grid-3x2-gap-fill"); } +.bi-grid-3x2-gap::before { content: map-get($bootstrap-icons-map, "grid-3x2-gap"); } +.bi-grid-3x2::before { content: map-get($bootstrap-icons-map, "grid-3x2"); } +.bi-grid-3x3-gap-fill::before { content: map-get($bootstrap-icons-map, "grid-3x3-gap-fill"); } +.bi-grid-3x3-gap::before { content: map-get($bootstrap-icons-map, "grid-3x3-gap"); } +.bi-grid-3x3::before { content: map-get($bootstrap-icons-map, "grid-3x3"); } +.bi-grid-fill::before { content: map-get($bootstrap-icons-map, "grid-fill"); } +.bi-grid::before { content: map-get($bootstrap-icons-map, "grid"); } +.bi-grip-horizontal::before { content: map-get($bootstrap-icons-map, "grip-horizontal"); } +.bi-grip-vertical::before { content: map-get($bootstrap-icons-map, "grip-vertical"); } +.bi-hammer::before { content: map-get($bootstrap-icons-map, "hammer"); } +.bi-hand-index-fill::before { content: map-get($bootstrap-icons-map, "hand-index-fill"); } +.bi-hand-index-thumb-fill::before { content: map-get($bootstrap-icons-map, "hand-index-thumb-fill"); } +.bi-hand-index-thumb::before { content: map-get($bootstrap-icons-map, "hand-index-thumb"); } +.bi-hand-index::before { content: map-get($bootstrap-icons-map, "hand-index"); } +.bi-hand-thumbs-down-fill::before { content: map-get($bootstrap-icons-map, "hand-thumbs-down-fill"); } +.bi-hand-thumbs-down::before { content: map-get($bootstrap-icons-map, "hand-thumbs-down"); } +.bi-hand-thumbs-up-fill::before { content: map-get($bootstrap-icons-map, "hand-thumbs-up-fill"); } +.bi-hand-thumbs-up::before { content: map-get($bootstrap-icons-map, "hand-thumbs-up"); } +.bi-handbag-fill::before { content: map-get($bootstrap-icons-map, "handbag-fill"); } +.bi-handbag::before { content: map-get($bootstrap-icons-map, "handbag"); } +.bi-hash::before { content: map-get($bootstrap-icons-map, "hash"); } +.bi-hdd-fill::before { content: map-get($bootstrap-icons-map, "hdd-fill"); } +.bi-hdd-network-fill::before { content: map-get($bootstrap-icons-map, "hdd-network-fill"); } +.bi-hdd-network::before { content: map-get($bootstrap-icons-map, "hdd-network"); } +.bi-hdd-rack-fill::before { content: map-get($bootstrap-icons-map, "hdd-rack-fill"); } +.bi-hdd-rack::before { content: map-get($bootstrap-icons-map, "hdd-rack"); } +.bi-hdd-stack-fill::before { content: map-get($bootstrap-icons-map, "hdd-stack-fill"); } +.bi-hdd-stack::before { content: map-get($bootstrap-icons-map, "hdd-stack"); } +.bi-hdd::before { content: map-get($bootstrap-icons-map, "hdd"); } +.bi-headphones::before { content: map-get($bootstrap-icons-map, "headphones"); } +.bi-headset::before { content: map-get($bootstrap-icons-map, "headset"); } +.bi-heart-fill::before { content: map-get($bootstrap-icons-map, "heart-fill"); } +.bi-heart-half::before { content: map-get($bootstrap-icons-map, "heart-half"); } +.bi-heart::before { content: map-get($bootstrap-icons-map, "heart"); } +.bi-heptagon-fill::before { content: map-get($bootstrap-icons-map, "heptagon-fill"); } +.bi-heptagon-half::before { content: map-get($bootstrap-icons-map, "heptagon-half"); } +.bi-heptagon::before { content: map-get($bootstrap-icons-map, "heptagon"); } +.bi-hexagon-fill::before { content: map-get($bootstrap-icons-map, "hexagon-fill"); } +.bi-hexagon-half::before { content: map-get($bootstrap-icons-map, "hexagon-half"); } +.bi-hexagon::before { content: map-get($bootstrap-icons-map, "hexagon"); } +.bi-hourglass-bottom::before { content: map-get($bootstrap-icons-map, "hourglass-bottom"); } +.bi-hourglass-split::before { content: map-get($bootstrap-icons-map, "hourglass-split"); } +.bi-hourglass-top::before { content: map-get($bootstrap-icons-map, "hourglass-top"); } +.bi-hourglass::before { content: map-get($bootstrap-icons-map, "hourglass"); } +.bi-house-door-fill::before { content: map-get($bootstrap-icons-map, "house-door-fill"); } +.bi-house-door::before { content: map-get($bootstrap-icons-map, "house-door"); } +.bi-house-fill::before { content: map-get($bootstrap-icons-map, "house-fill"); } +.bi-house::before { content: map-get($bootstrap-icons-map, "house"); } +.bi-hr::before { content: map-get($bootstrap-icons-map, "hr"); } +.bi-hurricane::before { content: map-get($bootstrap-icons-map, "hurricane"); } +.bi-image-alt::before { content: map-get($bootstrap-icons-map, "image-alt"); } +.bi-image-fill::before { content: map-get($bootstrap-icons-map, "image-fill"); } +.bi-image::before { content: map-get($bootstrap-icons-map, "image"); } +.bi-images::before { content: map-get($bootstrap-icons-map, "images"); } +.bi-inbox-fill::before { content: map-get($bootstrap-icons-map, "inbox-fill"); } +.bi-inbox::before { content: map-get($bootstrap-icons-map, "inbox"); } +.bi-inboxes-fill::before { content: map-get($bootstrap-icons-map, "inboxes-fill"); } +.bi-inboxes::before { content: map-get($bootstrap-icons-map, "inboxes"); } +.bi-info-circle-fill::before { content: map-get($bootstrap-icons-map, "info-circle-fill"); } +.bi-info-circle::before { content: map-get($bootstrap-icons-map, "info-circle"); } +.bi-info-square-fill::before { content: map-get($bootstrap-icons-map, "info-square-fill"); } +.bi-info-square::before { content: map-get($bootstrap-icons-map, "info-square"); } +.bi-info::before { content: map-get($bootstrap-icons-map, "info"); } +.bi-input-cursor-text::before { content: map-get($bootstrap-icons-map, "input-cursor-text"); } +.bi-input-cursor::before { content: map-get($bootstrap-icons-map, "input-cursor"); } +.bi-instagram::before { content: map-get($bootstrap-icons-map, "instagram"); } +.bi-intersect::before { content: map-get($bootstrap-icons-map, "intersect"); } +.bi-journal-album::before { content: map-get($bootstrap-icons-map, "journal-album"); } +.bi-journal-arrow-down::before { content: map-get($bootstrap-icons-map, "journal-arrow-down"); } +.bi-journal-arrow-up::before { content: map-get($bootstrap-icons-map, "journal-arrow-up"); } +.bi-journal-bookmark-fill::before { content: map-get($bootstrap-icons-map, "journal-bookmark-fill"); } +.bi-journal-bookmark::before { content: map-get($bootstrap-icons-map, "journal-bookmark"); } +.bi-journal-check::before { content: map-get($bootstrap-icons-map, "journal-check"); } +.bi-journal-code::before { content: map-get($bootstrap-icons-map, "journal-code"); } +.bi-journal-medical::before { content: map-get($bootstrap-icons-map, "journal-medical"); } +.bi-journal-minus::before { content: map-get($bootstrap-icons-map, "journal-minus"); } +.bi-journal-plus::before { content: map-get($bootstrap-icons-map, "journal-plus"); } +.bi-journal-richtext::before { content: map-get($bootstrap-icons-map, "journal-richtext"); } +.bi-journal-text::before { content: map-get($bootstrap-icons-map, "journal-text"); } +.bi-journal-x::before { content: map-get($bootstrap-icons-map, "journal-x"); } +.bi-journal::before { content: map-get($bootstrap-icons-map, "journal"); } +.bi-journals::before { content: map-get($bootstrap-icons-map, "journals"); } +.bi-joystick::before { content: map-get($bootstrap-icons-map, "joystick"); } +.bi-justify-left::before { content: map-get($bootstrap-icons-map, "justify-left"); } +.bi-justify-right::before { content: map-get($bootstrap-icons-map, "justify-right"); } +.bi-justify::before { content: map-get($bootstrap-icons-map, "justify"); } +.bi-kanban-fill::before { content: map-get($bootstrap-icons-map, "kanban-fill"); } +.bi-kanban::before { content: map-get($bootstrap-icons-map, "kanban"); } +.bi-key-fill::before { content: map-get($bootstrap-icons-map, "key-fill"); } +.bi-key::before { content: map-get($bootstrap-icons-map, "key"); } +.bi-keyboard-fill::before { content: map-get($bootstrap-icons-map, "keyboard-fill"); } +.bi-keyboard::before { content: map-get($bootstrap-icons-map, "keyboard"); } +.bi-ladder::before { content: map-get($bootstrap-icons-map, "ladder"); } +.bi-lamp-fill::before { content: map-get($bootstrap-icons-map, "lamp-fill"); } +.bi-lamp::before { content: map-get($bootstrap-icons-map, "lamp"); } +.bi-laptop-fill::before { content: map-get($bootstrap-icons-map, "laptop-fill"); } +.bi-laptop::before { content: map-get($bootstrap-icons-map, "laptop"); } +.bi-layer-backward::before { content: map-get($bootstrap-icons-map, "layer-backward"); } +.bi-layer-forward::before { content: map-get($bootstrap-icons-map, "layer-forward"); } +.bi-layers-fill::before { content: map-get($bootstrap-icons-map, "layers-fill"); } +.bi-layers-half::before { content: map-get($bootstrap-icons-map, "layers-half"); } +.bi-layers::before { content: map-get($bootstrap-icons-map, "layers"); } +.bi-layout-sidebar-inset-reverse::before { content: map-get($bootstrap-icons-map, "layout-sidebar-inset-reverse"); } +.bi-layout-sidebar-inset::before { content: map-get($bootstrap-icons-map, "layout-sidebar-inset"); } +.bi-layout-sidebar-reverse::before { content: map-get($bootstrap-icons-map, "layout-sidebar-reverse"); } +.bi-layout-sidebar::before { content: map-get($bootstrap-icons-map, "layout-sidebar"); } +.bi-layout-split::before { content: map-get($bootstrap-icons-map, "layout-split"); } +.bi-layout-text-sidebar-reverse::before { content: map-get($bootstrap-icons-map, "layout-text-sidebar-reverse"); } +.bi-layout-text-sidebar::before { content: map-get($bootstrap-icons-map, "layout-text-sidebar"); } +.bi-layout-text-window-reverse::before { content: map-get($bootstrap-icons-map, "layout-text-window-reverse"); } +.bi-layout-text-window::before { content: map-get($bootstrap-icons-map, "layout-text-window"); } +.bi-layout-three-columns::before { content: map-get($bootstrap-icons-map, "layout-three-columns"); } +.bi-layout-wtf::before { content: map-get($bootstrap-icons-map, "layout-wtf"); } +.bi-life-preserver::before { content: map-get($bootstrap-icons-map, "life-preserver"); } +.bi-lightbulb-fill::before { content: map-get($bootstrap-icons-map, "lightbulb-fill"); } +.bi-lightbulb-off-fill::before { content: map-get($bootstrap-icons-map, "lightbulb-off-fill"); } +.bi-lightbulb-off::before { content: map-get($bootstrap-icons-map, "lightbulb-off"); } +.bi-lightbulb::before { content: map-get($bootstrap-icons-map, "lightbulb"); } +.bi-lightning-charge-fill::before { content: map-get($bootstrap-icons-map, "lightning-charge-fill"); } +.bi-lightning-charge::before { content: map-get($bootstrap-icons-map, "lightning-charge"); } +.bi-lightning-fill::before { content: map-get($bootstrap-icons-map, "lightning-fill"); } +.bi-lightning::before { content: map-get($bootstrap-icons-map, "lightning"); } +.bi-link-45deg::before { content: map-get($bootstrap-icons-map, "link-45deg"); } +.bi-link::before { content: map-get($bootstrap-icons-map, "link"); } +.bi-linkedin::before { content: map-get($bootstrap-icons-map, "linkedin"); } +.bi-list-check::before { content: map-get($bootstrap-icons-map, "list-check"); } +.bi-list-nested::before { content: map-get($bootstrap-icons-map, "list-nested"); } +.bi-list-ol::before { content: map-get($bootstrap-icons-map, "list-ol"); } +.bi-list-stars::before { content: map-get($bootstrap-icons-map, "list-stars"); } +.bi-list-task::before { content: map-get($bootstrap-icons-map, "list-task"); } +.bi-list-ul::before { content: map-get($bootstrap-icons-map, "list-ul"); } +.bi-list::before { content: map-get($bootstrap-icons-map, "list"); } +.bi-lock-fill::before { content: map-get($bootstrap-icons-map, "lock-fill"); } +.bi-lock::before { content: map-get($bootstrap-icons-map, "lock"); } +.bi-mailbox::before { content: map-get($bootstrap-icons-map, "mailbox"); } +.bi-mailbox2::before { content: map-get($bootstrap-icons-map, "mailbox2"); } +.bi-map-fill::before { content: map-get($bootstrap-icons-map, "map-fill"); } +.bi-map::before { content: map-get($bootstrap-icons-map, "map"); } +.bi-markdown-fill::before { content: map-get($bootstrap-icons-map, "markdown-fill"); } +.bi-markdown::before { content: map-get($bootstrap-icons-map, "markdown"); } +.bi-mask::before { content: map-get($bootstrap-icons-map, "mask"); } +.bi-megaphone-fill::before { content: map-get($bootstrap-icons-map, "megaphone-fill"); } +.bi-megaphone::before { content: map-get($bootstrap-icons-map, "megaphone"); } +.bi-menu-app-fill::before { content: map-get($bootstrap-icons-map, "menu-app-fill"); } +.bi-menu-app::before { content: map-get($bootstrap-icons-map, "menu-app"); } +.bi-menu-button-fill::before { content: map-get($bootstrap-icons-map, "menu-button-fill"); } +.bi-menu-button-wide-fill::before { content: map-get($bootstrap-icons-map, "menu-button-wide-fill"); } +.bi-menu-button-wide::before { content: map-get($bootstrap-icons-map, "menu-button-wide"); } +.bi-menu-button::before { content: map-get($bootstrap-icons-map, "menu-button"); } +.bi-menu-down::before { content: map-get($bootstrap-icons-map, "menu-down"); } +.bi-menu-up::before { content: map-get($bootstrap-icons-map, "menu-up"); } +.bi-mic-fill::before { content: map-get($bootstrap-icons-map, "mic-fill"); } +.bi-mic-mute-fill::before { content: map-get($bootstrap-icons-map, "mic-mute-fill"); } +.bi-mic-mute::before { content: map-get($bootstrap-icons-map, "mic-mute"); } +.bi-mic::before { content: map-get($bootstrap-icons-map, "mic"); } +.bi-minecart-loaded::before { content: map-get($bootstrap-icons-map, "minecart-loaded"); } +.bi-minecart::before { content: map-get($bootstrap-icons-map, "minecart"); } +.bi-moisture::before { content: map-get($bootstrap-icons-map, "moisture"); } +.bi-moon-fill::before { content: map-get($bootstrap-icons-map, "moon-fill"); } +.bi-moon-stars-fill::before { content: map-get($bootstrap-icons-map, "moon-stars-fill"); } +.bi-moon-stars::before { content: map-get($bootstrap-icons-map, "moon-stars"); } +.bi-moon::before { content: map-get($bootstrap-icons-map, "moon"); } +.bi-mouse-fill::before { content: map-get($bootstrap-icons-map, "mouse-fill"); } +.bi-mouse::before { content: map-get($bootstrap-icons-map, "mouse"); } +.bi-mouse2-fill::before { content: map-get($bootstrap-icons-map, "mouse2-fill"); } +.bi-mouse2::before { content: map-get($bootstrap-icons-map, "mouse2"); } +.bi-mouse3-fill::before { content: map-get($bootstrap-icons-map, "mouse3-fill"); } +.bi-mouse3::before { content: map-get($bootstrap-icons-map, "mouse3"); } +.bi-music-note-beamed::before { content: map-get($bootstrap-icons-map, "music-note-beamed"); } +.bi-music-note-list::before { content: map-get($bootstrap-icons-map, "music-note-list"); } +.bi-music-note::before { content: map-get($bootstrap-icons-map, "music-note"); } +.bi-music-player-fill::before { content: map-get($bootstrap-icons-map, "music-player-fill"); } +.bi-music-player::before { content: map-get($bootstrap-icons-map, "music-player"); } +.bi-newspaper::before { content: map-get($bootstrap-icons-map, "newspaper"); } +.bi-node-minus-fill::before { content: map-get($bootstrap-icons-map, "node-minus-fill"); } +.bi-node-minus::before { content: map-get($bootstrap-icons-map, "node-minus"); } +.bi-node-plus-fill::before { content: map-get($bootstrap-icons-map, "node-plus-fill"); } +.bi-node-plus::before { content: map-get($bootstrap-icons-map, "node-plus"); } +.bi-nut-fill::before { content: map-get($bootstrap-icons-map, "nut-fill"); } +.bi-nut::before { content: map-get($bootstrap-icons-map, "nut"); } +.bi-octagon-fill::before { content: map-get($bootstrap-icons-map, "octagon-fill"); } +.bi-octagon-half::before { content: map-get($bootstrap-icons-map, "octagon-half"); } +.bi-octagon::before { content: map-get($bootstrap-icons-map, "octagon"); } +.bi-option::before { content: map-get($bootstrap-icons-map, "option"); } +.bi-outlet::before { content: map-get($bootstrap-icons-map, "outlet"); } +.bi-paint-bucket::before { content: map-get($bootstrap-icons-map, "paint-bucket"); } +.bi-palette-fill::before { content: map-get($bootstrap-icons-map, "palette-fill"); } +.bi-palette::before { content: map-get($bootstrap-icons-map, "palette"); } +.bi-palette2::before { content: map-get($bootstrap-icons-map, "palette2"); } +.bi-paperclip::before { content: map-get($bootstrap-icons-map, "paperclip"); } +.bi-paragraph::before { content: map-get($bootstrap-icons-map, "paragraph"); } +.bi-patch-check-fill::before { content: map-get($bootstrap-icons-map, "patch-check-fill"); } +.bi-patch-check::before { content: map-get($bootstrap-icons-map, "patch-check"); } +.bi-patch-exclamation-fill::before { content: map-get($bootstrap-icons-map, "patch-exclamation-fill"); } +.bi-patch-exclamation::before { content: map-get($bootstrap-icons-map, "patch-exclamation"); } +.bi-patch-minus-fill::before { content: map-get($bootstrap-icons-map, "patch-minus-fill"); } +.bi-patch-minus::before { content: map-get($bootstrap-icons-map, "patch-minus"); } +.bi-patch-plus-fill::before { content: map-get($bootstrap-icons-map, "patch-plus-fill"); } +.bi-patch-plus::before { content: map-get($bootstrap-icons-map, "patch-plus"); } +.bi-patch-question-fill::before { content: map-get($bootstrap-icons-map, "patch-question-fill"); } +.bi-patch-question::before { content: map-get($bootstrap-icons-map, "patch-question"); } +.bi-pause-btn-fill::before { content: map-get($bootstrap-icons-map, "pause-btn-fill"); } +.bi-pause-btn::before { content: map-get($bootstrap-icons-map, "pause-btn"); } +.bi-pause-circle-fill::before { content: map-get($bootstrap-icons-map, "pause-circle-fill"); } +.bi-pause-circle::before { content: map-get($bootstrap-icons-map, "pause-circle"); } +.bi-pause-fill::before { content: map-get($bootstrap-icons-map, "pause-fill"); } +.bi-pause::before { content: map-get($bootstrap-icons-map, "pause"); } +.bi-peace-fill::before { content: map-get($bootstrap-icons-map, "peace-fill"); } +.bi-peace::before { content: map-get($bootstrap-icons-map, "peace"); } +.bi-pen-fill::before { content: map-get($bootstrap-icons-map, "pen-fill"); } +.bi-pen::before { content: map-get($bootstrap-icons-map, "pen"); } +.bi-pencil-fill::before { content: map-get($bootstrap-icons-map, "pencil-fill"); } +.bi-pencil-square::before { content: map-get($bootstrap-icons-map, "pencil-square"); } +.bi-pencil::before { content: map-get($bootstrap-icons-map, "pencil"); } +.bi-pentagon-fill::before { content: map-get($bootstrap-icons-map, "pentagon-fill"); } +.bi-pentagon-half::before { content: map-get($bootstrap-icons-map, "pentagon-half"); } +.bi-pentagon::before { content: map-get($bootstrap-icons-map, "pentagon"); } +.bi-people-fill::before { content: map-get($bootstrap-icons-map, "people-fill"); } +.bi-people::before { content: map-get($bootstrap-icons-map, "people"); } +.bi-percent::before { content: map-get($bootstrap-icons-map, "percent"); } +.bi-person-badge-fill::before { content: map-get($bootstrap-icons-map, "person-badge-fill"); } +.bi-person-badge::before { content: map-get($bootstrap-icons-map, "person-badge"); } +.bi-person-bounding-box::before { content: map-get($bootstrap-icons-map, "person-bounding-box"); } +.bi-person-check-fill::before { content: map-get($bootstrap-icons-map, "person-check-fill"); } +.bi-person-check::before { content: map-get($bootstrap-icons-map, "person-check"); } +.bi-person-circle::before { content: map-get($bootstrap-icons-map, "person-circle"); } +.bi-person-dash-fill::before { content: map-get($bootstrap-icons-map, "person-dash-fill"); } +.bi-person-dash::before { content: map-get($bootstrap-icons-map, "person-dash"); } +.bi-person-fill::before { content: map-get($bootstrap-icons-map, "person-fill"); } +.bi-person-lines-fill::before { content: map-get($bootstrap-icons-map, "person-lines-fill"); } +.bi-person-plus-fill::before { content: map-get($bootstrap-icons-map, "person-plus-fill"); } +.bi-person-plus::before { content: map-get($bootstrap-icons-map, "person-plus"); } +.bi-person-square::before { content: map-get($bootstrap-icons-map, "person-square"); } +.bi-person-x-fill::before { content: map-get($bootstrap-icons-map, "person-x-fill"); } +.bi-person-x::before { content: map-get($bootstrap-icons-map, "person-x"); } +.bi-person::before { content: map-get($bootstrap-icons-map, "person"); } +.bi-phone-fill::before { content: map-get($bootstrap-icons-map, "phone-fill"); } +.bi-phone-landscape-fill::before { content: map-get($bootstrap-icons-map, "phone-landscape-fill"); } +.bi-phone-landscape::before { content: map-get($bootstrap-icons-map, "phone-landscape"); } +.bi-phone-vibrate-fill::before { content: map-get($bootstrap-icons-map, "phone-vibrate-fill"); } +.bi-phone-vibrate::before { content: map-get($bootstrap-icons-map, "phone-vibrate"); } +.bi-phone::before { content: map-get($bootstrap-icons-map, "phone"); } +.bi-pie-chart-fill::before { content: map-get($bootstrap-icons-map, "pie-chart-fill"); } +.bi-pie-chart::before { content: map-get($bootstrap-icons-map, "pie-chart"); } +.bi-pin-angle-fill::before { content: map-get($bootstrap-icons-map, "pin-angle-fill"); } +.bi-pin-angle::before { content: map-get($bootstrap-icons-map, "pin-angle"); } +.bi-pin-fill::before { content: map-get($bootstrap-icons-map, "pin-fill"); } +.bi-pin::before { content: map-get($bootstrap-icons-map, "pin"); } +.bi-pip-fill::before { content: map-get($bootstrap-icons-map, "pip-fill"); } +.bi-pip::before { content: map-get($bootstrap-icons-map, "pip"); } +.bi-play-btn-fill::before { content: map-get($bootstrap-icons-map, "play-btn-fill"); } +.bi-play-btn::before { content: map-get($bootstrap-icons-map, "play-btn"); } +.bi-play-circle-fill::before { content: map-get($bootstrap-icons-map, "play-circle-fill"); } +.bi-play-circle::before { content: map-get($bootstrap-icons-map, "play-circle"); } +.bi-play-fill::before { content: map-get($bootstrap-icons-map, "play-fill"); } +.bi-play::before { content: map-get($bootstrap-icons-map, "play"); } +.bi-plug-fill::before { content: map-get($bootstrap-icons-map, "plug-fill"); } +.bi-plug::before { content: map-get($bootstrap-icons-map, "plug"); } +.bi-plus-circle-dotted::before { content: map-get($bootstrap-icons-map, "plus-circle-dotted"); } +.bi-plus-circle-fill::before { content: map-get($bootstrap-icons-map, "plus-circle-fill"); } +.bi-plus-circle::before { content: map-get($bootstrap-icons-map, "plus-circle"); } +.bi-plus-square-dotted::before { content: map-get($bootstrap-icons-map, "plus-square-dotted"); } +.bi-plus-square-fill::before { content: map-get($bootstrap-icons-map, "plus-square-fill"); } +.bi-plus-square::before { content: map-get($bootstrap-icons-map, "plus-square"); } +.bi-plus::before { content: map-get($bootstrap-icons-map, "plus"); } +.bi-power::before { content: map-get($bootstrap-icons-map, "power"); } +.bi-printer-fill::before { content: map-get($bootstrap-icons-map, "printer-fill"); } +.bi-printer::before { content: map-get($bootstrap-icons-map, "printer"); } +.bi-puzzle-fill::before { content: map-get($bootstrap-icons-map, "puzzle-fill"); } +.bi-puzzle::before { content: map-get($bootstrap-icons-map, "puzzle"); } +.bi-question-circle-fill::before { content: map-get($bootstrap-icons-map, "question-circle-fill"); } +.bi-question-circle::before { content: map-get($bootstrap-icons-map, "question-circle"); } +.bi-question-diamond-fill::before { content: map-get($bootstrap-icons-map, "question-diamond-fill"); } +.bi-question-diamond::before { content: map-get($bootstrap-icons-map, "question-diamond"); } +.bi-question-octagon-fill::before { content: map-get($bootstrap-icons-map, "question-octagon-fill"); } +.bi-question-octagon::before { content: map-get($bootstrap-icons-map, "question-octagon"); } +.bi-question-square-fill::before { content: map-get($bootstrap-icons-map, "question-square-fill"); } +.bi-question-square::before { content: map-get($bootstrap-icons-map, "question-square"); } +.bi-question::before { content: map-get($bootstrap-icons-map, "question"); } +.bi-rainbow::before { content: map-get($bootstrap-icons-map, "rainbow"); } +.bi-receipt-cutoff::before { content: map-get($bootstrap-icons-map, "receipt-cutoff"); } +.bi-receipt::before { content: map-get($bootstrap-icons-map, "receipt"); } +.bi-reception-0::before { content: map-get($bootstrap-icons-map, "reception-0"); } +.bi-reception-1::before { content: map-get($bootstrap-icons-map, "reception-1"); } +.bi-reception-2::before { content: map-get($bootstrap-icons-map, "reception-2"); } +.bi-reception-3::before { content: map-get($bootstrap-icons-map, "reception-3"); } +.bi-reception-4::before { content: map-get($bootstrap-icons-map, "reception-4"); } +.bi-record-btn-fill::before { content: map-get($bootstrap-icons-map, "record-btn-fill"); } +.bi-record-btn::before { content: map-get($bootstrap-icons-map, "record-btn"); } +.bi-record-circle-fill::before { content: map-get($bootstrap-icons-map, "record-circle-fill"); } +.bi-record-circle::before { content: map-get($bootstrap-icons-map, "record-circle"); } +.bi-record-fill::before { content: map-get($bootstrap-icons-map, "record-fill"); } +.bi-record::before { content: map-get($bootstrap-icons-map, "record"); } +.bi-record2-fill::before { content: map-get($bootstrap-icons-map, "record2-fill"); } +.bi-record2::before { content: map-get($bootstrap-icons-map, "record2"); } +.bi-reply-all-fill::before { content: map-get($bootstrap-icons-map, "reply-all-fill"); } +.bi-reply-all::before { content: map-get($bootstrap-icons-map, "reply-all"); } +.bi-reply-fill::before { content: map-get($bootstrap-icons-map, "reply-fill"); } +.bi-reply::before { content: map-get($bootstrap-icons-map, "reply"); } +.bi-rss-fill::before { content: map-get($bootstrap-icons-map, "rss-fill"); } +.bi-rss::before { content: map-get($bootstrap-icons-map, "rss"); } +.bi-rulers::before { content: map-get($bootstrap-icons-map, "rulers"); } +.bi-save-fill::before { content: map-get($bootstrap-icons-map, "save-fill"); } +.bi-save::before { content: map-get($bootstrap-icons-map, "save"); } +.bi-save2-fill::before { content: map-get($bootstrap-icons-map, "save2-fill"); } +.bi-save2::before { content: map-get($bootstrap-icons-map, "save2"); } +.bi-scissors::before { content: map-get($bootstrap-icons-map, "scissors"); } +.bi-screwdriver::before { content: map-get($bootstrap-icons-map, "screwdriver"); } +.bi-search::before { content: map-get($bootstrap-icons-map, "search"); } +.bi-segmented-nav::before { content: map-get($bootstrap-icons-map, "segmented-nav"); } +.bi-server::before { content: map-get($bootstrap-icons-map, "server"); } +.bi-share-fill::before { content: map-get($bootstrap-icons-map, "share-fill"); } +.bi-share::before { content: map-get($bootstrap-icons-map, "share"); } +.bi-shield-check::before { content: map-get($bootstrap-icons-map, "shield-check"); } +.bi-shield-exclamation::before { content: map-get($bootstrap-icons-map, "shield-exclamation"); } +.bi-shield-fill-check::before { content: map-get($bootstrap-icons-map, "shield-fill-check"); } +.bi-shield-fill-exclamation::before { content: map-get($bootstrap-icons-map, "shield-fill-exclamation"); } +.bi-shield-fill-minus::before { content: map-get($bootstrap-icons-map, "shield-fill-minus"); } +.bi-shield-fill-plus::before { content: map-get($bootstrap-icons-map, "shield-fill-plus"); } +.bi-shield-fill-x::before { content: map-get($bootstrap-icons-map, "shield-fill-x"); } +.bi-shield-fill::before { content: map-get($bootstrap-icons-map, "shield-fill"); } +.bi-shield-lock-fill::before { content: map-get($bootstrap-icons-map, "shield-lock-fill"); } +.bi-shield-lock::before { content: map-get($bootstrap-icons-map, "shield-lock"); } +.bi-shield-minus::before { content: map-get($bootstrap-icons-map, "shield-minus"); } +.bi-shield-plus::before { content: map-get($bootstrap-icons-map, "shield-plus"); } +.bi-shield-shaded::before { content: map-get($bootstrap-icons-map, "shield-shaded"); } +.bi-shield-slash-fill::before { content: map-get($bootstrap-icons-map, "shield-slash-fill"); } +.bi-shield-slash::before { content: map-get($bootstrap-icons-map, "shield-slash"); } +.bi-shield-x::before { content: map-get($bootstrap-icons-map, "shield-x"); } +.bi-shield::before { content: map-get($bootstrap-icons-map, "shield"); } +.bi-shift-fill::before { content: map-get($bootstrap-icons-map, "shift-fill"); } +.bi-shift::before { content: map-get($bootstrap-icons-map, "shift"); } +.bi-shop-window::before { content: map-get($bootstrap-icons-map, "shop-window"); } +.bi-shop::before { content: map-get($bootstrap-icons-map, "shop"); } +.bi-shuffle::before { content: map-get($bootstrap-icons-map, "shuffle"); } +.bi-signpost-2-fill::before { content: map-get($bootstrap-icons-map, "signpost-2-fill"); } +.bi-signpost-2::before { content: map-get($bootstrap-icons-map, "signpost-2"); } +.bi-signpost-fill::before { content: map-get($bootstrap-icons-map, "signpost-fill"); } +.bi-signpost-split-fill::before { content: map-get($bootstrap-icons-map, "signpost-split-fill"); } +.bi-signpost-split::before { content: map-get($bootstrap-icons-map, "signpost-split"); } +.bi-signpost::before { content: map-get($bootstrap-icons-map, "signpost"); } +.bi-sim-fill::before { content: map-get($bootstrap-icons-map, "sim-fill"); } +.bi-sim::before { content: map-get($bootstrap-icons-map, "sim"); } +.bi-skip-backward-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-btn-fill"); } +.bi-skip-backward-btn::before { content: map-get($bootstrap-icons-map, "skip-backward-btn"); } +.bi-skip-backward-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-circle-fill"); } +.bi-skip-backward-circle::before { content: map-get($bootstrap-icons-map, "skip-backward-circle"); } +.bi-skip-backward-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-fill"); } +.bi-skip-backward::before { content: map-get($bootstrap-icons-map, "skip-backward"); } +.bi-skip-end-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-end-btn-fill"); } +.bi-skip-end-btn::before { content: map-get($bootstrap-icons-map, "skip-end-btn"); } +.bi-skip-end-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-end-circle-fill"); } +.bi-skip-end-circle::before { content: map-get($bootstrap-icons-map, "skip-end-circle"); } +.bi-skip-end-fill::before { content: map-get($bootstrap-icons-map, "skip-end-fill"); } +.bi-skip-end::before { content: map-get($bootstrap-icons-map, "skip-end"); } +.bi-skip-forward-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-btn-fill"); } +.bi-skip-forward-btn::before { content: map-get($bootstrap-icons-map, "skip-forward-btn"); } +.bi-skip-forward-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-circle-fill"); } +.bi-skip-forward-circle::before { content: map-get($bootstrap-icons-map, "skip-forward-circle"); } +.bi-skip-forward-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-fill"); } +.bi-skip-forward::before { content: map-get($bootstrap-icons-map, "skip-forward"); } +.bi-skip-start-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-start-btn-fill"); } +.bi-skip-start-btn::before { content: map-get($bootstrap-icons-map, "skip-start-btn"); } +.bi-skip-start-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-start-circle-fill"); } +.bi-skip-start-circle::before { content: map-get($bootstrap-icons-map, "skip-start-circle"); } +.bi-skip-start-fill::before { content: map-get($bootstrap-icons-map, "skip-start-fill"); } +.bi-skip-start::before { content: map-get($bootstrap-icons-map, "skip-start"); } +.bi-slack::before { content: map-get($bootstrap-icons-map, "slack"); } +.bi-slash-circle-fill::before { content: map-get($bootstrap-icons-map, "slash-circle-fill"); } +.bi-slash-circle::before { content: map-get($bootstrap-icons-map, "slash-circle"); } +.bi-slash-square-fill::before { content: map-get($bootstrap-icons-map, "slash-square-fill"); } +.bi-slash-square::before { content: map-get($bootstrap-icons-map, "slash-square"); } +.bi-slash::before { content: map-get($bootstrap-icons-map, "slash"); } +.bi-sliders::before { content: map-get($bootstrap-icons-map, "sliders"); } +.bi-smartwatch::before { content: map-get($bootstrap-icons-map, "smartwatch"); } +.bi-snow::before { content: map-get($bootstrap-icons-map, "snow"); } +.bi-snow2::before { content: map-get($bootstrap-icons-map, "snow2"); } +.bi-snow3::before { content: map-get($bootstrap-icons-map, "snow3"); } +.bi-sort-alpha-down-alt::before { content: map-get($bootstrap-icons-map, "sort-alpha-down-alt"); } +.bi-sort-alpha-down::before { content: map-get($bootstrap-icons-map, "sort-alpha-down"); } +.bi-sort-alpha-up-alt::before { content: map-get($bootstrap-icons-map, "sort-alpha-up-alt"); } +.bi-sort-alpha-up::before { content: map-get($bootstrap-icons-map, "sort-alpha-up"); } +.bi-sort-down-alt::before { content: map-get($bootstrap-icons-map, "sort-down-alt"); } +.bi-sort-down::before { content: map-get($bootstrap-icons-map, "sort-down"); } +.bi-sort-numeric-down-alt::before { content: map-get($bootstrap-icons-map, "sort-numeric-down-alt"); } +.bi-sort-numeric-down::before { content: map-get($bootstrap-icons-map, "sort-numeric-down"); } +.bi-sort-numeric-up-alt::before { content: map-get($bootstrap-icons-map, "sort-numeric-up-alt"); } +.bi-sort-numeric-up::before { content: map-get($bootstrap-icons-map, "sort-numeric-up"); } +.bi-sort-up-alt::before { content: map-get($bootstrap-icons-map, "sort-up-alt"); } +.bi-sort-up::before { content: map-get($bootstrap-icons-map, "sort-up"); } +.bi-soundwave::before { content: map-get($bootstrap-icons-map, "soundwave"); } +.bi-speaker-fill::before { content: map-get($bootstrap-icons-map, "speaker-fill"); } +.bi-speaker::before { content: map-get($bootstrap-icons-map, "speaker"); } +.bi-speedometer::before { content: map-get($bootstrap-icons-map, "speedometer"); } +.bi-speedometer2::before { content: map-get($bootstrap-icons-map, "speedometer2"); } +.bi-spellcheck::before { content: map-get($bootstrap-icons-map, "spellcheck"); } +.bi-square-fill::before { content: map-get($bootstrap-icons-map, "square-fill"); } +.bi-square-half::before { content: map-get($bootstrap-icons-map, "square-half"); } +.bi-square::before { content: map-get($bootstrap-icons-map, "square"); } +.bi-stack::before { content: map-get($bootstrap-icons-map, "stack"); } +.bi-star-fill::before { content: map-get($bootstrap-icons-map, "star-fill"); } +.bi-star-half::before { content: map-get($bootstrap-icons-map, "star-half"); } +.bi-star::before { content: map-get($bootstrap-icons-map, "star"); } +.bi-stars::before { content: map-get($bootstrap-icons-map, "stars"); } +.bi-stickies-fill::before { content: map-get($bootstrap-icons-map, "stickies-fill"); } +.bi-stickies::before { content: map-get($bootstrap-icons-map, "stickies"); } +.bi-sticky-fill::before { content: map-get($bootstrap-icons-map, "sticky-fill"); } +.bi-sticky::before { content: map-get($bootstrap-icons-map, "sticky"); } +.bi-stop-btn-fill::before { content: map-get($bootstrap-icons-map, "stop-btn-fill"); } +.bi-stop-btn::before { content: map-get($bootstrap-icons-map, "stop-btn"); } +.bi-stop-circle-fill::before { content: map-get($bootstrap-icons-map, "stop-circle-fill"); } +.bi-stop-circle::before { content: map-get($bootstrap-icons-map, "stop-circle"); } +.bi-stop-fill::before { content: map-get($bootstrap-icons-map, "stop-fill"); } +.bi-stop::before { content: map-get($bootstrap-icons-map, "stop"); } +.bi-stoplights-fill::before { content: map-get($bootstrap-icons-map, "stoplights-fill"); } +.bi-stoplights::before { content: map-get($bootstrap-icons-map, "stoplights"); } +.bi-stopwatch-fill::before { content: map-get($bootstrap-icons-map, "stopwatch-fill"); } +.bi-stopwatch::before { content: map-get($bootstrap-icons-map, "stopwatch"); } +.bi-subtract::before { content: map-get($bootstrap-icons-map, "subtract"); } +.bi-suit-club-fill::before { content: map-get($bootstrap-icons-map, "suit-club-fill"); } +.bi-suit-club::before { content: map-get($bootstrap-icons-map, "suit-club"); } +.bi-suit-diamond-fill::before { content: map-get($bootstrap-icons-map, "suit-diamond-fill"); } +.bi-suit-diamond::before { content: map-get($bootstrap-icons-map, "suit-diamond"); } +.bi-suit-heart-fill::before { content: map-get($bootstrap-icons-map, "suit-heart-fill"); } +.bi-suit-heart::before { content: map-get($bootstrap-icons-map, "suit-heart"); } +.bi-suit-spade-fill::before { content: map-get($bootstrap-icons-map, "suit-spade-fill"); } +.bi-suit-spade::before { content: map-get($bootstrap-icons-map, "suit-spade"); } +.bi-sun-fill::before { content: map-get($bootstrap-icons-map, "sun-fill"); } +.bi-sun::before { content: map-get($bootstrap-icons-map, "sun"); } +.bi-sunglasses::before { content: map-get($bootstrap-icons-map, "sunglasses"); } +.bi-sunrise-fill::before { content: map-get($bootstrap-icons-map, "sunrise-fill"); } +.bi-sunrise::before { content: map-get($bootstrap-icons-map, "sunrise"); } +.bi-sunset-fill::before { content: map-get($bootstrap-icons-map, "sunset-fill"); } +.bi-sunset::before { content: map-get($bootstrap-icons-map, "sunset"); } +.bi-symmetry-horizontal::before { content: map-get($bootstrap-icons-map, "symmetry-horizontal"); } +.bi-symmetry-vertical::before { content: map-get($bootstrap-icons-map, "symmetry-vertical"); } +.bi-table::before { content: map-get($bootstrap-icons-map, "table"); } +.bi-tablet-fill::before { content: map-get($bootstrap-icons-map, "tablet-fill"); } +.bi-tablet-landscape-fill::before { content: map-get($bootstrap-icons-map, "tablet-landscape-fill"); } +.bi-tablet-landscape::before { content: map-get($bootstrap-icons-map, "tablet-landscape"); } +.bi-tablet::before { content: map-get($bootstrap-icons-map, "tablet"); } +.bi-tag-fill::before { content: map-get($bootstrap-icons-map, "tag-fill"); } +.bi-tag::before { content: map-get($bootstrap-icons-map, "tag"); } +.bi-tags-fill::before { content: map-get($bootstrap-icons-map, "tags-fill"); } +.bi-tags::before { content: map-get($bootstrap-icons-map, "tags"); } +.bi-telegram::before { content: map-get($bootstrap-icons-map, "telegram"); } +.bi-telephone-fill::before { content: map-get($bootstrap-icons-map, "telephone-fill"); } +.bi-telephone-forward-fill::before { content: map-get($bootstrap-icons-map, "telephone-forward-fill"); } +.bi-telephone-forward::before { content: map-get($bootstrap-icons-map, "telephone-forward"); } +.bi-telephone-inbound-fill::before { content: map-get($bootstrap-icons-map, "telephone-inbound-fill"); } +.bi-telephone-inbound::before { content: map-get($bootstrap-icons-map, "telephone-inbound"); } +.bi-telephone-minus-fill::before { content: map-get($bootstrap-icons-map, "telephone-minus-fill"); } +.bi-telephone-minus::before { content: map-get($bootstrap-icons-map, "telephone-minus"); } +.bi-telephone-outbound-fill::before { content: map-get($bootstrap-icons-map, "telephone-outbound-fill"); } +.bi-telephone-outbound::before { content: map-get($bootstrap-icons-map, "telephone-outbound"); } +.bi-telephone-plus-fill::before { content: map-get($bootstrap-icons-map, "telephone-plus-fill"); } +.bi-telephone-plus::before { content: map-get($bootstrap-icons-map, "telephone-plus"); } +.bi-telephone-x-fill::before { content: map-get($bootstrap-icons-map, "telephone-x-fill"); } +.bi-telephone-x::before { content: map-get($bootstrap-icons-map, "telephone-x"); } +.bi-telephone::before { content: map-get($bootstrap-icons-map, "telephone"); } +.bi-terminal-fill::before { content: map-get($bootstrap-icons-map, "terminal-fill"); } +.bi-terminal::before { content: map-get($bootstrap-icons-map, "terminal"); } +.bi-text-center::before { content: map-get($bootstrap-icons-map, "text-center"); } +.bi-text-indent-left::before { content: map-get($bootstrap-icons-map, "text-indent-left"); } +.bi-text-indent-right::before { content: map-get($bootstrap-icons-map, "text-indent-right"); } +.bi-text-left::before { content: map-get($bootstrap-icons-map, "text-left"); } +.bi-text-paragraph::before { content: map-get($bootstrap-icons-map, "text-paragraph"); } +.bi-text-right::before { content: map-get($bootstrap-icons-map, "text-right"); } +.bi-textarea-resize::before { content: map-get($bootstrap-icons-map, "textarea-resize"); } +.bi-textarea-t::before { content: map-get($bootstrap-icons-map, "textarea-t"); } +.bi-textarea::before { content: map-get($bootstrap-icons-map, "textarea"); } +.bi-thermometer-half::before { content: map-get($bootstrap-icons-map, "thermometer-half"); } +.bi-thermometer-high::before { content: map-get($bootstrap-icons-map, "thermometer-high"); } +.bi-thermometer-low::before { content: map-get($bootstrap-icons-map, "thermometer-low"); } +.bi-thermometer-snow::before { content: map-get($bootstrap-icons-map, "thermometer-snow"); } +.bi-thermometer-sun::before { content: map-get($bootstrap-icons-map, "thermometer-sun"); } +.bi-thermometer::before { content: map-get($bootstrap-icons-map, "thermometer"); } +.bi-three-dots-vertical::before { content: map-get($bootstrap-icons-map, "three-dots-vertical"); } +.bi-three-dots::before { content: map-get($bootstrap-icons-map, "three-dots"); } +.bi-toggle-off::before { content: map-get($bootstrap-icons-map, "toggle-off"); } +.bi-toggle-on::before { content: map-get($bootstrap-icons-map, "toggle-on"); } +.bi-toggle2-off::before { content: map-get($bootstrap-icons-map, "toggle2-off"); } +.bi-toggle2-on::before { content: map-get($bootstrap-icons-map, "toggle2-on"); } +.bi-toggles::before { content: map-get($bootstrap-icons-map, "toggles"); } +.bi-toggles2::before { content: map-get($bootstrap-icons-map, "toggles2"); } +.bi-tools::before { content: map-get($bootstrap-icons-map, "tools"); } +.bi-tornado::before { content: map-get($bootstrap-icons-map, "tornado"); } +.bi-trash-fill::before { content: map-get($bootstrap-icons-map, "trash-fill"); } +.bi-trash::before { content: map-get($bootstrap-icons-map, "trash"); } +.bi-trash2-fill::before { content: map-get($bootstrap-icons-map, "trash2-fill"); } +.bi-trash2::before { content: map-get($bootstrap-icons-map, "trash2"); } +.bi-tree-fill::before { content: map-get($bootstrap-icons-map, "tree-fill"); } +.bi-tree::before { content: map-get($bootstrap-icons-map, "tree"); } +.bi-triangle-fill::before { content: map-get($bootstrap-icons-map, "triangle-fill"); } +.bi-triangle-half::before { content: map-get($bootstrap-icons-map, "triangle-half"); } +.bi-triangle::before { content: map-get($bootstrap-icons-map, "triangle"); } +.bi-trophy-fill::before { content: map-get($bootstrap-icons-map, "trophy-fill"); } +.bi-trophy::before { content: map-get($bootstrap-icons-map, "trophy"); } +.bi-tropical-storm::before { content: map-get($bootstrap-icons-map, "tropical-storm"); } +.bi-truck-flatbed::before { content: map-get($bootstrap-icons-map, "truck-flatbed"); } +.bi-truck::before { content: map-get($bootstrap-icons-map, "truck"); } +.bi-tsunami::before { content: map-get($bootstrap-icons-map, "tsunami"); } +.bi-tv-fill::before { content: map-get($bootstrap-icons-map, "tv-fill"); } +.bi-tv::before { content: map-get($bootstrap-icons-map, "tv"); } +.bi-twitch::before { content: map-get($bootstrap-icons-map, "twitch"); } +.bi-twitter::before { content: map-get($bootstrap-icons-map, "twitter"); } +.bi-type-bold::before { content: map-get($bootstrap-icons-map, "type-bold"); } +.bi-type-h1::before { content: map-get($bootstrap-icons-map, "type-h1"); } +.bi-type-h2::before { content: map-get($bootstrap-icons-map, "type-h2"); } +.bi-type-h3::before { content: map-get($bootstrap-icons-map, "type-h3"); } +.bi-type-italic::before { content: map-get($bootstrap-icons-map, "type-italic"); } +.bi-type-strikethrough::before { content: map-get($bootstrap-icons-map, "type-strikethrough"); } +.bi-type-underline::before { content: map-get($bootstrap-icons-map, "type-underline"); } +.bi-type::before { content: map-get($bootstrap-icons-map, "type"); } +.bi-ui-checks-grid::before { content: map-get($bootstrap-icons-map, "ui-checks-grid"); } +.bi-ui-checks::before { content: map-get($bootstrap-icons-map, "ui-checks"); } +.bi-ui-radios-grid::before { content: map-get($bootstrap-icons-map, "ui-radios-grid"); } +.bi-ui-radios::before { content: map-get($bootstrap-icons-map, "ui-radios"); } +.bi-umbrella-fill::before { content: map-get($bootstrap-icons-map, "umbrella-fill"); } +.bi-umbrella::before { content: map-get($bootstrap-icons-map, "umbrella"); } +.bi-union::before { content: map-get($bootstrap-icons-map, "union"); } +.bi-unlock-fill::before { content: map-get($bootstrap-icons-map, "unlock-fill"); } +.bi-unlock::before { content: map-get($bootstrap-icons-map, "unlock"); } +.bi-upc-scan::before { content: map-get($bootstrap-icons-map, "upc-scan"); } +.bi-upc::before { content: map-get($bootstrap-icons-map, "upc"); } +.bi-upload::before { content: map-get($bootstrap-icons-map, "upload"); } +.bi-vector-pen::before { content: map-get($bootstrap-icons-map, "vector-pen"); } +.bi-view-list::before { content: map-get($bootstrap-icons-map, "view-list"); } +.bi-view-stacked::before { content: map-get($bootstrap-icons-map, "view-stacked"); } +.bi-vinyl-fill::before { content: map-get($bootstrap-icons-map, "vinyl-fill"); } +.bi-vinyl::before { content: map-get($bootstrap-icons-map, "vinyl"); } +.bi-voicemail::before { content: map-get($bootstrap-icons-map, "voicemail"); } +.bi-volume-down-fill::before { content: map-get($bootstrap-icons-map, "volume-down-fill"); } +.bi-volume-down::before { content: map-get($bootstrap-icons-map, "volume-down"); } +.bi-volume-mute-fill::before { content: map-get($bootstrap-icons-map, "volume-mute-fill"); } +.bi-volume-mute::before { content: map-get($bootstrap-icons-map, "volume-mute"); } +.bi-volume-off-fill::before { content: map-get($bootstrap-icons-map, "volume-off-fill"); } +.bi-volume-off::before { content: map-get($bootstrap-icons-map, "volume-off"); } +.bi-volume-up-fill::before { content: map-get($bootstrap-icons-map, "volume-up-fill"); } +.bi-volume-up::before { content: map-get($bootstrap-icons-map, "volume-up"); } +.bi-vr::before { content: map-get($bootstrap-icons-map, "vr"); } +.bi-wallet-fill::before { content: map-get($bootstrap-icons-map, "wallet-fill"); } +.bi-wallet::before { content: map-get($bootstrap-icons-map, "wallet"); } +.bi-wallet2::before { content: map-get($bootstrap-icons-map, "wallet2"); } +.bi-watch::before { content: map-get($bootstrap-icons-map, "watch"); } +.bi-water::before { content: map-get($bootstrap-icons-map, "water"); } +.bi-whatsapp::before { content: map-get($bootstrap-icons-map, "whatsapp"); } +.bi-wifi-1::before { content: map-get($bootstrap-icons-map, "wifi-1"); } +.bi-wifi-2::before { content: map-get($bootstrap-icons-map, "wifi-2"); } +.bi-wifi-off::before { content: map-get($bootstrap-icons-map, "wifi-off"); } +.bi-wifi::before { content: map-get($bootstrap-icons-map, "wifi"); } +.bi-wind::before { content: map-get($bootstrap-icons-map, "wind"); } +.bi-window-dock::before { content: map-get($bootstrap-icons-map, "window-dock"); } +.bi-window-sidebar::before { content: map-get($bootstrap-icons-map, "window-sidebar"); } +.bi-window::before { content: map-get($bootstrap-icons-map, "window"); } +.bi-wrench::before { content: map-get($bootstrap-icons-map, "wrench"); } +.bi-x-circle-fill::before { content: map-get($bootstrap-icons-map, "x-circle-fill"); } +.bi-x-circle::before { content: map-get($bootstrap-icons-map, "x-circle"); } +.bi-x-diamond-fill::before { content: map-get($bootstrap-icons-map, "x-diamond-fill"); } +.bi-x-diamond::before { content: map-get($bootstrap-icons-map, "x-diamond"); } +.bi-x-octagon-fill::before { content: map-get($bootstrap-icons-map, "x-octagon-fill"); } +.bi-x-octagon::before { content: map-get($bootstrap-icons-map, "x-octagon"); } +.bi-x-square-fill::before { content: map-get($bootstrap-icons-map, "x-square-fill"); } +.bi-x-square::before { content: map-get($bootstrap-icons-map, "x-square"); } +.bi-x::before { content: map-get($bootstrap-icons-map, "x"); } +.bi-youtube::before { content: map-get($bootstrap-icons-map, "youtube"); } +.bi-zoom-in::before { content: map-get($bootstrap-icons-map, "zoom-in"); } +.bi-zoom-out::before { content: map-get($bootstrap-icons-map, "zoom-out"); } +.bi-bank::before { content: map-get($bootstrap-icons-map, "bank"); } +.bi-bank2::before { content: map-get($bootstrap-icons-map, "bank2"); } +.bi-bell-slash-fill::before { content: map-get($bootstrap-icons-map, "bell-slash-fill"); } +.bi-bell-slash::before { content: map-get($bootstrap-icons-map, "bell-slash"); } +.bi-cash-coin::before { content: map-get($bootstrap-icons-map, "cash-coin"); } +.bi-check-lg::before { content: map-get($bootstrap-icons-map, "check-lg"); } +.bi-coin::before { content: map-get($bootstrap-icons-map, "coin"); } +.bi-currency-bitcoin::before { content: map-get($bootstrap-icons-map, "currency-bitcoin"); } +.bi-currency-dollar::before { content: map-get($bootstrap-icons-map, "currency-dollar"); } +.bi-currency-euro::before { content: map-get($bootstrap-icons-map, "currency-euro"); } +.bi-currency-exchange::before { content: map-get($bootstrap-icons-map, "currency-exchange"); } +.bi-currency-pound::before { content: map-get($bootstrap-icons-map, "currency-pound"); } +.bi-currency-yen::before { content: map-get($bootstrap-icons-map, "currency-yen"); } +.bi-dash-lg::before { content: map-get($bootstrap-icons-map, "dash-lg"); } +.bi-exclamation-lg::before { content: map-get($bootstrap-icons-map, "exclamation-lg"); } +.bi-file-earmark-pdf-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-pdf-fill"); } +.bi-file-earmark-pdf::before { content: map-get($bootstrap-icons-map, "file-earmark-pdf"); } +.bi-file-pdf-fill::before { content: map-get($bootstrap-icons-map, "file-pdf-fill"); } +.bi-file-pdf::before { content: map-get($bootstrap-icons-map, "file-pdf"); } +.bi-gender-ambiguous::before { content: map-get($bootstrap-icons-map, "gender-ambiguous"); } +.bi-gender-female::before { content: map-get($bootstrap-icons-map, "gender-female"); } +.bi-gender-male::before { content: map-get($bootstrap-icons-map, "gender-male"); } +.bi-gender-trans::before { content: map-get($bootstrap-icons-map, "gender-trans"); } +.bi-headset-vr::before { content: map-get($bootstrap-icons-map, "headset-vr"); } +.bi-info-lg::before { content: map-get($bootstrap-icons-map, "info-lg"); } +.bi-mastodon::before { content: map-get($bootstrap-icons-map, "mastodon"); } +.bi-messenger::before { content: map-get($bootstrap-icons-map, "messenger"); } +.bi-piggy-bank-fill::before { content: map-get($bootstrap-icons-map, "piggy-bank-fill"); } +.bi-piggy-bank::before { content: map-get($bootstrap-icons-map, "piggy-bank"); } +.bi-pin-map-fill::before { content: map-get($bootstrap-icons-map, "pin-map-fill"); } +.bi-pin-map::before { content: map-get($bootstrap-icons-map, "pin-map"); } +.bi-plus-lg::before { content: map-get($bootstrap-icons-map, "plus-lg"); } +.bi-question-lg::before { content: map-get($bootstrap-icons-map, "question-lg"); } +.bi-recycle::before { content: map-get($bootstrap-icons-map, "recycle"); } +.bi-reddit::before { content: map-get($bootstrap-icons-map, "reddit"); } +.bi-safe-fill::before { content: map-get($bootstrap-icons-map, "safe-fill"); } +.bi-safe2-fill::before { content: map-get($bootstrap-icons-map, "safe2-fill"); } +.bi-safe2::before { content: map-get($bootstrap-icons-map, "safe2"); } +.bi-sd-card-fill::before { content: map-get($bootstrap-icons-map, "sd-card-fill"); } +.bi-sd-card::before { content: map-get($bootstrap-icons-map, "sd-card"); } +.bi-skype::before { content: map-get($bootstrap-icons-map, "skype"); } +.bi-slash-lg::before { content: map-get($bootstrap-icons-map, "slash-lg"); } +.bi-translate::before { content: map-get($bootstrap-icons-map, "translate"); } +.bi-x-lg::before { content: map-get($bootstrap-icons-map, "x-lg"); } +.bi-safe::before { content: map-get($bootstrap-icons-map, "safe"); } +.bi-apple::before { content: map-get($bootstrap-icons-map, "apple"); } +.bi-microsoft::before { content: map-get($bootstrap-icons-map, "microsoft"); } +.bi-windows::before { content: map-get($bootstrap-icons-map, "windows"); } +.bi-behance::before { content: map-get($bootstrap-icons-map, "behance"); } +.bi-dribbble::before { content: map-get($bootstrap-icons-map, "dribbble"); } +.bi-line::before { content: map-get($bootstrap-icons-map, "line"); } +.bi-medium::before { content: map-get($bootstrap-icons-map, "medium"); } +.bi-paypal::before { content: map-get($bootstrap-icons-map, "paypal"); } +.bi-pinterest::before { content: map-get($bootstrap-icons-map, "pinterest"); } +.bi-signal::before { content: map-get($bootstrap-icons-map, "signal"); } +.bi-snapchat::before { content: map-get($bootstrap-icons-map, "snapchat"); } +.bi-spotify::before { content: map-get($bootstrap-icons-map, "spotify"); } +.bi-stack-overflow::before { content: map-get($bootstrap-icons-map, "stack-overflow"); } +.bi-strava::before { content: map-get($bootstrap-icons-map, "strava"); } +.bi-wordpress::before { content: map-get($bootstrap-icons-map, "wordpress"); } +.bi-vimeo::before { content: map-get($bootstrap-icons-map, "vimeo"); } +.bi-activity::before { content: map-get($bootstrap-icons-map, "activity"); } +.bi-easel2-fill::before { content: map-get($bootstrap-icons-map, "easel2-fill"); } +.bi-easel2::before { content: map-get($bootstrap-icons-map, "easel2"); } +.bi-easel3-fill::before { content: map-get($bootstrap-icons-map, "easel3-fill"); } +.bi-easel3::before { content: map-get($bootstrap-icons-map, "easel3"); } +.bi-fan::before { content: map-get($bootstrap-icons-map, "fan"); } +.bi-fingerprint::before { content: map-get($bootstrap-icons-map, "fingerprint"); } +.bi-graph-down-arrow::before { content: map-get($bootstrap-icons-map, "graph-down-arrow"); } +.bi-graph-up-arrow::before { content: map-get($bootstrap-icons-map, "graph-up-arrow"); } +.bi-hypnotize::before { content: map-get($bootstrap-icons-map, "hypnotize"); } +.bi-magic::before { content: map-get($bootstrap-icons-map, "magic"); } +.bi-person-rolodex::before { content: map-get($bootstrap-icons-map, "person-rolodex"); } +.bi-person-video::before { content: map-get($bootstrap-icons-map, "person-video"); } +.bi-person-video2::before { content: map-get($bootstrap-icons-map, "person-video2"); } +.bi-person-video3::before { content: map-get($bootstrap-icons-map, "person-video3"); } +.bi-person-workspace::before { content: map-get($bootstrap-icons-map, "person-workspace"); } +.bi-radioactive::before { content: map-get($bootstrap-icons-map, "radioactive"); } +.bi-webcam-fill::before { content: map-get($bootstrap-icons-map, "webcam-fill"); } +.bi-webcam::before { content: map-get($bootstrap-icons-map, "webcam"); } +.bi-yin-yang::before { content: map-get($bootstrap-icons-map, "yin-yang"); } +.bi-bandaid-fill::before { content: map-get($bootstrap-icons-map, "bandaid-fill"); } +.bi-bandaid::before { content: map-get($bootstrap-icons-map, "bandaid"); } +.bi-bluetooth::before { content: map-get($bootstrap-icons-map, "bluetooth"); } +.bi-body-text::before { content: map-get($bootstrap-icons-map, "body-text"); } +.bi-boombox::before { content: map-get($bootstrap-icons-map, "boombox"); } +.bi-boxes::before { content: map-get($bootstrap-icons-map, "boxes"); } +.bi-dpad-fill::before { content: map-get($bootstrap-icons-map, "dpad-fill"); } +.bi-dpad::before { content: map-get($bootstrap-icons-map, "dpad"); } +.bi-ear-fill::before { content: map-get($bootstrap-icons-map, "ear-fill"); } +.bi-ear::before { content: map-get($bootstrap-icons-map, "ear"); } +.bi-envelope-check-1::before { content: map-get($bootstrap-icons-map, "envelope-check-1"); } +.bi-envelope-check-fill::before { content: map-get($bootstrap-icons-map, "envelope-check-fill"); } +.bi-envelope-check::before { content: map-get($bootstrap-icons-map, "envelope-check"); } +.bi-envelope-dash-1::before { content: map-get($bootstrap-icons-map, "envelope-dash-1"); } +.bi-envelope-dash-fill::before { content: map-get($bootstrap-icons-map, "envelope-dash-fill"); } +.bi-envelope-dash::before { content: map-get($bootstrap-icons-map, "envelope-dash"); } +.bi-envelope-exclamation-1::before { content: map-get($bootstrap-icons-map, "envelope-exclamation-1"); } +.bi-envelope-exclamation-fill::before { content: map-get($bootstrap-icons-map, "envelope-exclamation-fill"); } +.bi-envelope-exclamation::before { content: map-get($bootstrap-icons-map, "envelope-exclamation"); } +.bi-envelope-plus-fill::before { content: map-get($bootstrap-icons-map, "envelope-plus-fill"); } +.bi-envelope-plus::before { content: map-get($bootstrap-icons-map, "envelope-plus"); } +.bi-envelope-slash-1::before { content: map-get($bootstrap-icons-map, "envelope-slash-1"); } +.bi-envelope-slash-fill::before { content: map-get($bootstrap-icons-map, "envelope-slash-fill"); } +.bi-envelope-slash::before { content: map-get($bootstrap-icons-map, "envelope-slash"); } +.bi-envelope-x-1::before { content: map-get($bootstrap-icons-map, "envelope-x-1"); } +.bi-envelope-x-fill::before { content: map-get($bootstrap-icons-map, "envelope-x-fill"); } +.bi-envelope-x::before { content: map-get($bootstrap-icons-map, "envelope-x"); } +.bi-explicit-fill::before { content: map-get($bootstrap-icons-map, "explicit-fill"); } +.bi-explicit::before { content: map-get($bootstrap-icons-map, "explicit"); } +.bi-git::before { content: map-get($bootstrap-icons-map, "git"); } +.bi-infinity::before { content: map-get($bootstrap-icons-map, "infinity"); } +.bi-list-columns-reverse::before { content: map-get($bootstrap-icons-map, "list-columns-reverse"); } +.bi-list-columns::before { content: map-get($bootstrap-icons-map, "list-columns"); } +.bi-meta::before { content: map-get($bootstrap-icons-map, "meta"); } +.bi-mortorboard-fill::before { content: map-get($bootstrap-icons-map, "mortorboard-fill"); } +.bi-mortorboard::before { content: map-get($bootstrap-icons-map, "mortorboard"); } +.bi-nintendo-switch::before { content: map-get($bootstrap-icons-map, "nintendo-switch"); } +.bi-pc-display-horizontal::before { content: map-get($bootstrap-icons-map, "pc-display-horizontal"); } +.bi-pc-display::before { content: map-get($bootstrap-icons-map, "pc-display"); } +.bi-pc-horizontal::before { content: map-get($bootstrap-icons-map, "pc-horizontal"); } +.bi-pc::before { content: map-get($bootstrap-icons-map, "pc"); } +.bi-playstation::before { content: map-get($bootstrap-icons-map, "playstation"); } +.bi-plus-slash-minus::before { content: map-get($bootstrap-icons-map, "plus-slash-minus"); } +.bi-projector-fill::before { content: map-get($bootstrap-icons-map, "projector-fill"); } +.bi-projector::before { content: map-get($bootstrap-icons-map, "projector"); } +.bi-qr-code-scan::before { content: map-get($bootstrap-icons-map, "qr-code-scan"); } +.bi-qr-code::before { content: map-get($bootstrap-icons-map, "qr-code"); } +.bi-quora::before { content: map-get($bootstrap-icons-map, "quora"); } +.bi-quote::before { content: map-get($bootstrap-icons-map, "quote"); } +.bi-robot::before { content: map-get($bootstrap-icons-map, "robot"); } +.bi-send-check-fill::before { content: map-get($bootstrap-icons-map, "send-check-fill"); } +.bi-send-check::before { content: map-get($bootstrap-icons-map, "send-check"); } +.bi-send-dash-fill::before { content: map-get($bootstrap-icons-map, "send-dash-fill"); } +.bi-send-dash::before { content: map-get($bootstrap-icons-map, "send-dash"); } +.bi-send-exclamation-1::before { content: map-get($bootstrap-icons-map, "send-exclamation-1"); } +.bi-send-exclamation-fill::before { content: map-get($bootstrap-icons-map, "send-exclamation-fill"); } +.bi-send-exclamation::before { content: map-get($bootstrap-icons-map, "send-exclamation"); } +.bi-send-fill::before { content: map-get($bootstrap-icons-map, "send-fill"); } +.bi-send-plus-fill::before { content: map-get($bootstrap-icons-map, "send-plus-fill"); } +.bi-send-plus::before { content: map-get($bootstrap-icons-map, "send-plus"); } +.bi-send-slash-fill::before { content: map-get($bootstrap-icons-map, "send-slash-fill"); } +.bi-send-slash::before { content: map-get($bootstrap-icons-map, "send-slash"); } +.bi-send-x-fill::before { content: map-get($bootstrap-icons-map, "send-x-fill"); } +.bi-send-x::before { content: map-get($bootstrap-icons-map, "send-x"); } +.bi-send::before { content: map-get($bootstrap-icons-map, "send"); } +.bi-steam::before { content: map-get($bootstrap-icons-map, "steam"); } +.bi-terminal-dash-1::before { content: map-get($bootstrap-icons-map, "terminal-dash-1"); } +.bi-terminal-dash::before { content: map-get($bootstrap-icons-map, "terminal-dash"); } +.bi-terminal-plus::before { content: map-get($bootstrap-icons-map, "terminal-plus"); } +.bi-terminal-split::before { content: map-get($bootstrap-icons-map, "terminal-split"); } +.bi-ticket-detailed-fill::before { content: map-get($bootstrap-icons-map, "ticket-detailed-fill"); } +.bi-ticket-detailed::before { content: map-get($bootstrap-icons-map, "ticket-detailed"); } +.bi-ticket-fill::before { content: map-get($bootstrap-icons-map, "ticket-fill"); } +.bi-ticket-perforated-fill::before { content: map-get($bootstrap-icons-map, "ticket-perforated-fill"); } +.bi-ticket-perforated::before { content: map-get($bootstrap-icons-map, "ticket-perforated"); } +.bi-ticket::before { content: map-get($bootstrap-icons-map, "ticket"); } +.bi-tiktok::before { content: map-get($bootstrap-icons-map, "tiktok"); } +.bi-window-dash::before { content: map-get($bootstrap-icons-map, "window-dash"); } +.bi-window-desktop::before { content: map-get($bootstrap-icons-map, "window-desktop"); } +.bi-window-fullscreen::before { content: map-get($bootstrap-icons-map, "window-fullscreen"); } +.bi-window-plus::before { content: map-get($bootstrap-icons-map, "window-plus"); } +.bi-window-split::before { content: map-get($bootstrap-icons-map, "window-split"); } +.bi-window-stack::before { content: map-get($bootstrap-icons-map, "window-stack"); } +.bi-window-x::before { content: map-get($bootstrap-icons-map, "window-x"); } +.bi-xbox::before { content: map-get($bootstrap-icons-map, "xbox"); } +.bi-ethernet::before { content: map-get($bootstrap-icons-map, "ethernet"); } +.bi-hdmi-fill::before { content: map-get($bootstrap-icons-map, "hdmi-fill"); } +.bi-hdmi::before { content: map-get($bootstrap-icons-map, "hdmi"); } +.bi-usb-c-fill::before { content: map-get($bootstrap-icons-map, "usb-c-fill"); } +.bi-usb-c::before { content: map-get($bootstrap-icons-map, "usb-c"); } +.bi-usb-fill::before { content: map-get($bootstrap-icons-map, "usb-fill"); } +.bi-usb-plug-fill::before { content: map-get($bootstrap-icons-map, "usb-plug-fill"); } +.bi-usb-plug::before { content: map-get($bootstrap-icons-map, "usb-plug"); } +.bi-usb-symbol::before { content: map-get($bootstrap-icons-map, "usb-symbol"); } +.bi-usb::before { content: map-get($bootstrap-icons-map, "usb"); } +.bi-boombox-fill::before { content: map-get($bootstrap-icons-map, "boombox-fill"); } +.bi-displayport-1::before { content: map-get($bootstrap-icons-map, "displayport-1"); } +.bi-displayport::before { content: map-get($bootstrap-icons-map, "displayport"); } +.bi-gpu-card::before { content: map-get($bootstrap-icons-map, "gpu-card"); } +.bi-memory::before { content: map-get($bootstrap-icons-map, "memory"); } +.bi-modem-fill::before { content: map-get($bootstrap-icons-map, "modem-fill"); } +.bi-modem::before { content: map-get($bootstrap-icons-map, "modem"); } +.bi-motherboard-fill::before { content: map-get($bootstrap-icons-map, "motherboard-fill"); } +.bi-motherboard::before { content: map-get($bootstrap-icons-map, "motherboard"); } +.bi-optical-audio-fill::before { content: map-get($bootstrap-icons-map, "optical-audio-fill"); } +.bi-optical-audio::before { content: map-get($bootstrap-icons-map, "optical-audio"); } +.bi-pci-card::before { content: map-get($bootstrap-icons-map, "pci-card"); } +.bi-router-fill::before { content: map-get($bootstrap-icons-map, "router-fill"); } +.bi-router::before { content: map-get($bootstrap-icons-map, "router"); } +.bi-ssd-fill::before { content: map-get($bootstrap-icons-map, "ssd-fill"); } +.bi-ssd::before { content: map-get($bootstrap-icons-map, "ssd"); } +.bi-thunderbolt-fill::before { content: map-get($bootstrap-icons-map, "thunderbolt-fill"); } +.bi-thunderbolt::before { content: map-get($bootstrap-icons-map, "thunderbolt"); } +.bi-usb-drive-fill::before { content: map-get($bootstrap-icons-map, "usb-drive-fill"); } +.bi-usb-drive::before { content: map-get($bootstrap-icons-map, "usb-drive"); } +.bi-usb-micro-fill::before { content: map-get($bootstrap-icons-map, "usb-micro-fill"); } +.bi-usb-micro::before { content: map-get($bootstrap-icons-map, "usb-micro"); } +.bi-usb-mini-fill::before { content: map-get($bootstrap-icons-map, "usb-mini-fill"); } +.bi-usb-mini::before { content: map-get($bootstrap-icons-map, "usb-mini"); } +.bi-cloud-haze2::before { content: map-get($bootstrap-icons-map, "cloud-haze2"); } +.bi-device-hdd-fill::before { content: map-get($bootstrap-icons-map, "device-hdd-fill"); } +.bi-device-hdd::before { content: map-get($bootstrap-icons-map, "device-hdd"); } +.bi-device-ssd-fill::before { content: map-get($bootstrap-icons-map, "device-ssd-fill"); } +.bi-device-ssd::before { content: map-get($bootstrap-icons-map, "device-ssd"); } +.bi-displayport-fill::before { content: map-get($bootstrap-icons-map, "displayport-fill"); } +.bi-mortarboard-fill::before { content: map-get($bootstrap-icons-map, "mortarboard-fill"); } +.bi-mortarboard::before { content: map-get($bootstrap-icons-map, "mortarboard"); } +.bi-terminal-x::before { content: map-get($bootstrap-icons-map, "terminal-x"); } +.bi-arrow-through-heart-fill::before { content: map-get($bootstrap-icons-map, "arrow-through-heart-fill"); } +.bi-arrow-through-heart::before { content: map-get($bootstrap-icons-map, "arrow-through-heart"); } +.bi-badge-sd-fill::before { content: map-get($bootstrap-icons-map, "badge-sd-fill"); } +.bi-badge-sd::before { content: map-get($bootstrap-icons-map, "badge-sd"); } +.bi-bag-heart-fill::before { content: map-get($bootstrap-icons-map, "bag-heart-fill"); } +.bi-bag-heart::before { content: map-get($bootstrap-icons-map, "bag-heart"); } +.bi-balloon-fill::before { content: map-get($bootstrap-icons-map, "balloon-fill"); } +.bi-balloon-heart-fill::before { content: map-get($bootstrap-icons-map, "balloon-heart-fill"); } +.bi-balloon-heart::before { content: map-get($bootstrap-icons-map, "balloon-heart"); } +.bi-balloon::before { content: map-get($bootstrap-icons-map, "balloon"); } +.bi-box2-fill::before { content: map-get($bootstrap-icons-map, "box2-fill"); } +.bi-box2-heart-fill::before { content: map-get($bootstrap-icons-map, "box2-heart-fill"); } +.bi-box2-heart::before { content: map-get($bootstrap-icons-map, "box2-heart"); } +.bi-box2::before { content: map-get($bootstrap-icons-map, "box2"); } +.bi-braces-asterisk::before { content: map-get($bootstrap-icons-map, "braces-asterisk"); } +.bi-calendar-heart-fill::before { content: map-get($bootstrap-icons-map, "calendar-heart-fill"); } +.bi-calendar-heart::before { content: map-get($bootstrap-icons-map, "calendar-heart"); } +.bi-calendar2-heart-fill::before { content: map-get($bootstrap-icons-map, "calendar2-heart-fill"); } +.bi-calendar2-heart::before { content: map-get($bootstrap-icons-map, "calendar2-heart"); } +.bi-chat-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-heart-fill"); } +.bi-chat-heart::before { content: map-get($bootstrap-icons-map, "chat-heart"); } +.bi-chat-left-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-left-heart-fill"); } +.bi-chat-left-heart::before { content: map-get($bootstrap-icons-map, "chat-left-heart"); } +.bi-chat-right-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-right-heart-fill"); } +.bi-chat-right-heart::before { content: map-get($bootstrap-icons-map, "chat-right-heart"); } +.bi-chat-square-heart-fill::before { content: map-get($bootstrap-icons-map, "chat-square-heart-fill"); } +.bi-chat-square-heart::before { content: map-get($bootstrap-icons-map, "chat-square-heart"); } +.bi-clipboard-check-fill::before { content: map-get($bootstrap-icons-map, "clipboard-check-fill"); } +.bi-clipboard-data-fill::before { content: map-get($bootstrap-icons-map, "clipboard-data-fill"); } +.bi-clipboard-fill::before { content: map-get($bootstrap-icons-map, "clipboard-fill"); } +.bi-clipboard-heart-fill::before { content: map-get($bootstrap-icons-map, "clipboard-heart-fill"); } +.bi-clipboard-heart::before { content: map-get($bootstrap-icons-map, "clipboard-heart"); } +.bi-clipboard-minus-fill::before { content: map-get($bootstrap-icons-map, "clipboard-minus-fill"); } +.bi-clipboard-plus-fill::before { content: map-get($bootstrap-icons-map, "clipboard-plus-fill"); } +.bi-clipboard-pulse::before { content: map-get($bootstrap-icons-map, "clipboard-pulse"); } +.bi-clipboard-x-fill::before { content: map-get($bootstrap-icons-map, "clipboard-x-fill"); } +.bi-clipboard2-check-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-check-fill"); } +.bi-clipboard2-check::before { content: map-get($bootstrap-icons-map, "clipboard2-check"); } +.bi-clipboard2-data-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-data-fill"); } +.bi-clipboard2-data::before { content: map-get($bootstrap-icons-map, "clipboard2-data"); } +.bi-clipboard2-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-fill"); } +.bi-clipboard2-heart-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-heart-fill"); } +.bi-clipboard2-heart::before { content: map-get($bootstrap-icons-map, "clipboard2-heart"); } +.bi-clipboard2-minus-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-minus-fill"); } +.bi-clipboard2-minus::before { content: map-get($bootstrap-icons-map, "clipboard2-minus"); } +.bi-clipboard2-plus-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-plus-fill"); } +.bi-clipboard2-plus::before { content: map-get($bootstrap-icons-map, "clipboard2-plus"); } +.bi-clipboard2-pulse-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-pulse-fill"); } +.bi-clipboard2-pulse::before { content: map-get($bootstrap-icons-map, "clipboard2-pulse"); } +.bi-clipboard2-x-fill::before { content: map-get($bootstrap-icons-map, "clipboard2-x-fill"); } +.bi-clipboard2-x::before { content: map-get($bootstrap-icons-map, "clipboard2-x"); } +.bi-clipboard2::before { content: map-get($bootstrap-icons-map, "clipboard2"); } +.bi-emoji-kiss-fill::before { content: map-get($bootstrap-icons-map, "emoji-kiss-fill"); } +.bi-emoji-kiss::before { content: map-get($bootstrap-icons-map, "emoji-kiss"); } +.bi-envelope-heart-fill::before { content: map-get($bootstrap-icons-map, "envelope-heart-fill"); } +.bi-envelope-heart::before { content: map-get($bootstrap-icons-map, "envelope-heart"); } +.bi-envelope-open-heart-fill::before { content: map-get($bootstrap-icons-map, "envelope-open-heart-fill"); } +.bi-envelope-open-heart::before { content: map-get($bootstrap-icons-map, "envelope-open-heart"); } +.bi-envelope-paper-fill::before { content: map-get($bootstrap-icons-map, "envelope-paper-fill"); } +.bi-envelope-paper-heart-fill::before { content: map-get($bootstrap-icons-map, "envelope-paper-heart-fill"); } +.bi-envelope-paper-heart::before { content: map-get($bootstrap-icons-map, "envelope-paper-heart"); } +.bi-envelope-paper::before { content: map-get($bootstrap-icons-map, "envelope-paper"); } +.bi-filetype-aac::before { content: map-get($bootstrap-icons-map, "filetype-aac"); } +.bi-filetype-ai::before { content: map-get($bootstrap-icons-map, "filetype-ai"); } +.bi-filetype-bmp::before { content: map-get($bootstrap-icons-map, "filetype-bmp"); } +.bi-filetype-cs::before { content: map-get($bootstrap-icons-map, "filetype-cs"); } +.bi-filetype-css::before { content: map-get($bootstrap-icons-map, "filetype-css"); } +.bi-filetype-csv::before { content: map-get($bootstrap-icons-map, "filetype-csv"); } +.bi-filetype-doc::before { content: map-get($bootstrap-icons-map, "filetype-doc"); } +.bi-filetype-docx::before { content: map-get($bootstrap-icons-map, "filetype-docx"); } +.bi-filetype-exe::before { content: map-get($bootstrap-icons-map, "filetype-exe"); } +.bi-filetype-gif::before { content: map-get($bootstrap-icons-map, "filetype-gif"); } +.bi-filetype-heic::before { content: map-get($bootstrap-icons-map, "filetype-heic"); } +.bi-filetype-html::before { content: map-get($bootstrap-icons-map, "filetype-html"); } +.bi-filetype-java::before { content: map-get($bootstrap-icons-map, "filetype-java"); } +.bi-filetype-jpg::before { content: map-get($bootstrap-icons-map, "filetype-jpg"); } +.bi-filetype-js::before { content: map-get($bootstrap-icons-map, "filetype-js"); } +.bi-filetype-jsx::before { content: map-get($bootstrap-icons-map, "filetype-jsx"); } +.bi-filetype-key::before { content: map-get($bootstrap-icons-map, "filetype-key"); } +.bi-filetype-m4p::before { content: map-get($bootstrap-icons-map, "filetype-m4p"); } +.bi-filetype-md::before { content: map-get($bootstrap-icons-map, "filetype-md"); } +.bi-filetype-mdx::before { content: map-get($bootstrap-icons-map, "filetype-mdx"); } +.bi-filetype-mov::before { content: map-get($bootstrap-icons-map, "filetype-mov"); } +.bi-filetype-mp3::before { content: map-get($bootstrap-icons-map, "filetype-mp3"); } +.bi-filetype-mp4::before { content: map-get($bootstrap-icons-map, "filetype-mp4"); } +.bi-filetype-otf::before { content: map-get($bootstrap-icons-map, "filetype-otf"); } +.bi-filetype-pdf::before { content: map-get($bootstrap-icons-map, "filetype-pdf"); } +.bi-filetype-php::before { content: map-get($bootstrap-icons-map, "filetype-php"); } +.bi-filetype-png::before { content: map-get($bootstrap-icons-map, "filetype-png"); } +.bi-filetype-ppt-1::before { content: map-get($bootstrap-icons-map, "filetype-ppt-1"); } +.bi-filetype-ppt::before { content: map-get($bootstrap-icons-map, "filetype-ppt"); } +.bi-filetype-psd::before { content: map-get($bootstrap-icons-map, "filetype-psd"); } +.bi-filetype-py::before { content: map-get($bootstrap-icons-map, "filetype-py"); } +.bi-filetype-raw::before { content: map-get($bootstrap-icons-map, "filetype-raw"); } +.bi-filetype-rb::before { content: map-get($bootstrap-icons-map, "filetype-rb"); } +.bi-filetype-sass::before { content: map-get($bootstrap-icons-map, "filetype-sass"); } +.bi-filetype-scss::before { content: map-get($bootstrap-icons-map, "filetype-scss"); } +.bi-filetype-sh::before { content: map-get($bootstrap-icons-map, "filetype-sh"); } +.bi-filetype-svg::before { content: map-get($bootstrap-icons-map, "filetype-svg"); } +.bi-filetype-tiff::before { content: map-get($bootstrap-icons-map, "filetype-tiff"); } +.bi-filetype-tsx::before { content: map-get($bootstrap-icons-map, "filetype-tsx"); } +.bi-filetype-ttf::before { content: map-get($bootstrap-icons-map, "filetype-ttf"); } +.bi-filetype-txt::before { content: map-get($bootstrap-icons-map, "filetype-txt"); } +.bi-filetype-wav::before { content: map-get($bootstrap-icons-map, "filetype-wav"); } +.bi-filetype-woff::before { content: map-get($bootstrap-icons-map, "filetype-woff"); } +.bi-filetype-xls-1::before { content: map-get($bootstrap-icons-map, "filetype-xls-1"); } +.bi-filetype-xls::before { content: map-get($bootstrap-icons-map, "filetype-xls"); } +.bi-filetype-xml::before { content: map-get($bootstrap-icons-map, "filetype-xml"); } +.bi-filetype-yml::before { content: map-get($bootstrap-icons-map, "filetype-yml"); } +.bi-heart-arrow::before { content: map-get($bootstrap-icons-map, "heart-arrow"); } +.bi-heart-pulse-fill::before { content: map-get($bootstrap-icons-map, "heart-pulse-fill"); } +.bi-heart-pulse::before { content: map-get($bootstrap-icons-map, "heart-pulse"); } +.bi-heartbreak-fill::before { content: map-get($bootstrap-icons-map, "heartbreak-fill"); } +.bi-heartbreak::before { content: map-get($bootstrap-icons-map, "heartbreak"); } +.bi-hearts::before { content: map-get($bootstrap-icons-map, "hearts"); } +.bi-hospital-fill::before { content: map-get($bootstrap-icons-map, "hospital-fill"); } +.bi-hospital::before { content: map-get($bootstrap-icons-map, "hospital"); } +.bi-house-heart-fill::before { content: map-get($bootstrap-icons-map, "house-heart-fill"); } +.bi-house-heart::before { content: map-get($bootstrap-icons-map, "house-heart"); } +.bi-incognito::before { content: map-get($bootstrap-icons-map, "incognito"); } +.bi-magnet-fill::before { content: map-get($bootstrap-icons-map, "magnet-fill"); } +.bi-magnet::before { content: map-get($bootstrap-icons-map, "magnet"); } +.bi-person-heart::before { content: map-get($bootstrap-icons-map, "person-heart"); } +.bi-person-hearts::before { content: map-get($bootstrap-icons-map, "person-hearts"); } +.bi-phone-flip::before { content: map-get($bootstrap-icons-map, "phone-flip"); } +.bi-plugin::before { content: map-get($bootstrap-icons-map, "plugin"); } +.bi-postage-fill::before { content: map-get($bootstrap-icons-map, "postage-fill"); } +.bi-postage-heart-fill::before { content: map-get($bootstrap-icons-map, "postage-heart-fill"); } +.bi-postage-heart::before { content: map-get($bootstrap-icons-map, "postage-heart"); } +.bi-postage::before { content: map-get($bootstrap-icons-map, "postage"); } +.bi-postcard-fill::before { content: map-get($bootstrap-icons-map, "postcard-fill"); } +.bi-postcard-heart-fill::before { content: map-get($bootstrap-icons-map, "postcard-heart-fill"); } +.bi-postcard-heart::before { content: map-get($bootstrap-icons-map, "postcard-heart"); } +.bi-postcard::before { content: map-get($bootstrap-icons-map, "postcard"); } +.bi-search-heart-fill::before { content: map-get($bootstrap-icons-map, "search-heart-fill"); } +.bi-search-heart::before { content: map-get($bootstrap-icons-map, "search-heart"); } +.bi-sliders2-vertical::before { content: map-get($bootstrap-icons-map, "sliders2-vertical"); } +.bi-sliders2::before { content: map-get($bootstrap-icons-map, "sliders2"); } +.bi-trash3-fill::before { content: map-get($bootstrap-icons-map, "trash3-fill"); } +.bi-trash3::before { content: map-get($bootstrap-icons-map, "trash3"); } +.bi-valentine::before { content: map-get($bootstrap-icons-map, "valentine"); } +.bi-valentine2::before { content: map-get($bootstrap-icons-map, "valentine2"); } +.bi-wrench-adjustable-circle-fill::before { content: map-get($bootstrap-icons-map, "wrench-adjustable-circle-fill"); } +.bi-wrench-adjustable-circle::before { content: map-get($bootstrap-icons-map, "wrench-adjustable-circle"); } +.bi-wrench-adjustable::before { content: map-get($bootstrap-icons-map, "wrench-adjustable"); } +.bi-filetype-json::before { content: map-get($bootstrap-icons-map, "filetype-json"); } +.bi-filetype-pptx::before { content: map-get($bootstrap-icons-map, "filetype-pptx"); } +.bi-filetype-xlsx::before { content: map-get($bootstrap-icons-map, "filetype-xlsx"); } +.bi-1-circle-1::before { content: map-get($bootstrap-icons-map, "1-circle-1"); } +.bi-1-circle-fill-1::before { content: map-get($bootstrap-icons-map, "1-circle-fill-1"); } +.bi-1-circle-fill::before { content: map-get($bootstrap-icons-map, "1-circle-fill"); } +.bi-1-circle::before { content: map-get($bootstrap-icons-map, "1-circle"); } +.bi-1-square-fill::before { content: map-get($bootstrap-icons-map, "1-square-fill"); } +.bi-1-square::before { content: map-get($bootstrap-icons-map, "1-square"); } +.bi-2-circle-1::before { content: map-get($bootstrap-icons-map, "2-circle-1"); } +.bi-2-circle-fill-1::before { content: map-get($bootstrap-icons-map, "2-circle-fill-1"); } +.bi-2-circle-fill::before { content: map-get($bootstrap-icons-map, "2-circle-fill"); } +.bi-2-circle::before { content: map-get($bootstrap-icons-map, "2-circle"); } +.bi-2-square-fill::before { content: map-get($bootstrap-icons-map, "2-square-fill"); } +.bi-2-square::before { content: map-get($bootstrap-icons-map, "2-square"); } +.bi-3-circle-1::before { content: map-get($bootstrap-icons-map, "3-circle-1"); } +.bi-3-circle-fill-1::before { content: map-get($bootstrap-icons-map, "3-circle-fill-1"); } +.bi-3-circle-fill::before { content: map-get($bootstrap-icons-map, "3-circle-fill"); } +.bi-3-circle::before { content: map-get($bootstrap-icons-map, "3-circle"); } +.bi-3-square-fill::before { content: map-get($bootstrap-icons-map, "3-square-fill"); } +.bi-3-square::before { content: map-get($bootstrap-icons-map, "3-square"); } +.bi-4-circle-1::before { content: map-get($bootstrap-icons-map, "4-circle-1"); } +.bi-4-circle-fill-1::before { content: map-get($bootstrap-icons-map, "4-circle-fill-1"); } +.bi-4-circle-fill::before { content: map-get($bootstrap-icons-map, "4-circle-fill"); } +.bi-4-circle::before { content: map-get($bootstrap-icons-map, "4-circle"); } +.bi-4-square-fill::before { content: map-get($bootstrap-icons-map, "4-square-fill"); } +.bi-4-square::before { content: map-get($bootstrap-icons-map, "4-square"); } +.bi-5-circle-1::before { content: map-get($bootstrap-icons-map, "5-circle-1"); } +.bi-5-circle-fill-1::before { content: map-get($bootstrap-icons-map, "5-circle-fill-1"); } +.bi-5-circle-fill::before { content: map-get($bootstrap-icons-map, "5-circle-fill"); } +.bi-5-circle::before { content: map-get($bootstrap-icons-map, "5-circle"); } +.bi-5-square-fill::before { content: map-get($bootstrap-icons-map, "5-square-fill"); } +.bi-5-square::before { content: map-get($bootstrap-icons-map, "5-square"); } +.bi-6-circle-1::before { content: map-get($bootstrap-icons-map, "6-circle-1"); } +.bi-6-circle-fill-1::before { content: map-get($bootstrap-icons-map, "6-circle-fill-1"); } +.bi-6-circle-fill::before { content: map-get($bootstrap-icons-map, "6-circle-fill"); } +.bi-6-circle::before { content: map-get($bootstrap-icons-map, "6-circle"); } +.bi-6-square-fill::before { content: map-get($bootstrap-icons-map, "6-square-fill"); } +.bi-6-square::before { content: map-get($bootstrap-icons-map, "6-square"); } +.bi-7-circle-1::before { content: map-get($bootstrap-icons-map, "7-circle-1"); } +.bi-7-circle-fill-1::before { content: map-get($bootstrap-icons-map, "7-circle-fill-1"); } +.bi-7-circle-fill::before { content: map-get($bootstrap-icons-map, "7-circle-fill"); } +.bi-7-circle::before { content: map-get($bootstrap-icons-map, "7-circle"); } +.bi-7-square-fill::before { content: map-get($bootstrap-icons-map, "7-square-fill"); } +.bi-7-square::before { content: map-get($bootstrap-icons-map, "7-square"); } +.bi-8-circle-1::before { content: map-get($bootstrap-icons-map, "8-circle-1"); } +.bi-8-circle-fill-1::before { content: map-get($bootstrap-icons-map, "8-circle-fill-1"); } +.bi-8-circle-fill::before { content: map-get($bootstrap-icons-map, "8-circle-fill"); } +.bi-8-circle::before { content: map-get($bootstrap-icons-map, "8-circle"); } +.bi-8-square-fill::before { content: map-get($bootstrap-icons-map, "8-square-fill"); } +.bi-8-square::before { content: map-get($bootstrap-icons-map, "8-square"); } +.bi-9-circle-1::before { content: map-get($bootstrap-icons-map, "9-circle-1"); } +.bi-9-circle-fill-1::before { content: map-get($bootstrap-icons-map, "9-circle-fill-1"); } +.bi-9-circle-fill::before { content: map-get($bootstrap-icons-map, "9-circle-fill"); } +.bi-9-circle::before { content: map-get($bootstrap-icons-map, "9-circle"); } +.bi-9-square-fill::before { content: map-get($bootstrap-icons-map, "9-square-fill"); } +.bi-9-square::before { content: map-get($bootstrap-icons-map, "9-square"); } +.bi-airplane-engines-fill::before { content: map-get($bootstrap-icons-map, "airplane-engines-fill"); } +.bi-airplane-engines::before { content: map-get($bootstrap-icons-map, "airplane-engines"); } +.bi-airplane-fill::before { content: map-get($bootstrap-icons-map, "airplane-fill"); } +.bi-airplane::before { content: map-get($bootstrap-icons-map, "airplane"); } +.bi-alexa::before { content: map-get($bootstrap-icons-map, "alexa"); } +.bi-alipay::before { content: map-get($bootstrap-icons-map, "alipay"); } +.bi-android::before { content: map-get($bootstrap-icons-map, "android"); } +.bi-android2::before { content: map-get($bootstrap-icons-map, "android2"); } +.bi-box-fill::before { content: map-get($bootstrap-icons-map, "box-fill"); } +.bi-box-seam-fill::before { content: map-get($bootstrap-icons-map, "box-seam-fill"); } +.bi-browser-chrome::before { content: map-get($bootstrap-icons-map, "browser-chrome"); } +.bi-browser-edge::before { content: map-get($bootstrap-icons-map, "browser-edge"); } +.bi-browser-firefox::before { content: map-get($bootstrap-icons-map, "browser-firefox"); } +.bi-browser-safari::before { content: map-get($bootstrap-icons-map, "browser-safari"); } +.bi-c-circle-1::before { content: map-get($bootstrap-icons-map, "c-circle-1"); } +.bi-c-circle-fill-1::before { content: map-get($bootstrap-icons-map, "c-circle-fill-1"); } +.bi-c-circle-fill::before { content: map-get($bootstrap-icons-map, "c-circle-fill"); } +.bi-c-circle::before { content: map-get($bootstrap-icons-map, "c-circle"); } +.bi-c-square-fill::before { content: map-get($bootstrap-icons-map, "c-square-fill"); } +.bi-c-square::before { content: map-get($bootstrap-icons-map, "c-square"); } +.bi-capsule-pill::before { content: map-get($bootstrap-icons-map, "capsule-pill"); } +.bi-capsule::before { content: map-get($bootstrap-icons-map, "capsule"); } +.bi-car-front-fill::before { content: map-get($bootstrap-icons-map, "car-front-fill"); } +.bi-car-front::before { content: map-get($bootstrap-icons-map, "car-front"); } +.bi-cassette-fill::before { content: map-get($bootstrap-icons-map, "cassette-fill"); } +.bi-cassette::before { content: map-get($bootstrap-icons-map, "cassette"); } +.bi-cc-circle-1::before { content: map-get($bootstrap-icons-map, "cc-circle-1"); } +.bi-cc-circle-fill-1::before { content: map-get($bootstrap-icons-map, "cc-circle-fill-1"); } +.bi-cc-circle-fill::before { content: map-get($bootstrap-icons-map, "cc-circle-fill"); } +.bi-cc-circle::before { content: map-get($bootstrap-icons-map, "cc-circle"); } +.bi-cc-square-fill::before { content: map-get($bootstrap-icons-map, "cc-square-fill"); } +.bi-cc-square::before { content: map-get($bootstrap-icons-map, "cc-square"); } +.bi-cup-hot-fill::before { content: map-get($bootstrap-icons-map, "cup-hot-fill"); } +.bi-cup-hot::before { content: map-get($bootstrap-icons-map, "cup-hot"); } +.bi-currency-rupee::before { content: map-get($bootstrap-icons-map, "currency-rupee"); } +.bi-dropbox::before { content: map-get($bootstrap-icons-map, "dropbox"); } +.bi-escape::before { content: map-get($bootstrap-icons-map, "escape"); } +.bi-fast-forward-btn-fill::before { content: map-get($bootstrap-icons-map, "fast-forward-btn-fill"); } +.bi-fast-forward-btn::before { content: map-get($bootstrap-icons-map, "fast-forward-btn"); } +.bi-fast-forward-circle-fill::before { content: map-get($bootstrap-icons-map, "fast-forward-circle-fill"); } +.bi-fast-forward-circle::before { content: map-get($bootstrap-icons-map, "fast-forward-circle"); } +.bi-fast-forward-fill::before { content: map-get($bootstrap-icons-map, "fast-forward-fill"); } +.bi-fast-forward::before { content: map-get($bootstrap-icons-map, "fast-forward"); } +.bi-filetype-sql::before { content: map-get($bootstrap-icons-map, "filetype-sql"); } +.bi-fire::before { content: map-get($bootstrap-icons-map, "fire"); } +.bi-google-play::before { content: map-get($bootstrap-icons-map, "google-play"); } +.bi-h-circle-1::before { content: map-get($bootstrap-icons-map, "h-circle-1"); } +.bi-h-circle-fill-1::before { content: map-get($bootstrap-icons-map, "h-circle-fill-1"); } +.bi-h-circle-fill::before { content: map-get($bootstrap-icons-map, "h-circle-fill"); } +.bi-h-circle::before { content: map-get($bootstrap-icons-map, "h-circle"); } +.bi-h-square-fill::before { content: map-get($bootstrap-icons-map, "h-square-fill"); } +.bi-h-square::before { content: map-get($bootstrap-icons-map, "h-square"); } +.bi-indent::before { content: map-get($bootstrap-icons-map, "indent"); } +.bi-lungs-fill::before { content: map-get($bootstrap-icons-map, "lungs-fill"); } +.bi-lungs::before { content: map-get($bootstrap-icons-map, "lungs"); } +.bi-microsoft-teams::before { content: map-get($bootstrap-icons-map, "microsoft-teams"); } +.bi-p-circle-1::before { content: map-get($bootstrap-icons-map, "p-circle-1"); } +.bi-p-circle-fill-1::before { content: map-get($bootstrap-icons-map, "p-circle-fill-1"); } +.bi-p-circle-fill::before { content: map-get($bootstrap-icons-map, "p-circle-fill"); } +.bi-p-circle::before { content: map-get($bootstrap-icons-map, "p-circle"); } +.bi-p-square-fill::before { content: map-get($bootstrap-icons-map, "p-square-fill"); } +.bi-p-square::before { content: map-get($bootstrap-icons-map, "p-square"); } +.bi-pass-fill::before { content: map-get($bootstrap-icons-map, "pass-fill"); } +.bi-pass::before { content: map-get($bootstrap-icons-map, "pass"); } +.bi-prescription::before { content: map-get($bootstrap-icons-map, "prescription"); } +.bi-prescription2::before { content: map-get($bootstrap-icons-map, "prescription2"); } +.bi-r-circle-1::before { content: map-get($bootstrap-icons-map, "r-circle-1"); } +.bi-r-circle-fill-1::before { content: map-get($bootstrap-icons-map, "r-circle-fill-1"); } +.bi-r-circle-fill::before { content: map-get($bootstrap-icons-map, "r-circle-fill"); } +.bi-r-circle::before { content: map-get($bootstrap-icons-map, "r-circle"); } +.bi-r-square-fill::before { content: map-get($bootstrap-icons-map, "r-square-fill"); } +.bi-r-square::before { content: map-get($bootstrap-icons-map, "r-square"); } +.bi-repeat-1::before { content: map-get($bootstrap-icons-map, "repeat-1"); } +.bi-repeat::before { content: map-get($bootstrap-icons-map, "repeat"); } +.bi-rewind-btn-fill::before { content: map-get($bootstrap-icons-map, "rewind-btn-fill"); } +.bi-rewind-btn::before { content: map-get($bootstrap-icons-map, "rewind-btn"); } +.bi-rewind-circle-fill::before { content: map-get($bootstrap-icons-map, "rewind-circle-fill"); } +.bi-rewind-circle::before { content: map-get($bootstrap-icons-map, "rewind-circle"); } +.bi-rewind-fill::before { content: map-get($bootstrap-icons-map, "rewind-fill"); } +.bi-rewind::before { content: map-get($bootstrap-icons-map, "rewind"); } +.bi-train-freight-front-fill::before { content: map-get($bootstrap-icons-map, "train-freight-front-fill"); } +.bi-train-freight-front::before { content: map-get($bootstrap-icons-map, "train-freight-front"); } +.bi-train-front-fill::before { content: map-get($bootstrap-icons-map, "train-front-fill"); } +.bi-train-front::before { content: map-get($bootstrap-icons-map, "train-front"); } +.bi-train-lightrail-front-fill::before { content: map-get($bootstrap-icons-map, "train-lightrail-front-fill"); } +.bi-train-lightrail-front::before { content: map-get($bootstrap-icons-map, "train-lightrail-front"); } +.bi-truck-front-fill::before { content: map-get($bootstrap-icons-map, "truck-front-fill"); } +.bi-truck-front::before { content: map-get($bootstrap-icons-map, "truck-front"); } +.bi-ubuntu::before { content: map-get($bootstrap-icons-map, "ubuntu"); } +.bi-unindent::before { content: map-get($bootstrap-icons-map, "unindent"); } +.bi-unity::before { content: map-get($bootstrap-icons-map, "unity"); } +.bi-universal-access-circle::before { content: map-get($bootstrap-icons-map, "universal-access-circle"); } +.bi-universal-access::before { content: map-get($bootstrap-icons-map, "universal-access"); } +.bi-virus::before { content: map-get($bootstrap-icons-map, "virus"); } +.bi-virus2::before { content: map-get($bootstrap-icons-map, "virus2"); } +.bi-wechat::before { content: map-get($bootstrap-icons-map, "wechat"); } +.bi-yelp::before { content: map-get($bootstrap-icons-map, "yelp"); } +.bi-sign-stop-fill::before { content: map-get($bootstrap-icons-map, "sign-stop-fill"); } +.bi-sign-stop-lights-fill::before { content: map-get($bootstrap-icons-map, "sign-stop-lights-fill"); } +.bi-sign-stop-lights::before { content: map-get($bootstrap-icons-map, "sign-stop-lights"); } +.bi-sign-stop::before { content: map-get($bootstrap-icons-map, "sign-stop"); } +.bi-sign-turn-left-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-left-fill"); } +.bi-sign-turn-left::before { content: map-get($bootstrap-icons-map, "sign-turn-left"); } +.bi-sign-turn-right-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-right-fill"); } +.bi-sign-turn-right::before { content: map-get($bootstrap-icons-map, "sign-turn-right"); } +.bi-sign-turn-slight-left-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-left-fill"); } +.bi-sign-turn-slight-left::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-left"); } +.bi-sign-turn-slight-right-fill::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-right-fill"); } +.bi-sign-turn-slight-right::before { content: map-get($bootstrap-icons-map, "sign-turn-slight-right"); } +.bi-sign-yield-fill::before { content: map-get($bootstrap-icons-map, "sign-yield-fill"); } +.bi-sign-yield::before { content: map-get($bootstrap-icons-map, "sign-yield"); } +.bi-ev-station-fill::before { content: map-get($bootstrap-icons-map, "ev-station-fill"); } +.bi-ev-station::before { content: map-get($bootstrap-icons-map, "ev-station"); } +.bi-fuel-pump-diesel-fill::before { content: map-get($bootstrap-icons-map, "fuel-pump-diesel-fill"); } +.bi-fuel-pump-diesel::before { content: map-get($bootstrap-icons-map, "fuel-pump-diesel"); } +.bi-fuel-pump-fill::before { content: map-get($bootstrap-icons-map, "fuel-pump-fill"); } +.bi-fuel-pump::before { content: map-get($bootstrap-icons-map, "fuel-pump"); } diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..cf0a6d0fb433c51d759b2bd5a9583c1ef121fccb GIT binary patch literal 150592 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 YR?%UzJg>%wP)pvqHrs6f0}T#(C^3k@;{X5v literal 0 HcmV?d00001 diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 b/src/SharedUI/wwwroot/lib/bootstrap-icons/font/fonts/bootstrap-icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ecc8f4c5d9dee86f8a50b799783722807d4dfab7 GIT binary patch literal 112440 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

T|xNB(h3TJA+#;*b3*3UdY_=s}M~1 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%0AIloHc8rk7JTWB3F;1TjEd=&GeR;U`i!O#u zPor&1M?TTTR_Gc7gWP>G7?u2opB?M0kDQ8tWGI)C*J!eo3DF$iQt185MKOE$jz%Bk2=I7Gp-6do zZLi_WcM^QKUZEeL1^@1ciSvN=p5tLVEfpkxqZt;}G~*|6WwjeV6_+}$7CygcgNME& zx9+LgmgQ{_(-Vj#%8w;;t2c6LnZ_&^p}zcumNW+?%e@i-LLr9Jp=9puN@Rix zC0y!Qg>H^%LZ8`B<@KIXgIx}~|Qi%qQ+PbWv3qczRMvzXk+P#rW;N@HaUo}ACBgF)h^ z#Zc2s%Wy+|+ZnC+LINchwTH>EqJ@7HDexg%N8t&rAf#J<^+E?>BSTGjp4(R|6=e6g zx$-AoPn;&sk32r-dD;RKVwgOd;8Mv!3Q$-$^PQo7gFz9g7T+#H@dfV#vER6vH`n)m znqCg$+raNCL{7bMrQyN#HMQ^+QbM&DCNG0j4pLAkCwHkuw@gx=%2zC4k4cN5IfREc z(h;z5#SEscv=tn;(bb+Pdie7}&k0Wfe}V_Pgi!xvY=~yjk$n%H;32Adc%j@>H9l?(AmUGSxwYfu$KEA+13}al`bFFo@_R zs+&US+c#3c<@f{?I!e8(&262I05RENvS~`fD9b4ZC_a@dS_*2^VgR|yg_6d{=XV{< zbk(>tbowAf%_dP@ro(#hv6DP0IwdeNGv56)LaN?mS9_w-Uf!;+Z51EU>e%NwLa)D! zrg|XQnL;Nwl+@=mkxTCAnm?9O#hR+@M9HIZHO;VJ;cK}`l6GY@5#UH6FN<>kA|Hhja0uh_`CuEcBa@W zO9?U7)uNosJ+etVR{1a_is1V(lMU?-ILECgA@aWrLRXfx70A5fSj02Hu4)+EBV2E_ zOmOl?J!gZCC^eS1D*`RJ;U_^VMPBFHN?Q%|g$dF25tIX+T17?2e+b&A?X?3L^8L0* zqZ{4y35rB09Q9gPAnYNC zqpB;w=Gt(JAU|={aP~7@$m*c+jWl3}Uwjc^!+{@v7DoR>!1cM~gf|no-$6)ia~ijvxKIDv;4MeWWFp=C zWab_~#*u88R8`YVkRp~l^iMGno@NQMoNp8%4|`C42-C7e7}e0;Ovo2|u|#3dL~Ha4 z`(A&!Ys#^hwqmkAf7#QKGX+g3@&Mf^wjER*fXfg6%ZHPe&^!j|KJyKS^{GTlAh7-` zC$OCS^cO@Q<%!ovTp#uTj&7k#b#FfrU?@<-PfIKP`#TI7+g|=Q!P#hZW?az?clR*C zE#1HmLbAQaakYO~Ysa4K8d|$AJpaS)jrEJ$R-Pt6KJ{!#(YNot^!xjve;)n!@#Z{j z3~rij(~02$e}(FL8OqqX7!p*;Bbt8O6YYJsE0~?d#0s8+G{V(C0W|Ke`hG)*(Vnlg zInR0=t4$rA$Vohr-k&#r0u~z$EDlN;*39Z|l|8O%p03ZOIfTA>gmsJP$IVb7 zgJ-`9=)?jOIkim7c~}UeGX#Ko<@Qq81tkDyhSgezu+dl6YrW-oxIexkLZXmBxbv4s z>wwbl!%TcNc$s2_I)HY=9{|2yZG|jWOYgV?;0f_;+)MLczdT$O9IQ6PVO8AMC$qSe z^c*uj#U%!f`c@_rV(2|J1toHNj~{Ev4Kbc|@x!-Y)0ew#1}Pd?WWbyIy*l6cLauXn zOKjsu6}xTCW^*vt@aXBmZS7&MLV*U!%kkWc4&~naJ6Il+H~zVDkC9HtQVv{T6zH4H zno2M;xzhuKnepz&w_lqI--P~QzU%z86(n~zu>P|CpuNT07<>9!P#;;}DErh{w`Icq zezd3}x6W4Md)W$-LBGgRG?Wa^X<^Mj$D47>%inWn+}Li(>_|(yYp4AN?Jwok + + + + bootstrap-icons + + + + + + + + +

bootstrap-icons

+ +
+
+ +
123
+
+
+ +
1-circle-fill
+
+
+ +
1-circle
+
+
+ +
1-square-fill
+
+
+ +
1-square
+
+
+ +
2-circle-fill
+
+
+ +
2-circle
+
+
+ +
2-square-fill
+
+
+ +
2-square
+
+
+ +
3-circle-fill
+
+
+ +
3-circle
+
+
+ +
3-square-fill
+
+
+ +
3-square
+
+
+ +
4-circle-fill
+
+
+ +
4-circle
+
+
+ +
4-square-fill
+
+
+ +
4-square
+
+
+ +
5-circle-fill
+
+
+ +
5-circle
+
+
+ +
5-square-fill
+
+
+ +
5-square
+
+
+ +
6-circle-fill
+
+
+ +
6-circle
+
+
+ +
6-square-fill
+
+
+ +
6-square
+
+
+ +
7-circle-fill
+
+
+ +
7-circle
+
+
+ +
7-square-fill
+
+
+ +
7-square
+
+
+ +
8-circle-fill
+
+
+ +
8-circle
+
+
+ +
8-square-fill
+
+
+ +
8-square
+
+
+ +
9-circle-fill
+
+
+ +
9-circle
+
+
+ +
9-square-fill
+
+
+ +
9-square
+
+
+ +
activity
+
+
+ +
airplane-engines-fill
+
+
+ +
airplane-engines
+
+
+ +
airplane-fill
+
+
+ +
airplane
+
+
+ +
alarm-fill
+
+
+ +
alarm
+
+
+ +
alexa
+
+
+ +
align-bottom
+
+
+ +
align-center
+
+
+ +
align-end
+
+
+ +
align-middle
+
+
+ +
align-start
+
+
+ +
align-top
+
+
+ +
alipay
+
+
+ +
alt
+
+
+ +
android
+
+
+ +
android2
+
+
+ +
app-indicator
+
+
+ +
app
+
+
+ +
apple
+
+
+ +
archive-fill
+
+
+ +
archive
+
+
+ +
arrow-90deg-down
+
+
+ +
arrow-90deg-left
+
+
+ +
arrow-90deg-right
+
+
+ +
arrow-90deg-up
+
+
+ +
arrow-bar-down
+
+
+ +
arrow-bar-left
+
+
+ +
arrow-bar-right
+
+
+ +
arrow-bar-up
+
+
+ +
arrow-clockwise
+
+
+ +
arrow-counterclockwise
+
+
+ +
arrow-down-circle-fill
+
+
+ +
arrow-down-circle
+
+
+ +
arrow-down-left-circle-fill
+
+
+ +
arrow-down-left-circle
+
+
+ +
arrow-down-left-square-fill
+
+
+ +
arrow-down-left-square
+
+
+ +
arrow-down-left
+
+
+ +
arrow-down-right-circle-fill
+
+
+ +
arrow-down-right-circle
+
+
+ +
arrow-down-right-square-fill
+
+
+ +
arrow-down-right-square
+
+
+ +
arrow-down-right
+
+
+ +
arrow-down-short
+
+
+ +
arrow-down-square-fill
+
+
+ +
arrow-down-square
+
+
+ +
arrow-down-up
+
+
+ +
arrow-down
+
+
+ +
arrow-left-circle-fill
+
+
+ +
arrow-left-circle
+
+
+ +
arrow-left-right
+
+
+ +
arrow-left-short
+
+
+ +
arrow-left-square-fill
+
+
+ +
arrow-left-square
+
+
+ +
arrow-left
+
+
+ +
arrow-repeat
+
+
+ +
arrow-return-left
+
+
+ +
arrow-return-right
+
+
+ +
arrow-right-circle-fill
+
+
+ +
arrow-right-circle
+
+
+ +
arrow-right-short
+
+
+ +
arrow-right-square-fill
+
+
+ +
arrow-right-square
+
+
+ +
arrow-right
+
+
+ +
arrow-through-heart-fill
+
+
+ +
arrow-through-heart
+
+
+ +
arrow-up-circle-fill
+
+
+ +
arrow-up-circle
+
+
+ +
arrow-up-left-circle-fill
+
+
+ +
arrow-up-left-circle
+
+
+ +
arrow-up-left-square-fill
+
+
+ +
arrow-up-left-square
+
+
+ +
arrow-up-left
+
+
+ +
arrow-up-right-circle-fill
+
+
+ +
arrow-up-right-circle
+
+
+ +
arrow-up-right-square-fill
+
+
+ +
arrow-up-right-square
+
+
+ +
arrow-up-right
+
+
+ +
arrow-up-short
+
+
+ +
arrow-up-square-fill
+
+
+ +
arrow-up-square
+
+
+ +
arrow-up
+
+
+ +
arrows-angle-contract
+
+
+ +
arrows-angle-expand
+
+
+ +
arrows-collapse
+
+
+ +
arrows-expand
+
+
+ +
arrows-fullscreen
+
+
+ +
arrows-move
+
+
+ +
aspect-ratio-fill
+
+
+ +
aspect-ratio
+
+
+ +
asterisk
+
+
+ +
at
+
+
+ +
award-fill
+
+
+ +
award
+
+
+ +
back
+
+
+ +
backspace-fill
+
+
+ +
backspace-reverse-fill
+
+
+ +
backspace-reverse
+
+
+ +
backspace
+
+
+ +
badge-3d-fill
+
+
+ +
badge-3d
+
+
+ +
badge-4k-fill
+
+
+ +
badge-4k
+
+
+ +
badge-8k-fill
+
+
+ +
badge-8k
+
+
+ +
badge-ad-fill
+
+
+ +
badge-ad
+
+
+ +
badge-ar-fill
+
+
+ +
badge-ar
+
+
+ +
badge-cc-fill
+
+
+ +
badge-cc
+
+
+ +
badge-hd-fill
+
+
+ +
badge-hd
+
+
+ +
badge-sd-fill
+
+
+ +
badge-sd
+
+
+ +
badge-tm-fill
+
+
+ +
badge-tm
+
+
+ +
badge-vo-fill
+
+
+ +
badge-vo
+
+
+ +
badge-vr-fill
+
+
+ +
badge-vr
+
+
+ +
badge-wc-fill
+
+
+ +
badge-wc
+
+
+ +
bag-check-fill
+
+
+ +
bag-check
+
+
+ +
bag-dash-fill
+
+
+ +
bag-dash
+
+
+ +
bag-fill
+
+
+ +
bag-heart-fill
+
+
+ +
bag-heart
+
+
+ +
bag-plus-fill
+
+
+ +
bag-plus
+
+
+ +
bag-x-fill
+
+
+ +
bag-x
+
+
+ +
bag
+
+
+ +
balloon-fill
+
+
+ +
balloon-heart-fill
+
+
+ +
balloon-heart
+
+
+ +
balloon
+
+
+ +
bandaid-fill
+
+
+ +
bandaid
+
+
+ +
bank
+
+
+ +
bank2
+
+
+ +
bar-chart-fill
+
+
+ +
bar-chart-line-fill
+
+
+ +
bar-chart-line
+
+
+ +
bar-chart-steps
+
+
+ +
bar-chart
+
+
+ +
basket-fill
+
+
+ +
basket
+
+
+ +
basket2-fill
+
+
+ +
basket2
+
+
+ +
basket3-fill
+
+
+ +
basket3
+
+
+ +
battery-charging
+
+
+ +
battery-full
+
+
+ +
battery-half
+
+
+ +
battery
+
+
+ +
behance
+
+
+ +
bell-fill
+
+
+ +
bell-slash-fill
+
+
+ +
bell-slash
+
+
+ +
bell
+
+
+ +
bezier
+
+
+ +
bezier2
+
+
+ +
bicycle
+
+
+ +
binoculars-fill
+
+
+ +
binoculars
+
+
+ +
blockquote-left
+
+
+ +
blockquote-right
+
+
+ +
bluetooth
+
+
+ +
body-text
+
+
+ +
book-fill
+
+
+ +
book-half
+
+
+ +
book
+
+
+ +
bookmark-check-fill
+
+
+ +
bookmark-check
+
+
+ +
bookmark-dash-fill
+
+
+ +
bookmark-dash
+
+
+ +
bookmark-fill
+
+
+ +
bookmark-heart-fill
+
+
+ +
bookmark-heart
+
+
+ +
bookmark-plus-fill
+
+
+ +
bookmark-plus
+
+
+ +
bookmark-star-fill
+
+
+ +
bookmark-star
+
+
+ +
bookmark-x-fill
+
+
+ +
bookmark-x
+
+
+ +
bookmark
+
+
+ +
bookmarks-fill
+
+
+ +
bookmarks
+
+
+ +
bookshelf
+
+
+ +
boombox-fill
+
+
+ +
boombox
+
+
+ +
bootstrap-fill
+
+
+ +
bootstrap-reboot
+
+
+ +
bootstrap
+
+
+ +
border-all
+
+
+ +
border-bottom
+
+
+ +
border-center
+
+
+ +
border-inner
+
+
+ +
border-left
+
+
+ +
border-middle
+
+
+ +
border-outer
+
+
+ +
border-right
+
+
+ +
border-style
+
+
+ +
border-top
+
+
+ +
border-width
+
+
+ +
border
+
+
+ +
bounding-box-circles
+
+
+ +
bounding-box
+
+
+ +
box-arrow-down-left
+
+
+ +
box-arrow-down-right
+
+
+ +
box-arrow-down
+
+
+ +
box-arrow-in-down-left
+
+
+ +
box-arrow-in-down-right
+
+
+ +
box-arrow-in-down
+
+
+ +
box-arrow-in-left
+
+
+ +
box-arrow-in-right
+
+
+ +
box-arrow-in-up-left
+
+
+ +
box-arrow-in-up-right
+
+
+ +
box-arrow-in-up
+
+
+ +
box-arrow-left
+
+
+ +
box-arrow-right
+
+
+ +
box-arrow-up-left
+
+
+ +
box-arrow-up-right
+
+
+ +
box-arrow-up
+
+
+ +
box-fill
+
+
+ +
box-seam-fill
+
+
+ +
box-seam
+
+
+ +
box
+
+
+ +
box2-fill
+
+
+ +
box2-heart-fill
+
+
+ +
box2-heart
+
+
+ +
box2
+
+
+ +
boxes
+
+
+ +
braces-asterisk
+
+
+ +
braces
+
+
+ +
bricks
+
+
+ +
briefcase-fill
+
+
+ +
briefcase
+
+
+ +
brightness-alt-high-fill
+
+
+ +
brightness-alt-high
+
+
+ +
brightness-alt-low-fill
+
+
+ +
brightness-alt-low
+
+
+ +
brightness-high-fill
+
+
+ +
brightness-high
+
+
+ +
brightness-low-fill
+
+
+ +
brightness-low
+
+
+ +
broadcast-pin
+
+
+ +
broadcast
+
+
+ +
browser-chrome
+
+
+ +
browser-edge
+
+
+ +
browser-firefox
+
+
+ +
browser-safari
+
+
+ +
brush-fill
+
+
+ +
brush
+
+
+ +
bucket-fill
+
+
+ +
bucket
+
+
+ +
bug-fill
+
+
+ +
bug
+
+
+ +
building
+
+
+ +
bullseye
+
+
+ +
c-circle-fill
+
+
+ +
c-circle
+
+
+ +
c-square-fill
+
+
+ +
c-square
+
+
+ +
calculator-fill
+
+
+ +
calculator
+
+
+ +
calendar-check-fill
+
+
+ +
calendar-check
+
+
+ +
calendar-date-fill
+
+
+ +
calendar-date
+
+
+ +
calendar-day-fill
+
+
+ +
calendar-day
+
+
+ +
calendar-event-fill
+
+
+ +
calendar-event
+
+
+ +
calendar-fill
+
+
+ +
calendar-heart-fill
+
+
+ +
calendar-heart
+
+
+ +
calendar-minus-fill
+
+
+ +
calendar-minus
+
+
+ +
calendar-month-fill
+
+
+ +
calendar-month
+
+
+ +
calendar-plus-fill
+
+
+ +
calendar-plus
+
+
+ +
calendar-range-fill
+
+
+ +
calendar-range
+
+
+ +
calendar-week-fill
+
+
+ +
calendar-week
+
+
+ +
calendar-x-fill
+
+
+ +
calendar-x
+
+
+ +
calendar
+
+
+ +
calendar2-check-fill
+
+
+ +
calendar2-check
+
+
+ +
calendar2-date-fill
+
+
+ +
calendar2-date
+
+
+ +
calendar2-day-fill
+
+
+ +
calendar2-day
+
+
+ +
calendar2-event-fill
+
+
+ +
calendar2-event
+
+
+ +
calendar2-fill
+
+
+ +
calendar2-heart-fill
+
+
+ +
calendar2-heart
+
+
+ +
calendar2-minus-fill
+
+
+ +
calendar2-minus
+
+
+ +
calendar2-month-fill
+
+
+ +
calendar2-month
+
+
+ +
calendar2-plus-fill
+
+
+ +
calendar2-plus
+
+
+ +
calendar2-range-fill
+
+
+ +
calendar2-range
+
+
+ +
calendar2-week-fill
+
+
+ +
calendar2-week
+
+
+ +
calendar2-x-fill
+
+
+ +
calendar2-x
+
+
+ +
calendar2
+
+
+ +
calendar3-event-fill
+
+
+ +
calendar3-event
+
+
+ +
calendar3-fill
+
+
+ +
calendar3-range-fill
+
+
+ +
calendar3-range
+
+
+ +
calendar3-week-fill
+
+
+ +
calendar3-week
+
+
+ +
calendar3
+
+
+ +
calendar4-event
+
+
+ +
calendar4-range
+
+
+ +
calendar4-week
+
+
+ +
calendar4
+
+
+ +
camera-fill
+
+
+ +
camera-reels-fill
+
+
+ +
camera-reels
+
+
+ +
camera-video-fill
+
+
+ +
camera-video-off-fill
+
+
+ +
camera-video-off
+
+
+ +
camera-video
+
+
+ +
camera
+
+
+ +
camera2
+
+
+ +
capslock-fill
+
+
+ +
capslock
+
+
+ +
capsule-pill
+
+
+ +
capsule
+
+
+ +
car-front-fill
+
+
+ +
car-front
+
+
+ +
card-checklist
+
+
+ +
card-heading
+
+
+ +
card-image
+
+
+ +
card-list
+
+
+ +
card-text
+
+
+ +
caret-down-fill
+
+
+ +
caret-down-square-fill
+
+
+ +
caret-down-square
+
+
+ +
caret-down
+
+
+ +
caret-left-fill
+
+
+ +
caret-left-square-fill
+
+
+ +
caret-left-square
+
+
+ +
caret-left
+
+
+ +
caret-right-fill
+
+
+ +
caret-right-square-fill
+
+
+ +
caret-right-square
+
+
+ +
caret-right
+
+
+ +
caret-up-fill
+
+
+ +
caret-up-square-fill
+
+
+ +
caret-up-square
+
+
+ +
caret-up
+
+
+ +
cart-check-fill
+
+
+ +
cart-check
+
+
+ +
cart-dash-fill
+
+
+ +
cart-dash
+
+
+ +
cart-fill
+
+
+ +
cart-plus-fill
+
+
+ +
cart-plus
+
+
+ +
cart-x-fill
+
+
+ +
cart-x
+
+
+ +
cart
+
+
+ +
cart2
+
+
+ +
cart3
+
+
+ +
cart4
+
+
+ +
cash-coin
+
+
+ +
cash-stack
+
+
+ +
cash
+
+
+ +
cassette-fill
+
+
+ +
cassette
+
+
+ +
cast
+
+
+ +
cc-circle-fill
+
+
+ +
cc-circle
+
+
+ +
cc-square-fill
+
+
+ +
cc-square
+
+
+ +
chat-dots-fill
+
+
+ +
chat-dots
+
+
+ +
chat-fill
+
+
+ +
chat-heart-fill
+
+
+ +
chat-heart
+
+
+ +
chat-left-dots-fill
+
+
+ +
chat-left-dots
+
+
+ +
chat-left-fill
+
+
+ +
chat-left-heart-fill
+
+
+ +
chat-left-heart
+
+
+ +
chat-left-quote-fill
+
+
+ +
chat-left-quote
+
+
+ +
chat-left-text-fill
+
+
+ +
chat-left-text
+
+
+ +
chat-left
+
+
+ +
chat-quote-fill
+
+
+ +
chat-quote
+
+
+ +
chat-right-dots-fill
+
+
+ +
chat-right-dots
+
+
+ +
chat-right-fill
+
+
+ +
chat-right-heart-fill
+
+
+ +
chat-right-heart
+
+
+ +
chat-right-quote-fill
+
+
+ +
chat-right-quote
+
+
+ +
chat-right-text-fill
+
+
+ +
chat-right-text
+
+
+ +
chat-right
+
+
+ +
chat-square-dots-fill
+
+
+ +
chat-square-dots
+
+
+ +
chat-square-fill
+
+
+ +
chat-square-heart-fill
+
+
+ +
chat-square-heart
+
+
+ +
chat-square-quote-fill
+
+
+ +
chat-square-quote
+
+
+ +
chat-square-text-fill
+
+
+ +
chat-square-text
+
+
+ +
chat-square
+
+
+ +
chat-text-fill
+
+
+ +
chat-text
+
+
+ +
chat
+
+
+ +
check-all
+
+
+ +
check-circle-fill
+
+
+ +
check-circle
+
+
+ +
check-lg
+
+
+ +
check-square-fill
+
+
+ +
check-square
+
+
+ +
check
+
+
+ +
check2-all
+
+
+ +
check2-circle
+
+
+ +
check2-square
+
+
+ +
check2
+
+
+ +
chevron-bar-contract
+
+
+ +
chevron-bar-down
+
+
+ +
chevron-bar-expand
+
+
+ +
chevron-bar-left
+
+
+ +
chevron-bar-right
+
+
+ +
chevron-bar-up
+
+
+ +
chevron-compact-down
+
+
+ +
chevron-compact-left
+
+
+ +
chevron-compact-right
+
+
+ +
chevron-compact-up
+
+
+ +
chevron-contract
+
+
+ +
chevron-double-down
+
+
+ +
chevron-double-left
+
+
+ +
chevron-double-right
+
+
+ +
chevron-double-up
+
+
+ +
chevron-down
+
+
+ +
chevron-expand
+
+
+ +
chevron-left
+
+
+ +
chevron-right
+
+
+ +
chevron-up
+
+
+ +
circle-fill
+
+
+ +
circle-half
+
+
+ +
circle-square
+
+
+ +
circle
+
+
+ +
clipboard-check-fill
+
+
+ +
clipboard-check
+
+
+ +
clipboard-data-fill
+
+
+ +
clipboard-data
+
+
+ +
clipboard-fill
+
+
+ +
clipboard-heart-fill
+
+
+ +
clipboard-heart
+
+
+ +
clipboard-minus-fill
+
+
+ +
clipboard-minus
+
+
+ +
clipboard-plus-fill
+
+
+ +
clipboard-plus
+
+
+ +
clipboard-pulse
+
+
+ +
clipboard-x-fill
+
+
+ +
clipboard-x
+
+
+ +
clipboard
+
+
+ +
clipboard2-check-fill
+
+
+ +
clipboard2-check
+
+
+ +
clipboard2-data-fill
+
+
+ +
clipboard2-data
+
+
+ +
clipboard2-fill
+
+
+ +
clipboard2-heart-fill
+
+
+ +
clipboard2-heart
+
+
+ +
clipboard2-minus-fill
+
+
+ +
clipboard2-minus
+
+
+ +
clipboard2-plus-fill
+
+
+ +
clipboard2-plus
+
+
+ +
clipboard2-pulse-fill
+
+
+ +
clipboard2-pulse
+
+
+ +
clipboard2-x-fill
+
+
+ +
clipboard2-x
+
+
+ +
clipboard2
+
+
+ +
clock-fill
+
+
+ +
clock-history
+
+
+ +
clock
+
+
+ +
cloud-arrow-down-fill
+
+
+ +
cloud-arrow-down
+
+
+ +
cloud-arrow-up-fill
+
+
+ +
cloud-arrow-up
+
+
+ +
cloud-check-fill
+
+
+ +
cloud-check
+
+
+ +
cloud-download-fill
+
+
+ +
cloud-download
+
+
+ +
cloud-drizzle-fill
+
+
+ +
cloud-drizzle
+
+
+ +
cloud-fill
+
+
+ +
cloud-fog-fill
+
+
+ +
cloud-fog
+
+
+ +
cloud-fog2-fill
+
+
+ +
cloud-fog2
+
+
+ +
cloud-hail-fill
+
+
+ +
cloud-hail
+
+
+ +
cloud-haze-fill
+
+
+ +
cloud-haze
+
+
+ +
cloud-haze2-fill
+
+
+ +
cloud-haze2
+
+
+ +
cloud-lightning-fill
+
+
+ +
cloud-lightning-rain-fill
+
+
+ +
cloud-lightning-rain
+
+
+ +
cloud-lightning
+
+
+ +
cloud-minus-fill
+
+
+ +
cloud-minus
+
+
+ +
cloud-moon-fill
+
+
+ +
cloud-moon
+
+
+ +
cloud-plus-fill
+
+
+ +
cloud-plus
+
+
+ +
cloud-rain-fill
+
+
+ +
cloud-rain-heavy-fill
+
+
+ +
cloud-rain-heavy
+
+
+ +
cloud-rain
+
+
+ +
cloud-slash-fill
+
+
+ +
cloud-slash
+
+
+ +
cloud-sleet-fill
+
+
+ +
cloud-sleet
+
+
+ +
cloud-snow-fill
+
+
+ +
cloud-snow
+
+
+ +
cloud-sun-fill
+
+
+ +
cloud-sun
+
+
+ +
cloud-upload-fill
+
+
+ +
cloud-upload
+
+
+ +
cloud
+
+
+ +
clouds-fill
+
+
+ +
clouds
+
+
+ +
cloudy-fill
+
+
+ +
cloudy
+
+
+ +
code-slash
+
+
+ +
code-square
+
+
+ +
code
+
+
+ +
coin
+
+
+ +
collection-fill
+
+
+ +
collection-play-fill
+
+
+ +
collection-play
+
+
+ +
collection
+
+
+ +
columns-gap
+
+
+ +
columns
+
+
+ +
command
+
+
+ +
compass-fill
+
+
+ +
compass
+
+
+ +
cone-striped
+
+
+ +
cone
+
+
+ +
controller
+
+
+ +
cpu-fill
+
+
+ +
cpu
+
+
+ +
credit-card-2-back-fill
+
+
+ +
credit-card-2-back
+
+
+ +
credit-card-2-front-fill
+
+
+ +
credit-card-2-front
+
+
+ +
credit-card-fill
+
+
+ +
credit-card
+
+
+ +
crop
+
+
+ +
cup-fill
+
+
+ +
cup-hot-fill
+
+
+ +
cup-hot
+
+
+ +
cup-straw
+
+
+ +
cup
+
+
+ +
currency-bitcoin
+
+
+ +
currency-dollar
+
+
+ +
currency-euro
+
+
+ +
currency-exchange
+
+
+ +
currency-pound
+
+
+ +
currency-rupee
+
+
+ +
currency-yen
+
+
+ +
cursor-fill
+
+
+ +
cursor-text
+
+
+ +
cursor
+
+
+ +
dash-circle-dotted
+
+
+ +
dash-circle-fill
+
+
+ +
dash-circle
+
+
+ +
dash-lg
+
+
+ +
dash-square-dotted
+
+
+ +
dash-square-fill
+
+
+ +
dash-square
+
+
+ +
dash
+
+
+ +
device-hdd-fill
+
+
+ +
device-hdd
+
+
+ +
device-ssd-fill
+
+
+ +
device-ssd
+
+
+ +
diagram-2-fill
+
+
+ +
diagram-2
+
+
+ +
diagram-3-fill
+
+
+ +
diagram-3
+
+
+ +
diamond-fill
+
+
+ +
diamond-half
+
+
+ +
diamond
+
+
+ +
dice-1-fill
+
+
+ +
dice-1
+
+
+ +
dice-2-fill
+
+
+ +
dice-2
+
+
+ +
dice-3-fill
+
+
+ +
dice-3
+
+
+ +
dice-4-fill
+
+
+ +
dice-4
+
+
+ +
dice-5-fill
+
+
+ +
dice-5
+
+
+ +
dice-6-fill
+
+
+ +
dice-6
+
+
+ +
disc-fill
+
+
+ +
disc
+
+
+ +
discord
+
+
+ +
display-fill
+
+
+ +
display
+
+
+ +
displayport-fill
+
+
+ +
displayport
+
+
+ +
distribute-horizontal
+
+
+ +
distribute-vertical
+
+
+ +
door-closed-fill
+
+
+ +
door-closed
+
+
+ +
door-open-fill
+
+
+ +
door-open
+
+
+ +
dot
+
+
+ +
download
+
+
+ +
dpad-fill
+
+
+ +
dpad
+
+
+ +
dribbble
+
+
+ +
dropbox
+
+
+ +
droplet-fill
+
+
+ +
droplet-half
+
+
+ +
droplet
+
+
+ +
ear-fill
+
+
+ +
ear
+
+
+ +
earbuds
+
+
+ +
easel-fill
+
+
+ +
easel
+
+
+ +
easel2-fill
+
+
+ +
easel2
+
+
+ +
easel3-fill
+
+
+ +
easel3
+
+
+ +
egg-fill
+
+
+ +
egg-fried
+
+
+ +
egg
+
+
+ +
eject-fill
+
+
+ +
eject
+
+
+ +
emoji-angry-fill
+
+
+ +
emoji-angry
+
+
+ +
emoji-dizzy-fill
+
+
+ +
emoji-dizzy
+
+
+ +
emoji-expressionless-fill
+
+
+ +
emoji-expressionless
+
+
+ +
emoji-frown-fill
+
+
+ +
emoji-frown
+
+
+ +
emoji-heart-eyes-fill
+
+
+ +
emoji-heart-eyes
+
+
+ +
emoji-kiss-fill
+
+
+ +
emoji-kiss
+
+
+ +
emoji-laughing-fill
+
+
+ +
emoji-laughing
+
+
+ +
emoji-neutral-fill
+
+
+ +
emoji-neutral
+
+
+ +
emoji-smile-fill
+
+
+ +
emoji-smile-upside-down-fill
+
+
+ +
emoji-smile-upside-down
+
+
+ +
emoji-smile
+
+
+ +
emoji-sunglasses-fill
+
+
+ +
emoji-sunglasses
+
+
+ +
emoji-wink-fill
+
+
+ +
emoji-wink
+
+
+ +
envelope-check-fill
+
+
+ +
envelope-check
+
+
+ +
envelope-dash-fill
+
+
+ +
envelope-dash
+
+
+ +
envelope-exclamation-fill
+
+
+ +
envelope-exclamation
+
+
+ +
envelope-fill
+
+
+ +
envelope-heart-fill
+
+
+ +
envelope-heart
+
+
+ +
envelope-open-fill
+
+
+ +
envelope-open-heart-fill
+
+
+ +
envelope-open-heart
+
+
+ +
envelope-open
+
+
+ +
envelope-paper-fill
+
+
+ +
envelope-paper-heart-fill
+
+
+ +
envelope-paper-heart
+
+
+ +
envelope-paper
+
+
+ +
envelope-plus-fill
+
+
+ +
envelope-plus
+
+
+ +
envelope-slash-fill
+
+
+ +
envelope-slash
+
+
+ +
envelope-x-fill
+
+
+ +
envelope-x
+
+
+ +
envelope
+
+
+ +
eraser-fill
+
+
+ +
eraser
+
+
+ +
escape
+
+
+ +
ethernet
+
+
+ +
ev-station-fill
+
+
+ +
ev-station
+
+
+ +
exclamation-circle-fill
+
+
+ +
exclamation-circle
+
+
+ +
exclamation-diamond-fill
+
+
+ +
exclamation-diamond
+
+
+ +
exclamation-lg
+
+
+ +
exclamation-octagon-fill
+
+
+ +
exclamation-octagon
+
+
+ +
exclamation-square-fill
+
+
+ +
exclamation-square
+
+
+ +
exclamation-triangle-fill
+
+
+ +
exclamation-triangle
+
+
+ +
exclamation
+
+
+ +
exclude
+
+
+ +
explicit-fill
+
+
+ +
explicit
+
+
+ +
eye-fill
+
+
+ +
eye-slash-fill
+
+
+ +
eye-slash
+
+
+ +
eye
+
+
+ +
eyedropper
+
+
+ +
eyeglasses
+
+
+ +
facebook
+
+
+ +
fan
+
+
+ +
fast-forward-btn-fill
+
+
+ +
fast-forward-btn
+
+
+ +
fast-forward-circle-fill
+
+
+ +
fast-forward-circle
+
+
+ +
fast-forward-fill
+
+
+ +
fast-forward
+
+
+ +
file-arrow-down-fill
+
+
+ +
file-arrow-down
+
+
+ +
file-arrow-up-fill
+
+
+ +
file-arrow-up
+
+
+ +
file-bar-graph-fill
+
+
+ +
file-bar-graph
+
+
+ +
file-binary-fill
+
+
+ +
file-binary
+
+
+ +
file-break-fill
+
+
+ +
file-break
+
+
+ +
file-check-fill
+
+
+ +
file-check
+
+
+ +
file-code-fill
+
+
+ +
file-code
+
+
+ +
file-diff-fill
+
+
+ +
file-diff
+
+
+ +
file-earmark-arrow-down-fill
+
+
+ +
file-earmark-arrow-down
+
+
+ +
file-earmark-arrow-up-fill
+
+
+ +
file-earmark-arrow-up
+
+
+ +
file-earmark-bar-graph-fill
+
+
+ +
file-earmark-bar-graph
+
+
+ +
file-earmark-binary-fill
+
+
+ +
file-earmark-binary
+
+
+ +
file-earmark-break-fill
+
+
+ +
file-earmark-break
+
+
+ +
file-earmark-check-fill
+
+
+ +
file-earmark-check
+
+
+ +
file-earmark-code-fill
+
+
+ +
file-earmark-code
+
+
+ +
file-earmark-diff-fill
+
+
+ +
file-earmark-diff
+
+
+ +
file-earmark-easel-fill
+
+
+ +
file-earmark-easel
+
+
+ +
file-earmark-excel-fill
+
+
+ +
file-earmark-excel
+
+
+ +
file-earmark-fill
+
+
+ +
file-earmark-font-fill
+
+
+ +
file-earmark-font
+
+
+ +
file-earmark-image-fill
+
+
+ +
file-earmark-image
+
+
+ +
file-earmark-lock-fill
+
+
+ +
file-earmark-lock
+
+
+ +
file-earmark-lock2-fill
+
+
+ +
file-earmark-lock2
+
+
+ +
file-earmark-medical-fill
+
+
+ +
file-earmark-medical
+
+
+ +
file-earmark-minus-fill
+
+
+ +
file-earmark-minus
+
+
+ +
file-earmark-music-fill
+
+
+ +
file-earmark-music
+
+
+ +
file-earmark-pdf-fill
+
+
+ +
file-earmark-pdf
+
+
+ +
file-earmark-person-fill
+
+
+ +
file-earmark-person
+
+
+ +
file-earmark-play-fill
+
+
+ +
file-earmark-play
+
+
+ +
file-earmark-plus-fill
+
+
+ +
file-earmark-plus
+
+
+ +
file-earmark-post-fill
+
+
+ +
file-earmark-post
+
+
+ +
file-earmark-ppt-fill
+
+
+ +
file-earmark-ppt
+
+
+ +
file-earmark-richtext-fill
+
+
+ +
file-earmark-richtext
+
+
+ +
file-earmark-ruled-fill
+
+
+ +
file-earmark-ruled
+
+
+ +
file-earmark-slides-fill
+
+
+ +
file-earmark-slides
+
+
+ +
file-earmark-spreadsheet-fill
+
+
+ +
file-earmark-spreadsheet
+
+
+ +
file-earmark-text-fill
+
+
+ +
file-earmark-text
+
+
+ +
file-earmark-word-fill
+
+
+ +
file-earmark-word
+
+
+ +
file-earmark-x-fill
+
+
+ +
file-earmark-x
+
+
+ +
file-earmark-zip-fill
+
+
+ +
file-earmark-zip
+
+
+ +
file-earmark
+
+
+ +
file-easel-fill
+
+
+ +
file-easel
+
+
+ +
file-excel-fill
+
+
+ +
file-excel
+
+
+ +
file-fill
+
+
+ +
file-font-fill
+
+
+ +
file-font
+
+
+ +
file-image-fill
+
+
+ +
file-image
+
+
+ +
file-lock-fill
+
+
+ +
file-lock
+
+
+ +
file-lock2-fill
+
+
+ +
file-lock2
+
+
+ +
file-medical-fill
+
+
+ +
file-medical
+
+
+ +
file-minus-fill
+
+
+ +
file-minus
+
+
+ +
file-music-fill
+
+
+ +
file-music
+
+
+ +
file-pdf-fill
+
+
+ +
file-pdf
+
+
+ +
file-person-fill
+
+
+ +
file-person
+
+
+ +
file-play-fill
+
+
+ +
file-play
+
+
+ +
file-plus-fill
+
+
+ +
file-plus
+
+
+ +
file-post-fill
+
+
+ +
file-post
+
+
+ +
file-ppt-fill
+
+
+ +
file-ppt
+
+
+ +
file-richtext-fill
+
+
+ +
file-richtext
+
+
+ +
file-ruled-fill
+
+
+ +
file-ruled
+
+
+ +
file-slides-fill
+
+
+ +
file-slides
+
+
+ +
file-spreadsheet-fill
+
+
+ +
file-spreadsheet
+
+
+ +
file-text-fill
+
+
+ +
file-text
+
+
+ +
file-word-fill
+
+
+ +
file-word
+
+
+ +
file-x-fill
+
+
+ +
file-x
+
+
+ +
file-zip-fill
+
+
+ +
file-zip
+
+
+ +
file
+
+
+ +
files-alt
+
+
+ +
files
+
+
+ +
filetype-aac
+
+
+ +
filetype-ai
+
+
+ +
filetype-bmp
+
+
+ +
filetype-cs
+
+
+ +
filetype-css
+
+
+ +
filetype-csv
+
+
+ +
filetype-doc
+
+
+ +
filetype-docx
+
+
+ +
filetype-exe
+
+
+ +
filetype-gif
+
+
+ +
filetype-heic
+
+
+ +
filetype-html
+
+
+ +
filetype-java
+
+
+ +
filetype-jpg
+
+
+ +
filetype-js
+
+
+ +
filetype-json
+
+
+ +
filetype-jsx
+
+
+ +
filetype-key
+
+
+ +
filetype-m4p
+
+
+ +
filetype-md
+
+
+ +
filetype-mdx
+
+
+ +
filetype-mov
+
+
+ +
filetype-mp3
+
+
+ +
filetype-mp4
+
+
+ +
filetype-otf
+
+
+ +
filetype-pdf
+
+
+ +
filetype-php
+
+
+ +
filetype-png
+
+
+ +
filetype-ppt
+
+
+ +
filetype-pptx
+
+
+ +
filetype-psd
+
+
+ +
filetype-py
+
+
+ +
filetype-raw
+
+
+ +
filetype-rb
+
+
+ +
filetype-sass
+
+
+ +
filetype-scss
+
+
+ +
filetype-sh
+
+
+ +
filetype-sql
+
+
+ +
filetype-svg
+
+
+ +
filetype-tiff
+
+
+ +
filetype-tsx
+
+
+ +
filetype-ttf
+
+
+ +
filetype-txt
+
+
+ +
filetype-wav
+
+
+ +
filetype-woff
+
+
+ +
filetype-xls
+
+
+ +
filetype-xlsx
+
+
+ +
filetype-xml
+
+
+ +
filetype-yml
+
+
+ +
film
+
+
+ +
filter-circle-fill
+
+
+ +
filter-circle
+
+
+ +
filter-left
+
+
+ +
filter-right
+
+
+ +
filter-square-fill
+
+
+ +
filter-square
+
+
+ +
filter
+
+
+ +
fingerprint
+
+
+ +
fire
+
+
+ +
flag-fill
+
+
+ +
flag
+
+
+ +
flower1
+
+
+ +
flower2
+
+
+ +
flower3
+
+
+ +
folder-check
+
+
+ +
folder-fill
+
+
+ +
folder-minus
+
+
+ +
folder-plus
+
+
+ +
folder-symlink-fill
+
+
+ +
folder-symlink
+
+
+ +
folder-x
+
+
+ +
folder
+
+
+ +
folder2-open
+
+
+ +
folder2
+
+
+ +
fonts
+
+
+ +
forward-fill
+
+
+ +
forward
+
+
+ +
front
+
+
+ +
fuel-pump-diesel-fill
+
+
+ +
fuel-pump-diesel
+
+
+ +
fuel-pump-fill
+
+
+ +
fuel-pump
+
+
+ +
fullscreen-exit
+
+
+ +
fullscreen
+
+
+ +
funnel-fill
+
+
+ +
funnel
+
+
+ +
gear-fill
+
+
+ +
gear-wide-connected
+
+
+ +
gear-wide
+
+
+ +
gear
+
+
+ +
gem
+
+
+ +
gender-ambiguous
+
+
+ +
gender-female
+
+
+ +
gender-male
+
+
+ +
gender-trans
+
+
+ +
geo-alt-fill
+
+
+ +
geo-alt
+
+
+ +
geo-fill
+
+
+ +
geo
+
+
+ +
gift-fill
+
+
+ +
gift
+
+
+ +
git
+
+
+ +
github
+
+
+ +
globe
+
+
+ +
globe2
+
+
+ +
google-play
+
+
+ +
google
+
+
+ +
gpu-card
+
+
+ +
graph-down-arrow
+
+
+ +
graph-down
+
+
+ +
graph-up-arrow
+
+
+ +
graph-up
+
+
+ +
grid-1x2-fill
+
+
+ +
grid-1x2
+
+
+ +
grid-3x2-gap-fill
+
+
+ +
grid-3x2-gap
+
+
+ +
grid-3x2
+
+
+ +
grid-3x3-gap-fill
+
+
+ +
grid-3x3-gap
+
+
+ +
grid-3x3
+
+
+ +
grid-fill
+
+
+ +
grid
+
+
+ +
grip-horizontal
+
+
+ +
grip-vertical
+
+
+ +
h-circle-fill
+
+
+ +
h-circle
+
+
+ +
h-square-fill
+
+
+ +
h-square
+
+
+ +
hammer
+
+
+ +
hand-index-fill
+
+
+ +
hand-index-thumb-fill
+
+
+ +
hand-index-thumb
+
+
+ +
hand-index
+
+
+ +
hand-thumbs-down-fill
+
+
+ +
hand-thumbs-down
+
+
+ +
hand-thumbs-up-fill
+
+
+ +
hand-thumbs-up
+
+
+ +
handbag-fill
+
+
+ +
handbag
+
+
+ +
hash
+
+
+ +
hdd-fill
+
+
+ +
hdd-network-fill
+
+
+ +
hdd-network
+
+
+ +
hdd-rack-fill
+
+
+ +
hdd-rack
+
+
+ +
hdd-stack-fill
+
+
+ +
hdd-stack
+
+
+ +
hdd
+
+
+ +
hdmi-fill
+
+
+ +
hdmi
+
+
+ +
headphones
+
+
+ +
headset-vr
+
+
+ +
headset
+
+
+ +
heart-arrow
+
+
+ +
heart-fill
+
+
+ +
heart-half
+
+
+ +
heart-pulse-fill
+
+
+ +
heart-pulse
+
+
+ +
heart
+
+
+ +
heartbreak-fill
+
+
+ +
heartbreak
+
+
+ +
hearts
+
+
+ +
heptagon-fill
+
+
+ +
heptagon-half
+
+
+ +
heptagon
+
+
+ +
hexagon-fill
+
+
+ +
hexagon-half
+
+
+ +
hexagon
+
+
+ +
hospital-fill
+
+
+ +
hospital
+
+
+ +
hourglass-bottom
+
+
+ +
hourglass-split
+
+
+ +
hourglass-top
+
+
+ +
hourglass
+
+
+ +
house-door-fill
+
+
+ +
house-door
+
+
+ +
house-fill
+
+
+ +
house-heart-fill
+
+
+ +
house-heart
+
+
+ +
house
+
+
+ +
hr
+
+
+ +
hurricane
+
+
+ +
hypnotize
+
+
+ +
image-alt
+
+
+ +
image-fill
+
+
+ +
image
+
+
+ +
images
+
+
+ +
inbox-fill
+
+
+ +
inbox
+
+
+ +
inboxes-fill
+
+
+ +
inboxes
+
+
+ +
incognito
+
+
+ +
indent
+
+
+ +
infinity
+
+
+ +
info-circle-fill
+
+
+ +
info-circle
+
+
+ +
info-lg
+
+
+ +
info-square-fill
+
+
+ +
info-square
+
+
+ +
info
+
+
+ +
input-cursor-text
+
+
+ +
input-cursor
+
+
+ +
instagram
+
+
+ +
intersect
+
+
+ +
journal-album
+
+
+ +
journal-arrow-down
+
+
+ +
journal-arrow-up
+
+
+ +
journal-bookmark-fill
+
+
+ +
journal-bookmark
+
+
+ +
journal-check
+
+
+ +
journal-code
+
+
+ +
journal-medical
+
+
+ +
journal-minus
+
+
+ +
journal-plus
+
+
+ +
journal-richtext
+
+
+ +
journal-text
+
+
+ +
journal-x
+
+
+ +
journal
+
+
+ +
journals
+
+
+ +
joystick
+
+
+ +
justify-left
+
+
+ +
justify-right
+
+
+ +
justify
+
+
+ +
kanban-fill
+
+
+ +
kanban
+
+
+ +
key-fill
+
+
+ +
key
+
+
+ +
keyboard-fill
+
+
+ +
keyboard
+
+
+ +
ladder
+
+
+ +
lamp-fill
+
+
+ +
lamp
+
+
+ +
laptop-fill
+
+
+ +
laptop
+
+
+ +
layer-backward
+
+
+ +
layer-forward
+
+
+ +
layers-fill
+
+
+ +
layers-half
+
+
+ +
layers
+
+
+ +
layout-sidebar-inset-reverse
+
+
+ +
layout-sidebar-inset
+
+
+ +
layout-sidebar-reverse
+
+
+ +
layout-sidebar
+
+
+ +
layout-split
+
+
+ +
layout-text-sidebar-reverse
+
+
+ +
layout-text-sidebar
+
+
+ +
layout-text-window-reverse
+
+
+ +
layout-text-window
+
+
+ +
layout-three-columns
+
+
+ +
layout-wtf
+
+
+ +
life-preserver
+
+
+ +
lightbulb-fill
+
+
+ +
lightbulb-off-fill
+
+
+ +
lightbulb-off
+
+
+ +
lightbulb
+
+
+ +
lightning-charge-fill
+
+
+ +
lightning-charge
+
+
+ +
lightning-fill
+
+
+ +
lightning
+
+
+ +
line
+
+
+ +
link-45deg
+
+
+ +
link
+
+
+ +
linkedin
+
+
+ +
list-check
+
+
+ +
list-columns-reverse
+
+
+ +
list-columns
+
+
+ +
list-nested
+
+
+ +
list-ol
+
+
+ +
list-stars
+
+
+ +
list-task
+
+
+ +
list-ul
+
+
+ +
list
+
+
+ +
lock-fill
+
+
+ +
lock
+
+
+ +
lungs-fill
+
+
+ +
lungs
+
+
+ +
magic
+
+
+ +
magnet-fill
+
+
+ +
magnet
+
+
+ +
mailbox
+
+
+ +
mailbox2
+
+
+ +
map-fill
+
+
+ +
map
+
+
+ +
markdown-fill
+
+
+ +
markdown
+
+
+ +
mask
+
+
+ +
mastodon
+
+
+ +
medium
+
+
+ +
megaphone-fill
+
+
+ +
megaphone
+
+
+ +
memory
+
+
+ +
menu-app-fill
+
+
+ +
menu-app
+
+
+ +
menu-button-fill
+
+
+ +
menu-button-wide-fill
+
+
+ +
menu-button-wide
+
+
+ +
menu-button
+
+
+ +
menu-down
+
+
+ +
menu-up
+
+
+ +
messenger
+
+
+ +
meta
+
+
+ +
mic-fill
+
+
+ +
mic-mute-fill
+
+
+ +
mic-mute
+
+
+ +
mic
+
+
+ +
microsoft-teams
+
+
+ +
microsoft
+
+
+ +
minecart-loaded
+
+
+ +
minecart
+
+
+ +
modem-fill
+
+
+ +
modem
+
+
+ +
moisture
+
+
+ +
moon-fill
+
+
+ +
moon-stars-fill
+
+
+ +
moon-stars
+
+
+ +
moon
+
+
+ +
mortarboard-fill
+
+
+ +
mortarboard
+
+
+ +
motherboard-fill
+
+
+ +
motherboard
+
+
+ +
mouse-fill
+
+
+ +
mouse
+
+
+ +
mouse2-fill
+
+
+ +
mouse2
+
+
+ +
mouse3-fill
+
+
+ +
mouse3
+
+
+ +
music-note-beamed
+
+
+ +
music-note-list
+
+
+ +
music-note
+
+
+ +
music-player-fill
+
+
+ +
music-player
+
+
+ +
newspaper
+
+
+ +
nintendo-switch
+
+
+ +
node-minus-fill
+
+
+ +
node-minus
+
+
+ +
node-plus-fill
+
+
+ +
node-plus
+
+
+ +
nut-fill
+
+
+ +
nut
+
+
+ +
octagon-fill
+
+
+ +
octagon-half
+
+
+ +
octagon
+
+
+ +
optical-audio-fill
+
+
+ +
optical-audio
+
+
+ +
option
+
+
+ +
outlet
+
+
+ +
p-circle-fill
+
+
+ +
p-circle
+
+
+ +
p-square-fill
+
+
+ +
p-square
+
+
+ +
paint-bucket
+
+
+ +
palette-fill
+
+
+ +
palette
+
+
+ +
palette2
+
+
+ +
paperclip
+
+
+ +
paragraph
+
+
+ +
pass-fill
+
+
+ +
pass
+
+
+ +
patch-check-fill
+
+
+ +
patch-check
+
+
+ +
patch-exclamation-fill
+
+
+ +
patch-exclamation
+
+
+ +
patch-minus-fill
+
+
+ +
patch-minus
+
+
+ +
patch-plus-fill
+
+
+ +
patch-plus
+
+
+ +
patch-question-fill
+
+
+ +
patch-question
+
+
+ +
pause-btn-fill
+
+
+ +
pause-btn
+
+
+ +
pause-circle-fill
+
+
+ +
pause-circle
+
+
+ +
pause-fill
+
+
+ +
pause
+
+
+ +
paypal
+
+
+ +
pc-display-horizontal
+
+
+ +
pc-display
+
+
+ +
pc-horizontal
+
+
+ +
pc
+
+
+ +
pci-card
+
+
+ +
peace-fill
+
+
+ +
peace
+
+
+ +
pen-fill
+
+
+ +
pen
+
+
+ +
pencil-fill
+
+
+ +
pencil-square
+
+
+ +
pencil
+
+
+ +
pentagon-fill
+
+
+ +
pentagon-half
+
+
+ +
pentagon
+
+
+ +
people-fill
+
+
+ +
people
+
+
+ +
percent
+
+
+ +
person-badge-fill
+
+
+ +
person-badge
+
+
+ +
person-bounding-box
+
+
+ +
person-check-fill
+
+
+ +
person-check
+
+
+ +
person-circle
+
+
+ +
person-dash-fill
+
+
+ +
person-dash
+
+
+ +
person-fill
+
+
+ +
person-heart
+
+
+ +
person-hearts
+
+
+ +
person-lines-fill
+
+
+ +
person-plus-fill
+
+
+ +
person-plus
+
+
+ +
person-rolodex
+
+
+ +
person-square
+
+
+ +
person-video
+
+
+ +
person-video2
+
+
+ +
person-video3
+
+
+ +
person-workspace
+
+
+ +
person-x-fill
+
+
+ +
person-x
+
+
+ +
person
+
+
+ +
phone-fill
+
+
+ +
phone-flip
+
+
+ +
phone-landscape-fill
+
+
+ +
phone-landscape
+
+
+ +
phone-vibrate-fill
+
+
+ +
phone-vibrate
+
+
+ +
phone
+
+
+ +
pie-chart-fill
+
+
+ +
pie-chart
+
+
+ +
piggy-bank-fill
+
+
+ +
piggy-bank
+
+
+ +
pin-angle-fill
+
+
+ +
pin-angle
+
+
+ +
pin-fill
+
+
+ +
pin-map-fill
+
+
+ +
pin-map
+
+
+ +
pin
+
+
+ +
pinterest
+
+
+ +
pip-fill
+
+
+ +
pip
+
+
+ +
play-btn-fill
+
+
+ +
play-btn
+
+
+ +
play-circle-fill
+
+
+ +
play-circle
+
+
+ +
play-fill
+
+
+ +
play
+
+
+ +
playstation
+
+
+ +
plug-fill
+
+
+ +
plug
+
+
+ +
plugin
+
+
+ +
plus-circle-dotted
+
+
+ +
plus-circle-fill
+
+
+ +
plus-circle
+
+
+ +
plus-lg
+
+
+ +
plus-slash-minus
+
+
+ +
plus-square-dotted
+
+
+ +
plus-square-fill
+
+
+ +
plus-square
+
+
+ +
plus
+
+
+ +
postage-fill
+
+
+ +
postage-heart-fill
+
+
+ +
postage-heart
+
+
+ +
postage
+
+
+ +
postcard-fill
+
+
+ +
postcard-heart-fill
+
+
+ +
postcard-heart
+
+
+ +
postcard
+
+
+ +
power
+
+
+ +
prescription
+
+
+ +
prescription2
+
+
+ +
printer-fill
+
+
+ +
printer
+
+
+ +
projector-fill
+
+
+ +
projector
+
+
+ +
puzzle-fill
+
+
+ +
puzzle
+
+
+ +
qr-code-scan
+
+
+ +
qr-code
+
+
+ +
question-circle-fill
+
+
+ +
question-circle
+
+
+ +
question-diamond-fill
+
+
+ +
question-diamond
+
+
+ +
question-lg
+
+
+ +
question-octagon-fill
+
+
+ +
question-octagon
+
+
+ +
question-square-fill
+
+
+ +
question-square
+
+
+ +
question
+
+
+ +
quora
+
+
+ +
quote
+
+
+ +
r-circle-fill
+
+
+ +
r-circle
+
+
+ +
r-square-fill
+
+
+ +
r-square
+
+
+ +
radioactive
+
+
+ +
rainbow
+
+
+ +
receipt-cutoff
+
+
+ +
receipt
+
+
+ +
reception-0
+
+
+ +
reception-1
+
+
+ +
reception-2
+
+
+ +
reception-3
+
+
+ +
reception-4
+
+
+ +
record-btn-fill
+
+
+ +
record-btn
+
+
+ +
record-circle-fill
+
+
+ +
record-circle
+
+
+ +
record-fill
+
+
+ +
record
+
+
+ +
record2-fill
+
+
+ +
record2
+
+
+ +
recycle
+
+
+ +
reddit
+
+
+ +
repeat-1
+
+
+ +
repeat
+
+
+ +
reply-all-fill
+
+
+ +
reply-all
+
+
+ +
reply-fill
+
+
+ +
reply
+
+
+ +
rewind-btn-fill
+
+
+ +
rewind-btn
+
+
+ +
rewind-circle-fill
+
+
+ +
rewind-circle
+
+
+ +
rewind-fill
+
+
+ +
rewind
+
+
+ +
robot
+
+
+ +
router-fill
+
+
+ +
router
+
+
+ +
rss-fill
+
+
+ +
rss
+
+
+ +
rulers
+
+
+ +
safe-fill
+
+
+ +
safe
+
+
+ +
safe2-fill
+
+
+ +
safe2
+
+
+ +
save-fill
+
+
+ +
save
+
+
+ +
save2-fill
+
+
+ +
save2
+
+
+ +
scissors
+
+
+ +
screwdriver
+
+
+ +
sd-card-fill
+
+
+ +
sd-card
+
+
+ +
search-heart-fill
+
+
+ +
search-heart
+
+
+ +
search
+
+
+ +
segmented-nav
+
+
+ +
send-check-fill
+
+
+ +
send-check
+
+
+ +
send-dash-fill
+
+
+ +
send-dash
+
+
+ +
send-exclamation-fill
+
+
+ +
send-exclamation
+
+
+ +
send-fill
+
+
+ +
send-plus-fill
+
+
+ +
send-plus
+
+
+ +
send-slash-fill
+
+
+ +
send-slash
+
+
+ +
send-x-fill
+
+
+ +
send-x
+
+
+ +
send
+
+
+ +
server
+
+
+ +
share-fill
+
+
+ +
share
+
+
+ +
shield-check
+
+
+ +
shield-exclamation
+
+
+ +
shield-fill-check
+
+
+ +
shield-fill-exclamation
+
+
+ +
shield-fill-minus
+
+
+ +
shield-fill-plus
+
+
+ +
shield-fill-x
+
+
+ +
shield-fill
+
+
+ +
shield-lock-fill
+
+
+ +
shield-lock
+
+
+ +
shield-minus
+
+
+ +
shield-plus
+
+
+ +
shield-shaded
+
+
+ +
shield-slash-fill
+
+
+ +
shield-slash
+
+
+ +
shield-x
+
+
+ +
shield
+
+
+ +
shift-fill
+
+
+ +
shift
+
+
+ +
shop-window
+
+
+ +
shop
+
+
+ +
shuffle
+
+
+ +
sign-stop-fill
+
+
+ +
sign-stop-lights-fill
+
+
+ +
sign-stop-lights
+
+
+ +
sign-stop
+
+
+ +
sign-turn-left-fill
+
+
+ +
sign-turn-left
+
+
+ +
sign-turn-right-fill
+
+
+ +
sign-turn-right
+
+
+ +
sign-turn-slight-left-fill
+
+
+ +
sign-turn-slight-left
+
+
+ +
sign-turn-slight-right-fill
+
+
+ +
sign-turn-slight-right
+
+
+ +
sign-yield-fill
+
+
+ +
sign-yield
+
+
+ +
signal
+
+
+ +
signpost-2-fill
+
+
+ +
signpost-2
+
+
+ +
signpost-fill
+
+
+ +
signpost-split-fill
+
+
+ +
signpost-split
+
+
+ +
signpost
+
+
+ +
sim-fill
+
+
+ +
sim
+
+
+ +
skip-backward-btn-fill
+
+
+ +
skip-backward-btn
+
+
+ +
skip-backward-circle-fill
+
+
+ +
skip-backward-circle
+
+
+ +
skip-backward-fill
+
+
+ +
skip-backward
+
+
+ +
skip-end-btn-fill
+
+
+ +
skip-end-btn
+
+
+ +
skip-end-circle-fill
+
+
+ +
skip-end-circle
+
+
+ +
skip-end-fill
+
+
+ +
skip-end
+
+
+ +
skip-forward-btn-fill
+
+
+ +
skip-forward-btn
+
+
+ +
skip-forward-circle-fill
+
+
+ +
skip-forward-circle
+
+
+ +
skip-forward-fill
+
+
+ +
skip-forward
+
+
+ +
skip-start-btn-fill
+
+
+ +
skip-start-btn
+
+
+ +
skip-start-circle-fill
+
+
+ +
skip-start-circle
+
+
+ +
skip-start-fill
+
+
+ +
skip-start
+
+
+ +
skype
+
+
+ +
slack
+
+
+ +
slash-circle-fill
+
+
+ +
slash-circle
+
+
+ +
slash-lg
+
+
+ +
slash-square-fill
+
+
+ +
slash-square
+
+
+ +
slash
+
+
+ +
sliders
+
+
+ +
sliders2-vertical
+
+
+ +
sliders2
+
+
+ +
smartwatch
+
+
+ +
snapchat
+
+
+ +
snow
+
+
+ +
snow2
+
+
+ +
snow3
+
+
+ +
sort-alpha-down-alt
+
+
+ +
sort-alpha-down
+
+
+ +
sort-alpha-up-alt
+
+
+ +
sort-alpha-up
+
+
+ +
sort-down-alt
+
+
+ +
sort-down
+
+
+ +
sort-numeric-down-alt
+
+
+ +
sort-numeric-down
+
+
+ +
sort-numeric-up-alt
+
+
+ +
sort-numeric-up
+
+
+ +
sort-up-alt
+
+
+ +
sort-up
+
+
+ +
soundwave
+
+
+ +
speaker-fill
+
+
+ +
speaker
+
+
+ +
speedometer
+
+
+ +
speedometer2
+
+
+ +
spellcheck
+
+
+ +
spotify
+
+
+ +
square-fill
+
+
+ +
square-half
+
+
+ +
square
+
+
+ +
stack-overflow
+
+
+ +
stack
+
+
+ +
star-fill
+
+
+ +
star-half
+
+
+ +
star
+
+
+ +
stars
+
+
+ +
steam
+
+
+ +
stickies-fill
+
+
+ +
stickies
+
+
+ +
sticky-fill
+
+
+ +
sticky
+
+
+ +
stop-btn-fill
+
+
+ +
stop-btn
+
+
+ +
stop-circle-fill
+
+
+ +
stop-circle
+
+
+ +
stop-fill
+
+
+ +
stop
+
+
+ +
stoplights-fill
+
+
+ +
stoplights
+
+
+ +
stopwatch-fill
+
+
+ +
stopwatch
+
+
+ +
strava
+
+
+ +
subtract
+
+
+ +
suit-club-fill
+
+
+ +
suit-club
+
+
+ +
suit-diamond-fill
+
+
+ +
suit-diamond
+
+
+ +
suit-heart-fill
+
+
+ +
suit-heart
+
+
+ +
suit-spade-fill
+
+
+ +
suit-spade
+
+
+ +
sun-fill
+
+
+ +
sun
+
+
+ +
sunglasses
+
+
+ +
sunrise-fill
+
+
+ +
sunrise
+
+
+ +
sunset-fill
+
+
+ +
sunset
+
+
+ +
symmetry-horizontal
+
+
+ +
symmetry-vertical
+
+
+ +
table
+
+
+ +
tablet-fill
+
+
+ +
tablet-landscape-fill
+
+
+ +
tablet-landscape
+
+
+ +
tablet
+
+
+ +
tag-fill
+
+
+ +
tag
+
+
+ +
tags-fill
+
+
+ +
tags
+
+
+ +
telegram
+
+
+ +
telephone-fill
+
+
+ +
telephone-forward-fill
+
+
+ +
telephone-forward
+
+
+ +
telephone-inbound-fill
+
+
+ +
telephone-inbound
+
+
+ +
telephone-minus-fill
+
+
+ +
telephone-minus
+
+
+ +
telephone-outbound-fill
+
+
+ +
telephone-outbound
+
+
+ +
telephone-plus-fill
+
+
+ +
telephone-plus
+
+
+ +
telephone-x-fill
+
+
+ +
telephone-x
+
+
+ +
telephone
+
+
+ +
terminal-dash
+
+
+ +
terminal-fill
+
+
+ +
terminal-plus
+
+
+ +
terminal-split
+
+
+ +
terminal-x
+
+
+ +
terminal
+
+
+ +
text-center
+
+
+ +
text-indent-left
+
+
+ +
text-indent-right
+
+
+ +
text-left
+
+
+ +
text-paragraph
+
+
+ +
text-right
+
+
+ +
textarea-resize
+
+
+ +
textarea-t
+
+
+ +
textarea
+
+
+ +
thermometer-half
+
+
+ +
thermometer-high
+
+
+ +
thermometer-low
+
+
+ +
thermometer-snow
+
+
+ +
thermometer-sun
+
+
+ +
thermometer
+
+
+ +
three-dots-vertical
+
+
+ +
three-dots
+
+
+ +
thunderbolt-fill
+
+
+ +
thunderbolt
+
+
+ +
ticket-detailed-fill
+
+
+ +
ticket-detailed
+
+
+ +
ticket-fill
+
+
+ +
ticket-perforated-fill
+
+
+ +
ticket-perforated
+
+
+ +
ticket
+
+
+ +
tiktok
+
+
+ +
toggle-off
+
+
+ +
toggle-on
+
+
+ +
toggle2-off
+
+
+ +
toggle2-on
+
+
+ +
toggles
+
+
+ +
toggles2
+
+
+ +
tools
+
+
+ +
tornado
+
+
+ +
train-freight-front-fill
+
+
+ +
train-freight-front
+
+
+ +
train-front-fill
+
+
+ +
train-front
+
+
+ +
train-lightrail-front-fill
+
+
+ +
train-lightrail-front
+
+
+ +
translate
+
+
+ +
trash-fill
+
+
+ +
trash
+
+
+ +
trash2-fill
+
+
+ +
trash2
+
+
+ +
trash3-fill
+
+
+ +
trash3
+
+
+ +
tree-fill
+
+
+ +
tree
+
+
+ +
triangle-fill
+
+
+ +
triangle-half
+
+
+ +
triangle
+
+
+ +
trophy-fill
+
+
+ +
trophy
+
+
+ +
tropical-storm
+
+
+ +
truck-flatbed
+
+
+ +
truck-front-fill
+
+
+ +
truck-front
+
+
+ +
truck
+
+
+ +
tsunami
+
+
+ +
tv-fill
+
+
+ +
tv
+
+
+ +
twitch
+
+
+ +
twitter
+
+
+ +
type-bold
+
+
+ +
type-h1
+
+
+ +
type-h2
+
+
+ +
type-h3
+
+
+ +
type-italic
+
+
+ +
type-strikethrough
+
+
+ +
type-underline
+
+
+ +
type
+
+
+ +
ubuntu
+
+
+ +
ui-checks-grid
+
+
+ +
ui-checks
+
+
+ +
ui-radios-grid
+
+
+ +
ui-radios
+
+
+ +
umbrella-fill
+
+
+ +
umbrella
+
+
+ +
unindent
+
+
+ +
union
+
+
+ +
unity
+
+
+ +
universal-access-circle
+
+
+ +
universal-access
+
+
+ +
unlock-fill
+
+
+ +
unlock
+
+
+ +
upc-scan
+
+
+ +
upc
+
+
+ +
upload
+
+
+ +
usb-c-fill
+
+
+ +
usb-c
+
+
+ +
usb-drive-fill
+
+
+ +
usb-drive
+
+
+ +
usb-fill
+
+
+ +
usb-micro-fill
+
+
+ +
usb-micro
+
+
+ +
usb-mini-fill
+
+
+ +
usb-mini
+
+
+ +
usb-plug-fill
+
+
+ +
usb-plug
+
+
+ +
usb-symbol
+
+
+ +
usb
+
+
+ +
valentine
+
+
+ +
valentine2
+
+
+ +
vector-pen
+
+
+ +
view-list
+
+
+ +
view-stacked
+
+
+ +
vimeo
+
+
+ +
vinyl-fill
+
+
+ +
vinyl
+
+
+ +
virus
+
+
+ +
virus2
+
+
+ +
voicemail
+
+
+ +
volume-down-fill
+
+
+ +
volume-down
+
+
+ +
volume-mute-fill
+
+
+ +
volume-mute
+
+
+ +
volume-off-fill
+
+
+ +
volume-off
+
+
+ +
volume-up-fill
+
+
+ +
volume-up
+
+
+ +
vr
+
+
+ +
wallet-fill
+
+
+ +
wallet
+
+
+ +
wallet2
+
+
+ +
watch
+
+
+ +
water
+
+
+ +
webcam-fill
+
+
+ +
webcam
+
+
+ +
wechat
+
+
+ +
whatsapp
+
+
+ +
wifi-1
+
+
+ +
wifi-2
+
+
+ +
wifi-off
+
+
+ +
wifi
+
+
+ +
wind
+
+
+ +
window-dash
+
+
+ +
window-desktop
+
+
+ +
window-dock
+
+
+ +
window-fullscreen
+
+
+ +
window-plus
+
+
+ +
window-sidebar
+
+
+ +
window-split
+
+
+ +
window-stack
+
+
+ +
window-x
+
+
+ +
window
+
+
+ +
windows
+
+
+ +
wordpress
+
+
+ +
wrench-adjustable-circle-fill
+
+
+ +
wrench-adjustable-circle
+
+
+ +
wrench-adjustable
+
+
+ +
wrench
+
+
+ +
x-circle-fill
+
+
+ +
x-circle
+
+
+ +
x-diamond-fill
+
+
+ +
x-diamond
+
+
+ +
x-lg
+
+
+ +
x-octagon-fill
+
+
+ +
x-octagon
+
+
+ +
x-square-fill
+
+
+ +
x-square
+
+
+ +
x
+
+
+ +
xbox
+
+
+ +
yelp
+
+
+ +
yin-yang
+
+
+ +
youtube
+
+
+ +
zoom-in
+
+
+ +
zoom-out
+
+
+ + + diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle-fill.svg new file mode 100644 index 000000000..08afbb152 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle.svg new file mode 100644 index 000000000..8c518f7d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square-fill.svg new file mode 100644 index 000000000..d5375d465 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square.svg new file mode 100644 index 000000000..aa6670926 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/0-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle-fill.svg new file mode 100644 index 000000000..5141c8f12 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle.svg new file mode 100644 index 000000000..785af34d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square-fill.svg new file mode 100644 index 000000000..de579e6fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square.svg new file mode 100644 index 000000000..4f57d79b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/1-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/123.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/123.svg new file mode 100644 index 000000000..3ee3396cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/123.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle-fill.svg new file mode 100644 index 000000000..03a925132 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle.svg new file mode 100644 index 000000000..fea4a5630 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square-fill.svg new file mode 100644 index 000000000..a89e1f71e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square.svg new file mode 100644 index 000000000..558c78b90 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/2-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle-fill.svg new file mode 100644 index 000000000..06d2ea54e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle.svg new file mode 100644 index 000000000..23c347954 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square-fill.svg new file mode 100644 index 000000000..c6890a381 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square.svg new file mode 100644 index 000000000..b56b6844a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/3-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle-fill.svg new file mode 100644 index 000000000..199a5e28d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle.svg new file mode 100644 index 000000000..3af547d70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square-fill.svg new file mode 100644 index 000000000..03b0f94a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square.svg new file mode 100644 index 000000000..dd8545591 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/4-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle-fill.svg new file mode 100644 index 000000000..e940e9880 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle.svg new file mode 100644 index 000000000..47eefd087 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square-fill.svg new file mode 100644 index 000000000..1a878609a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square.svg new file mode 100644 index 000000000..9c54c773e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/5-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle-fill.svg new file mode 100644 index 000000000..18f66ef5c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle.svg new file mode 100644 index 000000000..ab5f748d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square-fill.svg new file mode 100644 index 000000000..d67fa52d6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square.svg new file mode 100644 index 000000000..79762c8bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/6-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle-fill.svg new file mode 100644 index 000000000..bb4522bf8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle.svg new file mode 100644 index 000000000..0dc4685e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square-fill.svg new file mode 100644 index 000000000..8a4789cc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square.svg new file mode 100644 index 000000000..a314c4a8b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/7-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle-fill.svg new file mode 100644 index 000000000..15cd6b4ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle.svg new file mode 100644 index 000000000..fb1454264 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square-fill.svg new file mode 100644 index 000000000..766d42ac0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square.svg new file mode 100644 index 000000000..f450b1786 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/8-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle-fill.svg new file mode 100644 index 000000000..6ebd865c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle.svg new file mode 100644 index 000000000..7c97f2940 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square-fill.svg new file mode 100644 index 000000000..daee3e84c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square.svg new file mode 100644 index 000000000..ade92337e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/9-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/activity.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/activity.svg new file mode 100644 index 000000000..1c45d1b44 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/activity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines-fill.svg new file mode 100644 index 000000000..b58d49ffc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines.svg new file mode 100644 index 000000000..78b79342b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-engines.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-fill.svg new file mode 100644 index 000000000..c8f2fce87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane.svg new file mode 100644 index 000000000..2e04c928c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/airplane.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm-fill.svg new file mode 100644 index 000000000..bec569f99 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm.svg new file mode 100644 index 000000000..53f7cbe99 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alarm.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alexa.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alexa.svg new file mode 100644 index 000000000..a68f1d9d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alexa.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-bottom.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-bottom.svg new file mode 100644 index 000000000..d9484c03e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-bottom.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-center.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-center.svg new file mode 100644 index 000000000..af0d75b0a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-center.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-end.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-end.svg new file mode 100644 index 000000000..28f861df2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-end.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-middle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-middle.svg new file mode 100644 index 000000000..95c6598f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-middle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-start.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-start.svg new file mode 100644 index 000000000..a72ba984b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-start.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-top.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-top.svg new file mode 100644 index 000000000..d2934f523 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/align-top.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alipay.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alipay.svg new file mode 100644 index 000000000..df7def9d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alipay.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alt.svg new file mode 100644 index 000000000..22b788648 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/amd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/amd.svg new file mode 100644 index 000000000..15dab8038 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/amd.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android.svg new file mode 100644 index 000000000..d8909520a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android2.svg new file mode 100644 index 000000000..37613cc60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/android2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app-indicator.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app-indicator.svg new file mode 100644 index 000000000..450a01127 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app-indicator.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app.svg new file mode 100644 index 000000000..819df1bdc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/app.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/apple.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/apple.svg new file mode 100644 index 000000000..b8bc2a015 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/apple.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive-fill.svg new file mode 100644 index 000000000..077aa2973 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive.svg new file mode 100644 index 000000000..b41be300f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/archive.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-down.svg new file mode 100644 index 000000000..1193b5d5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-left.svg new file mode 100644 index 000000000..1656b2286 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-right.svg new file mode 100644 index 000000000..a7d32ce4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-up.svg new file mode 100644 index 000000000..6c95e3de4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-90deg-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-down.svg new file mode 100644 index 000000000..fe18e3915 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-left.svg new file mode 100644 index 000000000..f53a1fdd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-right.svg new file mode 100644 index 000000000..5019863d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-up.svg new file mode 100644 index 000000000..090b6bd4c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-bar-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-clockwise.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-clockwise.svg new file mode 100644 index 000000000..b072eb097 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-clockwise.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-counterclockwise.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-counterclockwise.svg new file mode 100644 index 000000000..b0b23b9bb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-counterclockwise.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle-fill.svg new file mode 100644 index 000000000..8e837c0b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle.svg new file mode 100644 index 000000000..fe215b941 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle-fill.svg new file mode 100644 index 000000000..bcebc12de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle.svg new file mode 100644 index 000000000..8b52276fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square-fill.svg new file mode 100644 index 000000000..57c099f10 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square.svg new file mode 100644 index 000000000..08e00288e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left.svg new file mode 100644 index 000000000..96a6b08db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle-fill.svg new file mode 100644 index 000000000..35ab8c26e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle.svg new file mode 100644 index 000000000..1cd51bca4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square-fill.svg new file mode 100644 index 000000000..3ccff9ba1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square.svg new file mode 100644 index 000000000..5019b260b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right.svg new file mode 100644 index 000000000..80487bd0a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-short.svg new file mode 100644 index 000000000..2fda34073 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square-fill.svg new file mode 100644 index 000000000..ea8f14b49 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square.svg new file mode 100644 index 000000000..633671f25 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-up.svg new file mode 100644 index 000000000..a128d9bed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down.svg new file mode 100644 index 000000000..1344ca9dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle-fill.svg new file mode 100644 index 000000000..2eebe62ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle.svg new file mode 100644 index 000000000..39f86b8c6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-right.svg new file mode 100644 index 000000000..8aabd7bea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-short.svg new file mode 100644 index 000000000..13005fb27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square-fill.svg new file mode 100644 index 000000000..76dbe9e75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square.svg new file mode 100644 index 000000000..4db19b31e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left.svg new file mode 100644 index 000000000..9d885017c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-repeat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-repeat.svg new file mode 100644 index 000000000..d0d71546a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-repeat.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-left.svg new file mode 100644 index 000000000..f6b125ede --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-right.svg new file mode 100644 index 000000000..228e24b4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-return-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle-fill.svg new file mode 100644 index 000000000..336a34ea0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle.svg new file mode 100644 index 000000000..1339b5206 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-short.svg new file mode 100644 index 000000000..4626398ce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square-fill.svg new file mode 100644 index 000000000..55285ebe7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square.svg new file mode 100644 index 000000000..7209ead8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right.svg new file mode 100644 index 000000000..d4b878b34 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart-fill.svg new file mode 100644 index 000000000..1b3c30f68 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart.svg new file mode 100644 index 000000000..f35287083 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-through-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle-fill.svg new file mode 100644 index 000000000..ab0a54cce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle.svg new file mode 100644 index 000000000..9923ae3e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle-fill.svg new file mode 100644 index 000000000..df6e194c6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle.svg new file mode 100644 index 000000000..dfdaf71fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square-fill.svg new file mode 100644 index 000000000..220169da8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square.svg new file mode 100644 index 000000000..9d3767f5b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left.svg new file mode 100644 index 000000000..da5bb6c1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle-fill.svg new file mode 100644 index 000000000..ba547c827 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle.svg new file mode 100644 index 000000000..f2fcabc7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square-fill.svg new file mode 100644 index 000000000..7454537b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square.svg new file mode 100644 index 000000000..97544231d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right.svg new file mode 100644 index 000000000..6924a38d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-short.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-short.svg new file mode 100644 index 000000000..3863f1535 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-short.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square-fill.svg new file mode 100644 index 000000000..bb51b25a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square.svg new file mode 100644 index 000000000..d21f03eb6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up.svg new file mode 100644 index 000000000..c46d49eb4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrow-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-contract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-contract.svg new file mode 100644 index 000000000..d140e1943 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-contract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-expand.svg new file mode 100644 index 000000000..3697f605b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-angle-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-collapse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-collapse.svg new file mode 100644 index 000000000..353eed672 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-collapse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-expand.svg new file mode 100644 index 000000000..9880f2564 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-fullscreen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-fullscreen.svg new file mode 100644 index 000000000..dc0acc3ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-fullscreen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-move.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-move.svg new file mode 100644 index 000000000..eef62ef00 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/arrows-move.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio-fill.svg new file mode 100644 index 000000000..81dcfcba5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio.svg new file mode 100644 index 000000000..66719a76e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/aspect-ratio.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/asterisk.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/asterisk.svg new file mode 100644 index 000000000..8b0a9daef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/asterisk.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/at.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/at.svg new file mode 100644 index 000000000..4a85e1453 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/at.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award-fill.svg new file mode 100644 index 000000000..6b589962b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award.svg new file mode 100644 index 000000000..8f572ff07 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/award.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/back.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/back.svg new file mode 100644 index 000000000..4c6cbcbac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/back.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-fill.svg new file mode 100644 index 000000000..ab63109ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse-fill.svg new file mode 100644 index 000000000..ed509ec2f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse.svg new file mode 100644 index 000000000..446e019db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace.svg new file mode 100644 index 000000000..55c802cf1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/backspace.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d-fill.svg new file mode 100644 index 000000000..ac61cb5e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d.svg new file mode 100644 index 000000000..34858372a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-3d.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k-fill.svg new file mode 100644 index 000000000..f353033d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k.svg new file mode 100644 index 000000000..24ddcb195 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-4k.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k-fill.svg new file mode 100644 index 000000000..1e1d4c162 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k.svg new file mode 100644 index 000000000..7df4c753e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-8k.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad-fill.svg new file mode 100644 index 000000000..b383de673 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad.svg new file mode 100644 index 000000000..942b018b8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ad.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar-fill.svg new file mode 100644 index 000000000..f98caaca4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar.svg new file mode 100644 index 000000000..221050609 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-ar.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc-fill.svg new file mode 100644 index 000000000..d9783fe5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc.svg new file mode 100644 index 000000000..7868cb404 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-cc.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd-fill.svg new file mode 100644 index 000000000..9f0a4982d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd.svg new file mode 100644 index 000000000..e3f4ae753 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-hd.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd-fill.svg new file mode 100644 index 000000000..538b64275 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd.svg new file mode 100644 index 000000000..68667dd7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-sd.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm-fill.svg new file mode 100644 index 000000000..7d334ce58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm.svg new file mode 100644 index 000000000..452dd3bd8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-tm.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo-fill.svg new file mode 100644 index 000000000..1f74e75b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo.svg new file mode 100644 index 000000000..500d98f97 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr-fill.svg new file mode 100644 index 000000000..6cde11ff0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr.svg new file mode 100644 index 000000000..5c0685248 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-vr.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc-fill.svg new file mode 100644 index 000000000..47db37b1a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc.svg new file mode 100644 index 000000000..3f0cc5b13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/badge-wc.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check-fill.svg new file mode 100644 index 000000000..a1ba2d27d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check.svg new file mode 100644 index 000000000..c6ad9acb1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash-fill.svg new file mode 100644 index 000000000..a73924286 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash.svg new file mode 100644 index 000000000..9bcb202f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-fill.svg new file mode 100644 index 000000000..1a1e2e2e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart-fill.svg new file mode 100644 index 000000000..a859e05c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart.svg new file mode 100644 index 000000000..2a6bd30c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus-fill.svg new file mode 100644 index 000000000..a110b32ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus.svg new file mode 100644 index 000000000..b99a1a571 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x-fill.svg new file mode 100644 index 000000000..879bffe60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x.svg new file mode 100644 index 000000000..616532ca4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag.svg new file mode 100644 index 000000000..603de5f44 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bag.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-fill.svg new file mode 100644 index 000000000..b66389461 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart-fill.svg new file mode 100644 index 000000000..cebfb9381 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart.svg new file mode 100644 index 000000000..dadf467ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon.svg new file mode 100644 index 000000000..6ca06c3e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/balloon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid-fill.svg new file mode 100644 index 000000000..41d350a84 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid.svg new file mode 100644 index 000000000..de16de979 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bandaid.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank.svg new file mode 100644 index 000000000..264eaaa52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank2.svg new file mode 100644 index 000000000..b03840cae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bank2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-fill.svg new file mode 100644 index 000000000..23ba4f6e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line-fill.svg new file mode 100644 index 000000000..a5059c460 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line.svg new file mode 100644 index 000000000..e3f0cf255 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-line.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-steps.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-steps.svg new file mode 100644 index 000000000..933fba881 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart-steps.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart.svg new file mode 100644 index 000000000..c34c0d450 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bar-chart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket-fill.svg new file mode 100644 index 000000000..ebf223c72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket.svg new file mode 100644 index 000000000..4bc584b2d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2-fill.svg new file mode 100644 index 000000000..9ebf8dbbb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2.svg new file mode 100644 index 000000000..94f0bcb87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3-fill.svg new file mode 100644 index 000000000..e26f0ee62 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3.svg new file mode 100644 index 000000000..ac46c0117 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/basket3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-charging.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-charging.svg new file mode 100644 index 000000000..cbd91075c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-charging.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-full.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-full.svg new file mode 100644 index 000000000..48cf92eae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-full.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-half.svg new file mode 100644 index 000000000..8c3afca28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery-half.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery.svg new file mode 100644 index 000000000..126036069 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/battery.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/behance.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/behance.svg new file mode 100644 index 000000000..a6a2c42b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/behance.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-fill.svg new file mode 100644 index 000000000..76d9b6015 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash-fill.svg new file mode 100644 index 000000000..2e6f8cf89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash.svg new file mode 100644 index 000000000..eddbb8adf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell.svg new file mode 100644 index 000000000..585d417ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bell.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier.svg new file mode 100644 index 000000000..21ec7b3ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier2.svg new file mode 100644 index 000000000..48722d0c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bezier2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bicycle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bicycle.svg new file mode 100644 index 000000000..17a2105b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bicycle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars-fill.svg new file mode 100644 index 000000000..de09c7353 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars.svg new file mode 100644 index 000000000..47bca444f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/binoculars.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-left.svg new file mode 100644 index 000000000..f2e0fa270 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-right.svg new file mode 100644 index 000000000..253518db0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/blockquote-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bluetooth.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bluetooth.svg new file mode 100644 index 000000000..5021e77f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bluetooth.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/body-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/body-text.svg new file mode 100644 index 000000000..81ede1331 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/body-text.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-fill.svg new file mode 100644 index 000000000..276a281f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-half.svg new file mode 100644 index 000000000..76589a577 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book.svg new file mode 100644 index 000000000..f0e5e49eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/book.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check-fill.svg new file mode 100644 index 000000000..039e4555a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check.svg new file mode 100644 index 000000000..b1f572f58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash-fill.svg new file mode 100644 index 000000000..e17119240 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash.svg new file mode 100644 index 000000000..1138dbb81 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-fill.svg new file mode 100644 index 000000000..94661024c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart-fill.svg new file mode 100644 index 000000000..83db817bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart.svg new file mode 100644 index 000000000..be0adb19e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus-fill.svg new file mode 100644 index 000000000..bb4502ab2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus.svg new file mode 100644 index 000000000..986a2223f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star-fill.svg new file mode 100644 index 000000000..220f16ff4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star.svg new file mode 100644 index 000000000..0d2f26267 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-star.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x-fill.svg new file mode 100644 index 000000000..69fd98233 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x.svg new file mode 100644 index 000000000..6ac9e8016 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark.svg new file mode 100644 index 000000000..93e1d995b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmark.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks-fill.svg new file mode 100644 index 000000000..eb5a2db27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks.svg new file mode 100644 index 000000000..6efa0bc01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookmarks.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookshelf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookshelf.svg new file mode 100644 index 000000000..6549ea1b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bookshelf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox-fill.svg new file mode 100644 index 000000000..6103ae227 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox.svg new file mode 100644 index 000000000..520f23ed6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boombox.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-fill.svg new file mode 100644 index 000000000..9d163208c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-reboot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-reboot.svg new file mode 100644 index 000000000..4a184cf7c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap-reboot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap.svg new file mode 100644 index 000000000..b6aed61d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bootstrap.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-all.svg new file mode 100644 index 000000000..803f5e228 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-all.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-bottom.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-bottom.svg new file mode 100644 index 000000000..dbc219291 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-bottom.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-center.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-center.svg new file mode 100644 index 000000000..009b97da3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-center.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-inner.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-inner.svg new file mode 100644 index 000000000..2beaa0cdd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-inner.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-left.svg new file mode 100644 index 000000000..69df882a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-middle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-middle.svg new file mode 100644 index 000000000..90296f906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-middle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-outer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-outer.svg new file mode 100644 index 000000000..355e05ef3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-outer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-right.svg new file mode 100644 index 000000000..b0c16da58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-style.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-style.svg new file mode 100644 index 000000000..d742b2c95 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-style.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-top.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-top.svg new file mode 100644 index 000000000..5aab36858 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-top.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-width.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-width.svg new file mode 100644 index 000000000..0cbd0e668 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border-width.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border.svg new file mode 100644 index 000000000..0e8c9b52d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/border.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box-circles.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box-circles.svg new file mode 100644 index 000000000..2e59f31a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box-circles.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box.svg new file mode 100644 index 000000000..d5292928f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bounding-box.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-left.svg new file mode 100644 index 000000000..6ad3e177d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-right.svg new file mode 100644 index 000000000..321cddf0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down.svg new file mode 100644 index 000000000..9a2ca1279 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-left.svg new file mode 100644 index 000000000..76a687a0d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-right.svg new file mode 100644 index 000000000..923729341 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down.svg new file mode 100644 index 000000000..90f9301ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-left.svg new file mode 100644 index 000000000..a237dafb3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-right.svg new file mode 100644 index 000000000..d158daede --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-left.svg new file mode 100644 index 000000000..6937f6a69 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-right.svg new file mode 100644 index 000000000..891861172 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up.svg new file mode 100644 index 000000000..e6a4a7bec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-in-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-left.svg new file mode 100644 index 000000000..8602603ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-right.svg new file mode 100644 index 000000000..2c4e26c52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-left.svg new file mode 100644 index 000000000..7fb0b4581 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-right.svg new file mode 100644 index 000000000..1d93acb91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up.svg new file mode 100644 index 000000000..beaf33467 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-fill.svg new file mode 100644 index 000000000..8cf213f81 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam-fill.svg new file mode 100644 index 000000000..97566ab58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam.svg new file mode 100644 index 000000000..e1506b838 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box-seam.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box.svg new file mode 100644 index 000000000..58cbe2c28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-fill.svg new file mode 100644 index 000000000..242ad6a84 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart-fill.svg new file mode 100644 index 000000000..810e2ee6b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart.svg new file mode 100644 index 000000000..400eb431b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2.svg new file mode 100644 index 000000000..6020bafec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/box2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boxes.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boxes.svg new file mode 100644 index 000000000..b53fac847 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/boxes.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces-asterisk.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces-asterisk.svg new file mode 100644 index 000000000..0a1a25bfa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces-asterisk.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces.svg new file mode 100644 index 000000000..3fed8c903 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/braces.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bricks.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bricks.svg new file mode 100644 index 000000000..99e288642 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bricks.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase-fill.svg new file mode 100644 index 000000000..bc6150dc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase.svg new file mode 100644 index 000000000..95d13a23e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/briefcase.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high-fill.svg new file mode 100644 index 000000000..766065825 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high.svg new file mode 100644 index 000000000..88f5255c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-high.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low-fill.svg new file mode 100644 index 000000000..1692df21f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low.svg new file mode 100644 index 000000000..2d68fb0b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-alt-low.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high-fill.svg new file mode 100644 index 000000000..8969e9ba0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high.svg new file mode 100644 index 000000000..42b2c205b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-high.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low-fill.svg new file mode 100644 index 000000000..29a1c3b1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low.svg new file mode 100644 index 000000000..fdd251ddc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brightness-low.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast-pin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast-pin.svg new file mode 100644 index 000000000..5576e0ec2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast-pin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast.svg new file mode 100644 index 000000000..776a2378b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/broadcast.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-chrome.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-chrome.svg new file mode 100644 index 000000000..a34ab4281 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-chrome.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-edge.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-edge.svg new file mode 100644 index 000000000..c8191d880 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-edge.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-firefox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-firefox.svg new file mode 100644 index 000000000..2bfdba7e8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-firefox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-safari.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-safari.svg new file mode 100644 index 000000000..b304b1b9b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/browser-safari.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush-fill.svg new file mode 100644 index 000000000..53ec4d62d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush.svg new file mode 100644 index 000000000..cc3429b9d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/brush.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket-fill.svg new file mode 100644 index 000000000..e14f4a879 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket.svg new file mode 100644 index 000000000..4911ef254 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bucket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug-fill.svg new file mode 100644 index 000000000..bf1644711 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug.svg new file mode 100644 index 000000000..a97ffa177 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bug.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-add.svg new file mode 100644 index 000000000..d5016d4d1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-add.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-check.svg new file mode 100644 index 000000000..151712db8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-dash.svg new file mode 100644 index 000000000..df489c8dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-dash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-down.svg new file mode 100644 index 000000000..2493f51a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-down.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-exclamation.svg new file mode 100644 index 000000000..f2d8f62db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-add.svg new file mode 100644 index 000000000..2019e92fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-check.svg new file mode 100644 index 000000000..50485c60a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-dash.svg new file mode 100644 index 000000000..67107eb5b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-down.svg new file mode 100644 index 000000000..b072754ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-exclamation.svg new file mode 100644 index 000000000..6ca39dc0c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-gear.svg new file mode 100644 index 000000000..95d6126be --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-lock.svg new file mode 100644 index 000000000..ddd8e6ce7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-slash.svg new file mode 100644 index 000000000..7e30330be --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-up.svg new file mode 100644 index 000000000..ef87446cf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-x.svg new file mode 100644 index 000000000..0311537c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill.svg new file mode 100644 index 000000000..fa95d1f77 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-gear.svg new file mode 100644 index 000000000..698a74673 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-lock.svg new file mode 100644 index 000000000..f4da96c28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-slash.svg new file mode 100644 index 000000000..9920301ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-slash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-up.svg new file mode 100644 index 000000000..b2b0433c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-x.svg new file mode 100644 index 000000000..81bff0f88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building.svg new file mode 100644 index 000000000..eb90b93a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/building.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings-fill.svg new file mode 100644 index 000000000..3799c1d83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings.svg new file mode 100644 index 000000000..b842c0c46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/buildings.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bullseye.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bullseye.svg new file mode 100644 index 000000000..85a807cee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bullseye.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front-fill.svg new file mode 100644 index 000000000..c71376d1b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front.svg new file mode 100644 index 000000000..bdf6b61e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/bus-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle-fill.svg new file mode 100644 index 000000000..0b4adad1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle.svg new file mode 100644 index 000000000..3e4e26801 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square-fill.svg new file mode 100644 index 000000000..0b24f7340 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square.svg new file mode 100644 index 000000000..822ae023d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/c-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator-fill.svg new file mode 100644 index 000000000..c4ee270f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator.svg new file mode 100644 index 000000000..be8e11a96 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calculator.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check-fill.svg new file mode 100644 index 000000000..76afaa26a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check.svg new file mode 100644 index 000000000..125b358d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date-fill.svg new file mode 100644 index 000000000..37e9cb52e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date.svg new file mode 100644 index 000000000..7c53231a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-date.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day-fill.svg new file mode 100644 index 000000000..7f1c3c151 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day.svg new file mode 100644 index 000000000..f043369eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-day.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event-fill.svg new file mode 100644 index 000000000..844dd151b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event.svg new file mode 100644 index 000000000..41c0ef9b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-event.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-fill.svg new file mode 100644 index 000000000..0cdeb35ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart-fill.svg new file mode 100644 index 000000000..bed00d813 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart.svg new file mode 100644 index 000000000..2fe7c13f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus-fill.svg new file mode 100644 index 000000000..f23e6482e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus.svg new file mode 100644 index 000000000..8f970accf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month-fill.svg new file mode 100644 index 000000000..9123437c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month.svg new file mode 100644 index 000000000..ad6a330cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-month.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus-fill.svg new file mode 100644 index 000000000..3928c6389 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus.svg new file mode 100644 index 000000000..70746dbe5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range-fill.svg new file mode 100644 index 000000000..41bb2a2f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range.svg new file mode 100644 index 000000000..934a45c80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week-fill.svg new file mode 100644 index 000000000..00930aa40 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week.svg new file mode 100644 index 000000000..06d6995f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x-fill.svg new file mode 100644 index 000000000..01be3013c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x.svg new file mode 100644 index 000000000..faf46e11f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar.svg new file mode 100644 index 000000000..c8590dd08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check-fill.svg new file mode 100644 index 000000000..f49354e82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check.svg new file mode 100644 index 000000000..f82605669 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date-fill.svg new file mode 100644 index 000000000..ac005e0f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date.svg new file mode 100644 index 000000000..2dd64e8e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-date.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day-fill.svg new file mode 100644 index 000000000..2ab1b216c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day.svg new file mode 100644 index 000000000..d4d485660 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-day.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event-fill.svg new file mode 100644 index 000000000..5bdbc27ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event.svg new file mode 100644 index 000000000..8c1c7cd04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-event.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-fill.svg new file mode 100644 index 000000000..4b81563f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart-fill.svg new file mode 100644 index 000000000..a1782e3d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart.svg new file mode 100644 index 000000000..6d6698105 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus-fill.svg new file mode 100644 index 000000000..af8721331 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus.svg new file mode 100644 index 000000000..eff8110de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month-fill.svg new file mode 100644 index 000000000..58deabc10 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month.svg new file mode 100644 index 000000000..88c922e26 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-month.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus-fill.svg new file mode 100644 index 000000000..8b41682f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus.svg new file mode 100644 index 000000000..7ec7d4956 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range-fill.svg new file mode 100644 index 000000000..39ba322f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range.svg new file mode 100644 index 000000000..4a8d9adc7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week-fill.svg new file mode 100644 index 000000000..830377986 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week.svg new file mode 100644 index 000000000..835ce0671 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x-fill.svg new file mode 100644 index 000000000..2157939a5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x.svg new file mode 100644 index 000000000..e7cc3390d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2.svg new file mode 100644 index 000000000..db2e06dda --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event-fill.svg new file mode 100644 index 000000000..c4940904a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event.svg new file mode 100644 index 000000000..681ce4d23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-event.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-fill.svg new file mode 100644 index 000000000..e37c234ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range-fill.svg new file mode 100644 index 000000000..00875b2a5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range.svg new file mode 100644 index 000000000..a45251605 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week-fill.svg new file mode 100644 index 000000000..53e5bc702 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week.svg new file mode 100644 index 000000000..e9a768cb7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3.svg new file mode 100644 index 000000000..eb3c5f2d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-event.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-event.svg new file mode 100644 index 000000000..51d40e873 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-event.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-range.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-range.svg new file mode 100644 index 000000000..129d7c195 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-range.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-week.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-week.svg new file mode 100644 index 000000000..5644238ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4-week.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4.svg new file mode 100644 index 000000000..1c6268515 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/calendar4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-fill.svg new file mode 100644 index 000000000..be16451ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels-fill.svg new file mode 100644 index 000000000..347f44e06 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels.svg new file mode 100644 index 000000000..1aa7b1ca3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-reels.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-fill.svg new file mode 100644 index 000000000..0222b9587 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off-fill.svg new file mode 100644 index 000000000..99090600f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off.svg new file mode 100644 index 000000000..7635e9b5c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video.svg new file mode 100644 index 000000000..199e7a837 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera-video.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera.svg new file mode 100644 index 000000000..fb337fe50 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera2.svg new file mode 100644 index 000000000..a33ae6b6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/camera2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock-fill.svg new file mode 100644 index 000000000..e4af909ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock.svg new file mode 100644 index 000000000..12155de35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capslock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule-pill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule-pill.svg new file mode 100644 index 000000000..c57efff62 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule-pill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule.svg new file mode 100644 index 000000000..844aa8ee2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/capsule.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front-fill.svg new file mode 100644 index 000000000..e9c5204ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front.svg new file mode 100644 index 000000000..a2ec568e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/car-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-checklist.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-checklist.svg new file mode 100644 index 000000000..ce2a553e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-checklist.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-heading.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-heading.svg new file mode 100644 index 000000000..682bd4e41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-heading.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-image.svg new file mode 100644 index 000000000..473ff030b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-list.svg new file mode 100644 index 000000000..3dc5d429f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-list.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-text.svg new file mode 100644 index 000000000..d218f554b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/card-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-fill.svg new file mode 100644 index 000000000..d7c3990eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square-fill.svg new file mode 100644 index 000000000..ae8fbb468 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square.svg new file mode 100644 index 000000000..cf34038a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down.svg new file mode 100644 index 000000000..026b0ff35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-fill.svg new file mode 100644 index 000000000..d989dff93 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square-fill.svg new file mode 100644 index 000000000..5d8ab5672 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square.svg new file mode 100644 index 000000000..099b54ddd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left.svg new file mode 100644 index 000000000..89732f090 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-fill.svg new file mode 100644 index 000000000..b44555181 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square-fill.svg new file mode 100644 index 000000000..ea06657fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square.svg new file mode 100644 index 000000000..4039064d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right.svg new file mode 100644 index 000000000..451686e4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-fill.svg new file mode 100644 index 000000000..a87820e6e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square-fill.svg new file mode 100644 index 000000000..25c66a58b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square.svg new file mode 100644 index 000000000..d59ecbf9e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up.svg new file mode 100644 index 000000000..36ca8f0ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/caret-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check-fill.svg new file mode 100644 index 000000000..019c1fc92 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check.svg new file mode 100644 index 000000000..986706a40 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash-fill.svg new file mode 100644 index 000000000..2562744b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash.svg new file mode 100644 index 000000000..ecd23f336 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-fill.svg new file mode 100644 index 000000000..a2b95bf09 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus-fill.svg new file mode 100644 index 000000000..9858fe1e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus.svg new file mode 100644 index 000000000..acafe1324 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x-fill.svg new file mode 100644 index 000000000..a9a32caa0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x.svg new file mode 100644 index 000000000..feddfdd50 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart.svg new file mode 100644 index 000000000..486adb1c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart2.svg new file mode 100644 index 000000000..7e1bd9abf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart3.svg new file mode 100644 index 000000000..2187149f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart4.svg new file mode 100644 index 000000000..b40891fbc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cart4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-coin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-coin.svg new file mode 100644 index 000000000..bc82c64af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-coin.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-stack.svg new file mode 100644 index 000000000..492cb381f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash-stack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash.svg new file mode 100644 index 000000000..ef3a4e7dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette-fill.svg new file mode 100644 index 000000000..e8dd8f1aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette.svg new file mode 100644 index 000000000..c28170c07 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cassette.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cast.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cast.svg new file mode 100644 index 000000000..1eda17371 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cast.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle-fill.svg new file mode 100644 index 000000000..ca9779e19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle.svg new file mode 100644 index 000000000..6de6b7603 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square-fill.svg new file mode 100644 index 000000000..f9b44d549 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square.svg new file mode 100644 index 000000000..90c52bce0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cc-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots-fill.svg new file mode 100644 index 000000000..2e3d22505 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots.svg new file mode 100644 index 000000000..a74267d28 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-fill.svg new file mode 100644 index 000000000..69ed44bea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart-fill.svg new file mode 100644 index 000000000..9be92ca2e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart.svg new file mode 100644 index 000000000..90c276b8c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots-fill.svg new file mode 100644 index 000000000..eb7f531bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots.svg new file mode 100644 index 000000000..c73169d7d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-fill.svg new file mode 100644 index 000000000..38c389f51 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart-fill.svg new file mode 100644 index 000000000..787ed61cf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart.svg new file mode 100644 index 000000000..1604e7bca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote-fill.svg new file mode 100644 index 000000000..b115a9fe6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote.svg new file mode 100644 index 000000000..448827f4f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text-fill.svg new file mode 100644 index 000000000..28a0f4710 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text.svg new file mode 100644 index 000000000..2b69a9891 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left.svg new file mode 100644 index 000000000..fd2f4ee4c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote-fill.svg new file mode 100644 index 000000000..4a3af86eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote.svg new file mode 100644 index 000000000..f890c38d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots-fill.svg new file mode 100644 index 000000000..49ce0973c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots.svg new file mode 100644 index 000000000..423d221dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-fill.svg new file mode 100644 index 000000000..41b767bbf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart-fill.svg new file mode 100644 index 000000000..b55dc621e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart.svg new file mode 100644 index 000000000..744e8a0d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote-fill.svg new file mode 100644 index 000000000..e63f92b52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote.svg new file mode 100644 index 000000000..42c8dbe04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text-fill.svg new file mode 100644 index 000000000..32df9212a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text.svg new file mode 100644 index 000000000..d8b600464 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right.svg new file mode 100644 index 000000000..b702b5d18 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots-fill.svg new file mode 100644 index 000000000..1025978df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots.svg new file mode 100644 index 000000000..e59cd1a1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-dots.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-fill.svg new file mode 100644 index 000000000..2fb73ac48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart-fill.svg new file mode 100644 index 000000000..f200049c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart.svg new file mode 100644 index 000000000..89ca6efd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote-fill.svg new file mode 100644 index 000000000..761cb91c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote.svg new file mode 100644 index 000000000..40893f495 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-quote.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text-fill.svg new file mode 100644 index 000000000..1dd17c513 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text.svg new file mode 100644 index 000000000..ae3fd8da2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square.svg new file mode 100644 index 000000000..7611729e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text-fill.svg new file mode 100644 index 000000000..fff3db332 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text.svg new file mode 100644 index 000000000..75a79f1a3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat.svg new file mode 100644 index 000000000..3cb81b293 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chat.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-all.svg new file mode 100644 index 000000000..b0019d00f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-all.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle-fill.svg new file mode 100644 index 000000000..e861174a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle.svg new file mode 100644 index 000000000..d8dd0cd57 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-lg.svg new file mode 100644 index 000000000..7afb0ae18 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square-fill.svg new file mode 100644 index 000000000..45d682850 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square.svg new file mode 100644 index 000000000..d71c1f348 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check.svg new file mode 100644 index 000000000..9de6cc752 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-all.svg new file mode 100644 index 000000000..25d8ba52f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-all.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-circle.svg new file mode 100644 index 000000000..7319d37b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-square.svg new file mode 100644 index 000000000..2d5e6eb87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2.svg new file mode 100644 index 000000000..e187956c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/check2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-contract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-contract.svg new file mode 100644 index 000000000..f12917f79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-contract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-down.svg new file mode 100644 index 000000000..4df2259f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-expand.svg new file mode 100644 index 000000000..6cb775f94 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-left.svg new file mode 100644 index 000000000..5d53406ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-right.svg new file mode 100644 index 000000000..b71553ca9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-up.svg new file mode 100644 index 000000000..9ca140895 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-bar-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-down.svg new file mode 100644 index 000000000..fb1767e01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-left.svg new file mode 100644 index 000000000..5dd6b6bfc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-right.svg new file mode 100644 index 000000000..ecb5994e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-up.svg new file mode 100644 index 000000000..8bc0a55e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-compact-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-contract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-contract.svg new file mode 100644 index 000000000..5243d4354 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-contract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-down.svg new file mode 100644 index 000000000..0df76eed4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-left.svg new file mode 100644 index 000000000..7181fd111 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-right.svg new file mode 100644 index 000000000..73e1b352d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-up.svg new file mode 100644 index 000000000..5c9a01326 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-double-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-down.svg new file mode 100644 index 000000000..1f0b8bc70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-expand.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-expand.svg new file mode 100644 index 000000000..0a2b81a3b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-left.svg new file mode 100644 index 000000000..018f8b673 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-right.svg new file mode 100644 index 000000000..d621289b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-up.svg new file mode 100644 index 000000000..3b2bd42e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/chevron-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-fill.svg new file mode 100644 index 000000000..e0d1b5157 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-half.svg new file mode 100644 index 000000000..53809298b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-square.svg new file mode 100644 index 000000000..37d86229f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle.svg new file mode 100644 index 000000000..dc57919b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check-fill.svg new file mode 100644 index 000000000..4c0c18fcf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check.svg new file mode 100644 index 000000000..f7591aecf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data-fill.svg new file mode 100644 index 000000000..e7de45a26 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data.svg new file mode 100644 index 000000000..b4fcb336b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-data.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-fill.svg new file mode 100644 index 000000000..86d3da067 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart-fill.svg new file mode 100644 index 000000000..c653de1c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart.svg new file mode 100644 index 000000000..0b5b31921 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-heart.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus-fill.svg new file mode 100644 index 000000000..7828cb8b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus.svg new file mode 100644 index 000000000..4826c3e65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus-fill.svg new file mode 100644 index 000000000..2ebdba42c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus.svg new file mode 100644 index 000000000..79020c074 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-pulse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-pulse.svg new file mode 100644 index 000000000..0c43dab87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-pulse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x-fill.svg new file mode 100644 index 000000000..8cba1ea76 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x.svg new file mode 100644 index 000000000..bba444da7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard.svg new file mode 100644 index 000000000..360e0894c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check-fill.svg new file mode 100644 index 000000000..01aed624b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check.svg new file mode 100644 index 000000000..c2352080c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data-fill.svg new file mode 100644 index 000000000..40656a7b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data.svg new file mode 100644 index 000000000..74b26f516 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-data.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-fill.svg new file mode 100644 index 000000000..ca2df5711 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart-fill.svg new file mode 100644 index 000000000..2abc35947 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart.svg new file mode 100644 index 000000000..4883c3f2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-heart.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus-fill.svg new file mode 100644 index 000000000..000a2c631 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus.svg new file mode 100644 index 000000000..a634bb0f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus-fill.svg new file mode 100644 index 000000000..f1702d8bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus.svg new file mode 100644 index 000000000..474ffdcc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse-fill.svg new file mode 100644 index 000000000..5017f6dcc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse.svg new file mode 100644 index 000000000..1e6370c08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-pulse.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x-fill.svg new file mode 100644 index 000000000..8f63584d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x.svg new file mode 100644 index 000000000..9ac82117a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2.svg new file mode 100644 index 000000000..d729ddb6e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clipboard2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-fill.svg new file mode 100644 index 000000000..189dec101 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-history.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-history.svg new file mode 100644 index 000000000..414b526c6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock-history.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock.svg new file mode 100644 index 000000000..72f293960 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down-fill.svg new file mode 100644 index 000000000..6e18ca9ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down.svg new file mode 100644 index 000000000..cb8e33aee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up-fill.svg new file mode 100644 index 000000000..89d72fbe1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up.svg new file mode 100644 index 000000000..6f69abc7c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check-fill.svg new file mode 100644 index 000000000..81f28b5f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check.svg new file mode 100644 index 000000000..917d5c2e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download-fill.svg new file mode 100644 index 000000000..53c4242f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download.svg new file mode 100644 index 000000000..c6b3fe31e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-download.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle-fill.svg new file mode 100644 index 000000000..996aec436 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle.svg new file mode 100644 index 000000000..bb1e68bfc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-drizzle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fill.svg new file mode 100644 index 000000000..23755bd82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog-fill.svg new file mode 100644 index 000000000..07f10f4c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog.svg new file mode 100644 index 000000000..b40c9838c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2-fill.svg new file mode 100644 index 000000000..1d498514e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2.svg new file mode 100644 index 000000000..1bd3c2501 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-fog2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail-fill.svg new file mode 100644 index 000000000..d8a096bd2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail.svg new file mode 100644 index 000000000..2f9bec11c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-hail.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze-fill.svg new file mode 100644 index 000000000..002fc26b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze.svg new file mode 100644 index 000000000..513e346cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2-fill.svg new file mode 100644 index 000000000..e9b7bda75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2.svg new file mode 100644 index 000000000..c213dfb7f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-haze2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-fill.svg new file mode 100644 index 000000000..1d309046b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain-fill.svg new file mode 100644 index 000000000..2b6d4a1cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain.svg new file mode 100644 index 000000000..31badb3b0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning-rain.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning.svg new file mode 100644 index 000000000..5a8bafd8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-lightning.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus-fill.svg new file mode 100644 index 000000000..753727fe8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus.svg new file mode 100644 index 000000000..a4ab6f97c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon-fill.svg new file mode 100644 index 000000000..d968faf9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon.svg new file mode 100644 index 000000000..1089204ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-moon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus-fill.svg new file mode 100644 index 000000000..92620aa46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus.svg new file mode 100644 index 000000000..4ef51f2d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-fill.svg new file mode 100644 index 000000000..94cddbaa5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy-fill.svg new file mode 100644 index 000000000..167c8af48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy.svg new file mode 100644 index 000000000..a5c41e5aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain-heavy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain.svg new file mode 100644 index 000000000..eb4003236 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-rain.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash-fill.svg new file mode 100644 index 000000000..a4b8bad4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash.svg new file mode 100644 index 000000000..fe8917838 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet-fill.svg new file mode 100644 index 000000000..73764dcfb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet.svg new file mode 100644 index 000000000..d3c8f2eb8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sleet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow-fill.svg new file mode 100644 index 000000000..0ffc577ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow.svg new file mode 100644 index 000000000..b1643fbc6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-snow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun-fill.svg new file mode 100644 index 000000000..9ecf7de7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun.svg new file mode 100644 index 000000000..76ebc49e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-sun.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload-fill.svg new file mode 100644 index 000000000..766015d4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload.svg new file mode 100644 index 000000000..6184b727f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud-upload.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud.svg new file mode 100644 index 000000000..7b0b9b388 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloud.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds-fill.svg new file mode 100644 index 000000000..fe7fc071c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds.svg new file mode 100644 index 000000000..c9a5ba005 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/clouds.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy-fill.svg new file mode 100644 index 000000000..3e90f9e83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy.svg new file mode 100644 index 000000000..0783bcae6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cloudy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-slash.svg new file mode 100644 index 000000000..ef0ef0181 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-square.svg new file mode 100644 index 000000000..415b56c6d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code.svg new file mode 100644 index 000000000..079f5c67f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/code.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/coin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/coin.svg new file mode 100644 index 000000000..045d428fa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/coin.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-fill.svg new file mode 100644 index 000000000..fee7f54f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play-fill.svg new file mode 100644 index 000000000..2601e48c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play.svg new file mode 100644 index 000000000..96b5c6eec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection-play.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection.svg new file mode 100644 index 000000000..0870f5afd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/collection.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns-gap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns-gap.svg new file mode 100644 index 000000000..b3cb17536 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns-gap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns.svg new file mode 100644 index 000000000..d7854918c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/columns.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/command.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/command.svg new file mode 100644 index 000000000..d1622544e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/command.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass-fill.svg new file mode 100644 index 000000000..ad821c4a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass.svg new file mode 100644 index 000000000..86494617e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/compass.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone-striped.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone-striped.svg new file mode 100644 index 000000000..44e96065d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone-striped.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone.svg new file mode 100644 index 000000000..2de05c5ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cone.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/controller.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/controller.svg new file mode 100644 index 000000000..15e777456 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/controller.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu-fill.svg new file mode 100644 index 000000000..50d0a0782 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu.svg new file mode 100644 index 000000000..a9fbaa3f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cpu.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back-fill.svg new file mode 100644 index 000000000..c80bb6c9b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back.svg new file mode 100644 index 000000000..e99159cd0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-back.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front-fill.svg new file mode 100644 index 000000000..c082ef0ab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front.svg new file mode 100644 index 000000000..95b071df9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-2-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-fill.svg new file mode 100644 index 000000000..d0686a8aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card.svg new file mode 100644 index 000000000..f716d39df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/credit-card.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/crop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/crop.svg new file mode 100644 index 000000000..b7e174904 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/crop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-fill.svg new file mode 100644 index 000000000..c8119352d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot-fill.svg new file mode 100644 index 000000000..f512ae01d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot.svg new file mode 100644 index 000000000..789f1ea58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-hot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-straw.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-straw.svg new file mode 100644 index 000000000..bda9d076f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup-straw.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup.svg new file mode 100644 index 000000000..490fe09a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cup.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-bitcoin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-bitcoin.svg new file mode 100644 index 000000000..488adca31 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-bitcoin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-dollar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-dollar.svg new file mode 100644 index 000000000..572e34c27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-dollar.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-euro.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-euro.svg new file mode 100644 index 000000000..1fcaa7c6d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-euro.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-exchange.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-exchange.svg new file mode 100644 index 000000000..1e3eaf399 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-exchange.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-pound.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-pound.svg new file mode 100644 index 000000000..60dbd5852 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-pound.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-rupee.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-rupee.svg new file mode 100644 index 000000000..843d0fa88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-rupee.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-yen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-yen.svg new file mode 100644 index 000000000..5bbf1a2a5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/currency-yen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-fill.svg new file mode 100644 index 000000000..093372b80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-text.svg new file mode 100644 index 000000000..42a48fa8a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor-text.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor.svg new file mode 100644 index 000000000..315106bc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/cursor.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-dotted.svg new file mode 100644 index 000000000..7e29372df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-fill.svg new file mode 100644 index 000000000..db27419ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle.svg new file mode 100644 index 000000000..17483d6f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-lg.svg new file mode 100644 index 000000000..0f4c5e9a3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-dotted.svg new file mode 100644 index 000000000..15b8d4b09 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-fill.svg new file mode 100644 index 000000000..85a95b2cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square.svg new file mode 100644 index 000000000..b63e53698 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash.svg new file mode 100644 index 000000000..4ac42887a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-add.svg new file mode 100644 index 000000000..8b9e0ccfa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-check.svg new file mode 100644 index 000000000..f19308481 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-dash.svg new file mode 100644 index 000000000..1bcb011b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-down.svg new file mode 100644 index 000000000..49dfd2e4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-exclamation.svg new file mode 100644 index 000000000..178b61a78 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-add.svg new file mode 100644 index 000000000..993b4dfbf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-check.svg new file mode 100644 index 000000000..579da2e1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-dash.svg new file mode 100644 index 000000000..ce9c8c78d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-down.svg new file mode 100644 index 000000000..433b9adb0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-exclamation.svg new file mode 100644 index 000000000..f935d0ba1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-exclamation.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-gear.svg new file mode 100644 index 000000000..1501670b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-lock.svg new file mode 100644 index 000000000..27dce6d36 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-lock.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-slash.svg new file mode 100644 index 000000000..8ccdf4417 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-up.svg new file mode 100644 index 000000000..6f767b596 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-x.svg new file mode 100644 index 000000000..1f65f61f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill.svg new file mode 100644 index 000000000..2c7e04c01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-fill.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-gear.svg new file mode 100644 index 000000000..77a5855f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-lock.svg new file mode 100644 index 000000000..ad5a8f9a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-slash.svg new file mode 100644 index 000000000..d1f6a973e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-up.svg new file mode 100644 index 000000000..cfb75ed6d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-x.svg new file mode 100644 index 000000000..314a6fd13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database.svg new file mode 100644 index 000000000..45e4eb85e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/database.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd-fill.svg new file mode 100644 index 000000000..5b5ae29e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd.svg new file mode 100644 index 000000000..960e609ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-hdd.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd-fill.svg new file mode 100644 index 000000000..9ba580203 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd.svg new file mode 100644 index 000000000..0dd8ae5e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/device-ssd.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2-fill.svg new file mode 100644 index 000000000..b46a21200 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2.svg new file mode 100644 index 000000000..2b330e550 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3-fill.svg new file mode 100644 index 000000000..6cc31c04c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3.svg new file mode 100644 index 000000000..464b051d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diagram-3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-fill.svg new file mode 100644 index 000000000..e6e3151ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-half.svg new file mode 100644 index 000000000..4e1379143 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond.svg new file mode 100644 index 000000000..4cddafaf9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/diamond.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1-fill.svg new file mode 100644 index 000000000..0b20aa019 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1.svg new file mode 100644 index 000000000..97c2432de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-1.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2-fill.svg new file mode 100644 index 000000000..f55f92168 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2.svg new file mode 100644 index 000000000..38013a8e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3-fill.svg new file mode 100644 index 000000000..ae5a1ba4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3.svg new file mode 100644 index 000000000..705b7e7f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4-fill.svg new file mode 100644 index 000000000..6dad92bb2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4.svg new file mode 100644 index 000000000..070f9812a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-4.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5-fill.svg new file mode 100644 index 000000000..a92382b30 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5.svg new file mode 100644 index 000000000..b4369c7e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-5.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6-fill.svg new file mode 100644 index 000000000..fce8cb4b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6.svg new file mode 100644 index 000000000..44d25dc17 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dice-6.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc-fill.svg new file mode 100644 index 000000000..b03f34d0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc.svg new file mode 100644 index 000000000..f3475a2e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/disc.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/discord.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/discord.svg new file mode 100644 index 000000000..877cfdf91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/discord.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display-fill.svg new file mode 100644 index 000000000..f7c3fca74 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display.svg new file mode 100644 index 000000000..700d7805b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/display.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport-fill.svg new file mode 100644 index 000000000..17fe77191 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport.svg new file mode 100644 index 000000000..3e5748a91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/displayport.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-horizontal.svg new file mode 100644 index 000000000..fe90ff8c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-horizontal.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-vertical.svg new file mode 100644 index 000000000..234b2c275 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/distribute-vertical.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed-fill.svg new file mode 100644 index 000000000..1d2a0366d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed.svg new file mode 100644 index 000000000..3eab448fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-closed.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open-fill.svg new file mode 100644 index 000000000..d4833a36c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open.svg new file mode 100644 index 000000000..d9638a319 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/door-open.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dot.svg new file mode 100644 index 000000000..183e4a895 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dot.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/download.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/download.svg new file mode 100644 index 000000000..80a5817fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/download.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad-fill.svg new file mode 100644 index 000000000..ea54468de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad.svg new file mode 100644 index 000000000..9363c904a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dpad.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dribbble.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dribbble.svg new file mode 100644 index 000000000..809f2d3c0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dribbble.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dropbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dropbox.svg new file mode 100644 index 000000000..64311413c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/dropbox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-fill.svg new file mode 100644 index 000000000..a240876bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-half.svg new file mode 100644 index 000000000..43eb20850 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet-half.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet.svg new file mode 100644 index 000000000..2b405d682 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/droplet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear-fill.svg new file mode 100644 index 000000000..8e564c08b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear.svg new file mode 100644 index 000000000..8c8b869e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ear.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/earbuds.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/earbuds.svg new file mode 100644 index 000000000..7bc0019ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/earbuds.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel-fill.svg new file mode 100644 index 000000000..db0079836 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel.svg new file mode 100644 index 000000000..f95976eae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2-fill.svg new file mode 100644 index 000000000..c39324221 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2.svg new file mode 100644 index 000000000..d1736ded6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3-fill.svg new file mode 100644 index 000000000..2e5722319 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3.svg new file mode 100644 index 000000000..a39ad3d72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/easel3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fill.svg new file mode 100644 index 000000000..33b7d4434 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fried.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fried.svg new file mode 100644 index 000000000..b99cac3bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg-fried.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg.svg new file mode 100644 index 000000000..9fb5c1ed0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/egg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject-fill.svg new file mode 100644 index 000000000..3255af67d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject.svg new file mode 100644 index 000000000..540cbc813 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eject.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry-fill.svg new file mode 100644 index 000000000..1bf7eb600 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry.svg new file mode 100644 index 000000000..d6d891432 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-angry.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy-fill.svg new file mode 100644 index 000000000..d8018007b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy.svg new file mode 100644 index 000000000..f64fade85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-dizzy.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless-fill.svg new file mode 100644 index 000000000..f70140ac7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless.svg new file mode 100644 index 000000000..208a72d8e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-expressionless.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown-fill.svg new file mode 100644 index 000000000..c8a9ddc4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown.svg new file mode 100644 index 000000000..b7766ebf6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-frown.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes-fill.svg new file mode 100644 index 000000000..cc91552ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes.svg new file mode 100644 index 000000000..c19ec51ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-heart-eyes.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss-fill.svg new file mode 100644 index 000000000..ab4624564 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss.svg new file mode 100644 index 000000000..4646628b8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-kiss.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing-fill.svg new file mode 100644 index 000000000..cc8c69b8e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing.svg new file mode 100644 index 000000000..68d9b25f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-laughing.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral-fill.svg new file mode 100644 index 000000000..58bcb6b9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral.svg new file mode 100644 index 000000000..2f3204a7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-neutral.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-fill.svg new file mode 100644 index 000000000..76a6a1632 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down-fill.svg new file mode 100644 index 000000000..c6829332c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down.svg new file mode 100644 index 000000000..1e1842434 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile-upside-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile.svg new file mode 100644 index 000000000..d222a9ae8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-smile.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses-fill.svg new file mode 100644 index 000000000..00e7bc0d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses.svg new file mode 100644 index 000000000..4771e4dbf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-sunglasses.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink-fill.svg new file mode 100644 index 000000000..8601a584c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink.svg new file mode 100644 index 000000000..ee3b3d0e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/emoji-wink.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at-fill.svg new file mode 100644 index 000000000..7102a5b12 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at.svg new file mode 100644 index 000000000..46b9134ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-at.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check-fill.svg new file mode 100644 index 000000000..ca06ad0bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check.svg new file mode 100644 index 000000000..8a501810c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash-fill.svg new file mode 100644 index 000000000..7275d3df4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash.svg new file mode 100644 index 000000000..7ae3e5cf1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation-fill.svg new file mode 100644 index 000000000..4bc91d20e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation.svg new file mode 100644 index 000000000..936b77771 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-fill.svg new file mode 100644 index 000000000..0b28c8661 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart-fill.svg new file mode 100644 index 000000000..8ed9e0288 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart.svg new file mode 100644 index 000000000..b104999f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-fill.svg new file mode 100644 index 000000000..29d8fe77e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart-fill.svg new file mode 100644 index 000000000..478b85bf4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart.svg new file mode 100644 index 000000000..7d324a281 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open.svg new file mode 100644 index 000000000..9a542d2e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-open.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-fill.svg new file mode 100644 index 000000000..14f613e9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart-fill.svg new file mode 100644 index 000000000..e422accd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart.svg new file mode 100644 index 000000000..2d925aec9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper.svg new file mode 100644 index 000000000..a909c6377 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-paper.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus-fill.svg new file mode 100644 index 000000000..96703c2b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus.svg new file mode 100644 index 000000000..0abb96690 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash-fill.svg new file mode 100644 index 000000000..09690e54a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash.svg new file mode 100644 index 000000000..35b378331 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x-fill.svg new file mode 100644 index 000000000..b8348b18f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x.svg new file mode 100644 index 000000000..cd78475f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope.svg new file mode 100644 index 000000000..122fc357d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/envelope.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser-fill.svg new file mode 100644 index 000000000..10959b3d3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser.svg new file mode 100644 index 000000000..e7060e56f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eraser.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/escape.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/escape.svg new file mode 100644 index 000000000..112c87b0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/escape.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ethernet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ethernet.svg new file mode 100644 index 000000000..9b97a3afe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ethernet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front-fill.svg new file mode 100644 index 000000000..6926f5200 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front.svg new file mode 100644 index 000000000..2e0acc642 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station-fill.svg new file mode 100644 index 000000000..a30f613b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station.svg new file mode 100644 index 000000000..faec20c29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ev-station.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle-fill.svg new file mode 100644 index 000000000..f7a7d17bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle.svg new file mode 100644 index 000000000..73c7e8d70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond-fill.svg new file mode 100644 index 000000000..5987fe724 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond.svg new file mode 100644 index 000000000..6c0388bf0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-diamond.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-lg.svg new file mode 100644 index 000000000..b21e727fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon-fill.svg new file mode 100644 index 000000000..3347f64c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon.svg new file mode 100644 index 000000000..6ef1db9ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-octagon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square-fill.svg new file mode 100644 index 000000000..e99eab8e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square.svg new file mode 100644 index 000000000..41436cb5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle-fill.svg new file mode 100644 index 000000000..50e17525e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle.svg new file mode 100644 index 000000000..7ca0dc745 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation-triangle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation.svg new file mode 100644 index 000000000..953004b39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclamation.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclude.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclude.svg new file mode 100644 index 000000000..9be5f93b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/exclude.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit-fill.svg new file mode 100644 index 000000000..159d3654e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit.svg new file mode 100644 index 000000000..22a0ef46e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/explicit.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-fill.svg new file mode 100644 index 000000000..2697206ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash-fill.svg new file mode 100644 index 000000000..933926287 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash.svg new file mode 100644 index 000000000..c5208375a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye-slash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye.svg new file mode 100644 index 000000000..412ff6928 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eye.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyedropper.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyedropper.svg new file mode 100644 index 000000000..698d40ddb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyedropper.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyeglasses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyeglasses.svg new file mode 100644 index 000000000..020d94327 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/eyeglasses.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/facebook.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/facebook.svg new file mode 100644 index 000000000..e8d1443db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/facebook.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fan.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fan.svg new file mode 100644 index 000000000..fab6eab8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fan.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn-fill.svg new file mode 100644 index 000000000..9c9a1c6b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn.svg new file mode 100644 index 000000000..a3d605c7f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle-fill.svg new file mode 100644 index 000000000..aa5c37bbb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle.svg new file mode 100644 index 000000000..2eceb91a3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-fill.svg new file mode 100644 index 000000000..329cad062 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward.svg new file mode 100644 index 000000000..10643600e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fast-forward.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down-fill.svg new file mode 100644 index 000000000..910fc07e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down.svg new file mode 100644 index 000000000..6f75d5040 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up-fill.svg new file mode 100644 index 000000000..9dba20517 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up.svg new file mode 100644 index 000000000..223379e4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph-fill.svg new file mode 100644 index 000000000..a0e31d6c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph.svg new file mode 100644 index 000000000..e66be6a9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-bar-graph.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary-fill.svg new file mode 100644 index 000000000..13343bfb7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary.svg new file mode 100644 index 000000000..7e667bcc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-binary.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break-fill.svg new file mode 100644 index 000000000..4eddc4a85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break.svg new file mode 100644 index 000000000..b4485d7fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-break.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check-fill.svg new file mode 100644 index 000000000..fb54b18c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check.svg new file mode 100644 index 000000000..142631140 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code-fill.svg new file mode 100644 index 000000000..ee2f0f6a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code.svg new file mode 100644 index 000000000..a8c390b65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-code.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff-fill.svg new file mode 100644 index 000000000..945aef153 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff.svg new file mode 100644 index 000000000..dd848f04c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-diff.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down-fill.svg new file mode 100644 index 000000000..0e960474a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down.svg new file mode 100644 index 000000000..81cc43ab6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up-fill.svg new file mode 100644 index 000000000..ce881cc89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up.svg new file mode 100644 index 000000000..6cf324ab2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-arrow-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph-fill.svg new file mode 100644 index 000000000..7dc0df929 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph.svg new file mode 100644 index 000000000..eefb68770 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-bar-graph.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary-fill.svg new file mode 100644 index 000000000..1652562c8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary.svg new file mode 100644 index 000000000..e068bf6dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-binary.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break-fill.svg new file mode 100644 index 000000000..b36ea25af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break.svg new file mode 100644 index 000000000..e98c6470a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-break.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check-fill.svg new file mode 100644 index 000000000..de7bf69d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check.svg new file mode 100644 index 000000000..f2fbf6657 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code-fill.svg new file mode 100644 index 000000000..c23a7b6b2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code.svg new file mode 100644 index 000000000..1b94a6aa4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-code.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff-fill.svg new file mode 100644 index 000000000..5f18a8870 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff.svg new file mode 100644 index 000000000..0b28667e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-diff.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel-fill.svg new file mode 100644 index 000000000..0743de43c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel.svg new file mode 100644 index 000000000..045fc870f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-easel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel-fill.svg new file mode 100644 index 000000000..2d492a8e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel.svg new file mode 100644 index 000000000..c40f16b24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-excel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-fill.svg new file mode 100644 index 000000000..668247e31 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font-fill.svg new file mode 100644 index 000000000..c4fe9a455 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font.svg new file mode 100644 index 000000000..f7aad0bb9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-font.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image-fill.svg new file mode 100644 index 000000000..e568ee780 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image.svg new file mode 100644 index 000000000..1e1964b43 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock-fill.svg new file mode 100644 index 000000000..18a7fb717 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock.svg new file mode 100644 index 000000000..b15ec6a65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2-fill.svg new file mode 100644 index 000000000..828a545a2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2.svg new file mode 100644 index 000000000..cf76d3fab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-lock2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical-fill.svg new file mode 100644 index 000000000..ed5f6bc1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical.svg new file mode 100644 index 000000000..6fa8a39f3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-medical.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus-fill.svg new file mode 100644 index 000000000..25e708ff1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus.svg new file mode 100644 index 000000000..e87b163c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music-fill.svg new file mode 100644 index 000000000..c64c79789 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music.svg new file mode 100644 index 000000000..cc25eb99b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-music.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf-fill.svg new file mode 100644 index 000000000..0ba21ab3f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf.svg new file mode 100644 index 000000000..52da96fe4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-pdf.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person-fill.svg new file mode 100644 index 000000000..29a81294a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person.svg new file mode 100644 index 000000000..59a6a2a39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-person.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play-fill.svg new file mode 100644 index 000000000..80731db8a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play.svg new file mode 100644 index 000000000..62042ab52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-play.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus-fill.svg new file mode 100644 index 000000000..6cead3a48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus.svg new file mode 100644 index 000000000..92840267f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post-fill.svg new file mode 100644 index 000000000..0c0e7b87c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post.svg new file mode 100644 index 000000000..1f0d4359f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-post.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt-fill.svg new file mode 100644 index 000000000..68e97930f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt.svg new file mode 100644 index 000000000..bedf55261 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ppt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext-fill.svg new file mode 100644 index 000000000..e5c82ee75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext.svg new file mode 100644 index 000000000..35af14671 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-richtext.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled-fill.svg new file mode 100644 index 000000000..43aecce83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled.svg new file mode 100644 index 000000000..4f288581f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-ruled.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides-fill.svg new file mode 100644 index 000000000..98b59df53 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides.svg new file mode 100644 index 000000000..2d97fa7f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-slides.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet-fill.svg new file mode 100644 index 000000000..9a71e732d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet.svg new file mode 100644 index 000000000..a111232b0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-spreadsheet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text-fill.svg new file mode 100644 index 000000000..b32991979 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text.svg new file mode 100644 index 000000000..0d60c7957 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word-fill.svg new file mode 100644 index 000000000..717b0497b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word.svg new file mode 100644 index 000000000..7186b69ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-word.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x-fill.svg new file mode 100644 index 000000000..a19d14b9c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x.svg new file mode 100644 index 000000000..bedb970d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip-fill.svg new file mode 100644 index 000000000..b92ff9a52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip.svg new file mode 100644 index 000000000..b82afcc35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark-zip.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark.svg new file mode 100644 index 000000000..c3d086b9c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-earmark.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel-fill.svg new file mode 100644 index 000000000..e1122e5ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel.svg new file mode 100644 index 000000000..c6d6a4deb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-easel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel-fill.svg new file mode 100644 index 000000000..350a7df8c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel.svg new file mode 100644 index 000000000..0f43afe2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-excel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-fill.svg new file mode 100644 index 000000000..a1f4de09a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font-fill.svg new file mode 100644 index 000000000..198a2591d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font.svg new file mode 100644 index 000000000..1d67f5e78 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-font.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image-fill.svg new file mode 100644 index 000000000..f4e81abaa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image.svg new file mode 100644 index 000000000..127fd8963 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock-fill.svg new file mode 100644 index 000000000..a14dafc13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock.svg new file mode 100644 index 000000000..4206978a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2-fill.svg new file mode 100644 index 000000000..a68a5d42f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2.svg new file mode 100644 index 000000000..134f7473d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-lock2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical-fill.svg new file mode 100644 index 000000000..6caf0a323 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical.svg new file mode 100644 index 000000000..afec18e97 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-medical.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus-fill.svg new file mode 100644 index 000000000..85d99997a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus.svg new file mode 100644 index 000000000..67a45381d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music-fill.svg new file mode 100644 index 000000000..c7dfa82f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music.svg new file mode 100644 index 000000000..6531a959c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-music.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf-fill.svg new file mode 100644 index 000000000..87543f552 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf.svg new file mode 100644 index 000000000..e8ba0a157 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-pdf.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person-fill.svg new file mode 100644 index 000000000..d7e05e401 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person.svg new file mode 100644 index 000000000..892800ad9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-person.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play-fill.svg new file mode 100644 index 000000000..838dda9ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play.svg new file mode 100644 index 000000000..fef9adf45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-play.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus-fill.svg new file mode 100644 index 000000000..1730c276e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus.svg new file mode 100644 index 000000000..d0ef464ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post-fill.svg new file mode 100644 index 000000000..c3fc7e05b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post.svg new file mode 100644 index 000000000..dd8aefc20 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-post.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt-fill.svg new file mode 100644 index 000000000..3d3ac35b1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt.svg new file mode 100644 index 000000000..0100d0b24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ppt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext-fill.svg new file mode 100644 index 000000000..64c1fc832 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext.svg new file mode 100644 index 000000000..22edf68c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-richtext.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled-fill.svg new file mode 100644 index 000000000..f93c25577 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled.svg new file mode 100644 index 000000000..431b4eb55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-ruled.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides-fill.svg new file mode 100644 index 000000000..e8cb12ad1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides.svg new file mode 100644 index 000000000..df3f65d98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-slides.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet-fill.svg new file mode 100644 index 000000000..a3977e189 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet.svg new file mode 100644 index 000000000..e83e73350 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-spreadsheet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text-fill.svg new file mode 100644 index 000000000..29c9fc471 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text.svg new file mode 100644 index 000000000..fa1e86118 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word-fill.svg new file mode 100644 index 000000000..2df1fca25 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word.svg new file mode 100644 index 000000000..61a96c238 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-word.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x-fill.svg new file mode 100644 index 000000000..980e40528 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x.svg new file mode 100644 index 000000000..1fe66e61a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip-fill.svg new file mode 100644 index 000000000..95d3966fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip.svg new file mode 100644 index 000000000..3da93c8ce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file-zip.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file.svg new file mode 100644 index 000000000..3562fb2b2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/file.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files-alt.svg new file mode 100644 index 000000000..1d4d06931 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files.svg new file mode 100644 index 000000000..f8842f89b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/files.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-aac.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-aac.svg new file mode 100644 index 000000000..8a2d02ace --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-aac.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ai.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ai.svg new file mode 100644 index 000000000..23e2ebc70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ai.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-bmp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-bmp.svg new file mode 100644 index 000000000..acf902f7d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-bmp.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-cs.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-cs.svg new file mode 100644 index 000000000..fb76aecbd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-cs.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-css.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-css.svg new file mode 100644 index 000000000..da12ac651 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-css.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-csv.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-csv.svg new file mode 100644 index 000000000..efda95c3b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-csv.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-doc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-doc.svg new file mode 100644 index 000000000..14fb54453 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-doc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-docx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-docx.svg new file mode 100644 index 000000000..29a54ffec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-docx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-exe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-exe.svg new file mode 100644 index 000000000..2c4bea4dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-exe.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-gif.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-gif.svg new file mode 100644 index 000000000..6b016d854 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-gif.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-heic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-heic.svg new file mode 100644 index 000000000..dcdb6f1f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-heic.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-html.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-html.svg new file mode 100644 index 000000000..35d721856 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-html.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-java.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-java.svg new file mode 100644 index 000000000..c9dc543c8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-java.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jpg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jpg.svg new file mode 100644 index 000000000..5e4ae64c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jpg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-js.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-js.svg new file mode 100644 index 000000000..8b198bfcd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-js.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-json.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-json.svg new file mode 100644 index 000000000..2b9d988f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-json.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jsx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jsx.svg new file mode 100644 index 000000000..c23ba4c33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-jsx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-key.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-key.svg new file mode 100644 index 000000000..5b980500e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-key.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-m4p.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-m4p.svg new file mode 100644 index 000000000..a10dc24ab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-m4p.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-md.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-md.svg new file mode 100644 index 000000000..ca5cd597d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-md.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mdx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mdx.svg new file mode 100644 index 000000000..e8774d2e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mdx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mov.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mov.svg new file mode 100644 index 000000000..9f05d6378 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mov.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp3.svg new file mode 100644 index 000000000..017035126 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp4.svg new file mode 100644 index 000000000..997c427a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-mp4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-otf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-otf.svg new file mode 100644 index 000000000..44d0c8eee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-otf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pdf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pdf.svg new file mode 100644 index 000000000..e1fc9b698 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pdf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-php.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-php.svg new file mode 100644 index 000000000..422cc2df9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-php.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-png.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-png.svg new file mode 100644 index 000000000..f719344ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-png.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ppt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ppt.svg new file mode 100644 index 000000000..cfaaf1b17 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ppt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pptx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pptx.svg new file mode 100644 index 000000000..88ef36906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-pptx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-psd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-psd.svg new file mode 100644 index 000000000..cfcb13b08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-psd.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-py.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-py.svg new file mode 100644 index 000000000..654df7050 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-py.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-raw.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-raw.svg new file mode 100644 index 000000000..fdbeefcca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-raw.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-rb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-rb.svg new file mode 100644 index 000000000..e3387b4f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-rb.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sass.svg new file mode 100644 index 000000000..5ff5ae5bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sass.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-scss.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-scss.svg new file mode 100644 index 000000000..68f195afa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-scss.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sh.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sh.svg new file mode 100644 index 000000000..200fae418 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sh.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sql.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sql.svg new file mode 100644 index 000000000..b523b3760 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-sql.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-svg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-svg.svg new file mode 100644 index 000000000..ea1264c76 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-svg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tiff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tiff.svg new file mode 100644 index 000000000..d6f9e9be5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tiff.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tsx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tsx.svg new file mode 100644 index 000000000..cef1dc4ff --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-tsx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ttf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ttf.svg new file mode 100644 index 000000000..549d4df1d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-ttf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-txt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-txt.svg new file mode 100644 index 000000000..6fae02a04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-txt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-wav.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-wav.svg new file mode 100644 index 000000000..bd226e8ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-wav.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-woff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-woff.svg new file mode 100644 index 000000000..d8ec58255 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-woff.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xls.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xls.svg new file mode 100644 index 000000000..9c266cdc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xls.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xlsx.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xlsx.svg new file mode 100644 index 000000000..a1aa80243 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xlsx.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xml.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xml.svg new file mode 100644 index 000000000..d82264553 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-xml.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-yml.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-yml.svg new file mode 100644 index 000000000..e8bf63d22 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filetype-yml.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/film.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/film.svg new file mode 100644 index 000000000..5cef9395b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/film.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle-fill.svg new file mode 100644 index 000000000..f60fd59f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle.svg new file mode 100644 index 000000000..bbdc85f86 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-left.svg new file mode 100644 index 000000000..22441de5e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-right.svg new file mode 100644 index 000000000..466a9b1c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square-fill.svg new file mode 100644 index 000000000..f8813b8c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square.svg new file mode 100644 index 000000000..ae8c837f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter.svg new file mode 100644 index 000000000..555c61259 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/filter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fingerprint.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fingerprint.svg new file mode 100644 index 000000000..3cf204231 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fingerprint.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fire.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fire.svg new file mode 100644 index 000000000..f702837cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fire.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag-fill.svg new file mode 100644 index 000000000..73fffc250 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag.svg new file mode 100644 index 000000000..357c48136 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flag.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower1.svg new file mode 100644 index 000000000..08a7e2e68 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower2.svg new file mode 100644 index 000000000..d793728b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower3.svg new file mode 100644 index 000000000..147e32fcf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/flower3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-check.svg new file mode 100644 index 000000000..d59955499 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-fill.svg new file mode 100644 index 000000000..fd10c8e6c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-minus.svg new file mode 100644 index 000000000..f41b6601b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-plus.svg new file mode 100644 index 000000000..29b5115ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink-fill.svg new file mode 100644 index 000000000..91dc0c015 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink.svg new file mode 100644 index 000000000..b258b6aa0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-symlink.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-x.svg new file mode 100644 index 000000000..d571d0854 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder.svg new file mode 100644 index 000000000..fd4dc5aa7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2-open.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2-open.svg new file mode 100644 index 000000000..59d8382f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2-open.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2.svg new file mode 100644 index 000000000..414575325 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/folder2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fonts.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fonts.svg new file mode 100644 index 000000000..3afc7d2ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fonts.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward-fill.svg new file mode 100644 index 000000000..7f2839b29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward.svg new file mode 100644 index 000000000..4b856141f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/forward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/front.svg new file mode 100644 index 000000000..d1edeb1f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel-fill.svg new file mode 100644 index 000000000..824913cd2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel.svg new file mode 100644 index 000000000..ad24a929b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-diesel.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-fill.svg new file mode 100644 index 000000000..515452311 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump.svg new file mode 100644 index 000000000..f4742f5b3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fuel-pump.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen-exit.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen-exit.svg new file mode 100644 index 000000000..b9bdb1b16 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen-exit.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen.svg new file mode 100644 index 000000000..7789d36bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/fullscreen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel-fill.svg new file mode 100644 index 000000000..5f16f16ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel.svg new file mode 100644 index 000000000..d027aa5cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/funnel.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-fill.svg new file mode 100644 index 000000000..2aa36a1d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide-connected.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide-connected.svg new file mode 100644 index 000000000..fc196dd70 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide-connected.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide.svg new file mode 100644 index 000000000..83194ce45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear-wide.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear.svg new file mode 100644 index 000000000..c11dbc1db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gem.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gem.svg new file mode 100644 index 000000000..360d55499 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gem.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-ambiguous.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-ambiguous.svg new file mode 100644 index 000000000..2ffaf112e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-ambiguous.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-female.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-female.svg new file mode 100644 index 000000000..102783cca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-female.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-male.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-male.svg new file mode 100644 index 000000000..b0aee1d18 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-male.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-trans.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-trans.svg new file mode 100644 index 000000000..4c4c074a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gender-trans.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt-fill.svg new file mode 100644 index 000000000..e88b77b6b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt.svg new file mode 100644 index 000000000..40927941a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-alt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-fill.svg new file mode 100644 index 000000000..a53f2bdf7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo.svg new file mode 100644 index 000000000..6686fea98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/geo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift-fill.svg new file mode 100644 index 000000000..69f337939 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift.svg new file mode 100644 index 000000000..663b87e30 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gift.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/git.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/git.svg new file mode 100644 index 000000000..092d23e98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/git.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/github.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/github.svg new file mode 100644 index 000000000..bb4e45cec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/github.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-americas.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-americas.svg new file mode 100644 index 000000000..f66f5feaf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-americas.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-asia-australia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-asia-australia.svg new file mode 100644 index 000000000..e4715f1ef --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-asia-australia.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-central-south-asia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-central-south-asia.svg new file mode 100644 index 000000000..d4699d2e3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-central-south-asia.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-europe-africa.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-europe-africa.svg new file mode 100644 index 000000000..3bd6c49ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe-europe-africa.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe.svg new file mode 100644 index 000000000..96cf81571 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe2.svg new file mode 100644 index 000000000..150a01ebf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/globe2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google-play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google-play.svg new file mode 100644 index 000000000..a970e9a0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google-play.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google.svg new file mode 100644 index 000000000..47abd4929 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/google.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gpu-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gpu-card.svg new file mode 100644 index 000000000..b75ddcee7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/gpu-card.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down-arrow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down-arrow.svg new file mode 100644 index 000000000..bf522b566 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down-arrow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down.svg new file mode 100644 index 000000000..55adb4f24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up-arrow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up-arrow.svg new file mode 100644 index 000000000..fd582e467 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up-arrow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up.svg new file mode 100644 index 000000000..a68bc9db1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/graph-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2-fill.svg new file mode 100644 index 000000000..119511763 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2.svg new file mode 100644 index 000000000..dd36f54c8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-1x2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap-fill.svg new file mode 100644 index 000000000..4fe82884c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap.svg new file mode 100644 index 000000000..a9e8689d3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2-gap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2.svg new file mode 100644 index 000000000..6dd39fde8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap-fill.svg new file mode 100644 index 000000000..d29616c75 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap.svg new file mode 100644 index 000000000..675f4288c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3-gap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3.svg new file mode 100644 index 000000000..c40d98c96 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-3x3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-fill.svg new file mode 100644 index 000000000..202265ff8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid.svg new file mode 100644 index 000000000..bc505957f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grid.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-horizontal.svg new file mode 100644 index 000000000..c4439afec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-vertical.svg new file mode 100644 index 000000000..0182ad918 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/grip-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle-fill.svg new file mode 100644 index 000000000..6a7073605 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle.svg new file mode 100644 index 000000000..6579c1f85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square-fill.svg new file mode 100644 index 000000000..51d11d119 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square.svg new file mode 100644 index 000000000..2eac5d72b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/h-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hammer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hammer.svg new file mode 100644 index 000000000..d702c1156 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hammer.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-fill.svg new file mode 100644 index 000000000..ef94089fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb-fill.svg new file mode 100644 index 000000000..43e958c92 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb.svg new file mode 100644 index 000000000..699e5057b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index-thumb.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index.svg new file mode 100644 index 000000000..789622c82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-index.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down-fill.svg new file mode 100644 index 000000000..c2f51ebab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down.svg new file mode 100644 index 000000000..e8dadb5ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up-fill.svg new file mode 100644 index 000000000..e7216e196 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up.svg new file mode 100644 index 000000000..0d410a161 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hand-thumbs-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag-fill.svg new file mode 100644 index 000000000..5d4367c79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag.svg new file mode 100644 index 000000000..99e5904d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/handbag.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hash.svg new file mode 100644 index 000000000..4621b1dac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-fill.svg new file mode 100644 index 000000000..9bdc467e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network-fill.svg new file mode 100644 index 000000000..403d47230 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network.svg new file mode 100644 index 000000000..f0db30504 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-network.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack-fill.svg new file mode 100644 index 000000000..bb450781f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack.svg new file mode 100644 index 000000000..480d0d90b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-rack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack-fill.svg new file mode 100644 index 000000000..c81687ab9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack.svg new file mode 100644 index 000000000..2f74d3b06 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd-stack.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd.svg new file mode 100644 index 000000000..7dd670038 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdd.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi-fill.svg new file mode 100644 index 000000000..9b52d61e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi.svg new file mode 100644 index 000000000..b8a4b416f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hdmi.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headphones.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headphones.svg new file mode 100644 index 000000000..c2c1d6fe1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headphones.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset-vr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset-vr.svg new file mode 100644 index 000000000..9f07b76ca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset-vr.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset.svg new file mode 100644 index 000000000..536997442 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/headset.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-arrow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-arrow.svg new file mode 100644 index 000000000..0407ed6e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-arrow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-fill.svg new file mode 100644 index 000000000..4026252e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-half.svg new file mode 100644 index 000000000..1474a7251 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse-fill.svg new file mode 100644 index 000000000..278e9e284 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse.svg new file mode 100644 index 000000000..bddedceba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart-pulse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart.svg new file mode 100644 index 000000000..d650006d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak-fill.svg new file mode 100644 index 000000000..9c3103910 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak.svg new file mode 100644 index 000000000..b59b4c68d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heartbreak.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hearts.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hearts.svg new file mode 100644 index 000000000..c1c52e418 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hearts.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-fill.svg new file mode 100644 index 000000000..ad8e05864 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-half.svg new file mode 100644 index 000000000..5753b6287 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon.svg new file mode 100644 index 000000000..e85a0bd38 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/heptagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-fill.svg new file mode 100644 index 000000000..afd7870eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-half.svg new file mode 100644 index 000000000..a9fc13683 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon.svg new file mode 100644 index 000000000..f6601f2ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hexagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital-fill.svg new file mode 100644 index 000000000..a93213326 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital.svg new file mode 100644 index 000000000..5168a2992 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hospital.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-bottom.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-bottom.svg new file mode 100644 index 000000000..8ce8394ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-bottom.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-split.svg new file mode 100644 index 000000000..b8bba9b66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-split.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-top.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-top.svg new file mode 100644 index 000000000..f471084de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass-top.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass.svg new file mode 100644 index 000000000..cecfa7e60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hourglass.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add-fill.svg new file mode 100644 index 000000000..e4733b5fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add.svg new file mode 100644 index 000000000..2964397cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check-fill.svg new file mode 100644 index 000000000..75463428d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check.svg new file mode 100644 index 000000000..a30080a9e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash-fill.svg new file mode 100644 index 000000000..5465ef46e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash.svg new file mode 100644 index 000000000..fa6fb26bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door-fill.svg new file mode 100644 index 000000000..ff9f4dbd2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door.svg new file mode 100644 index 000000000..c883f3487 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-door.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down-fill.svg new file mode 100644 index 000000000..d3bf68f0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down.svg new file mode 100644 index 000000000..6de3d7967 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation-fill.svg new file mode 100644 index 000000000..743373834 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation.svg new file mode 100644 index 000000000..301d9818b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-fill.svg new file mode 100644 index 000000000..e782589df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear-fill.svg new file mode 100644 index 000000000..001ea96aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear.svg new file mode 100644 index 000000000..c7f9d4308 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-gear.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart-fill.svg new file mode 100644 index 000000000..6d874fc1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart.svg new file mode 100644 index 000000000..26b239529 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock-fill.svg new file mode 100644 index 000000000..842b91439 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock.svg new file mode 100644 index 000000000..e6eb9681d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash-fill.svg new file mode 100644 index 000000000..20ea07b98 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash.svg new file mode 100644 index 000000000..3e1cb66bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up-fill.svg new file mode 100644 index 000000000..3e6713e7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up.svg new file mode 100644 index 000000000..0a8deb315 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x-fill.svg new file mode 100644 index 000000000..00483c40b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x.svg new file mode 100644 index 000000000..88b2825ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house.svg new file mode 100644 index 000000000..7baa23d29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/house.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses-fill.svg new file mode 100644 index 000000000..30a72d88c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses.svg new file mode 100644 index 000000000..d66b4da34 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/houses.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hr.svg new file mode 100644 index 000000000..b6f2e3378 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hr.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hurricane.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hurricane.svg new file mode 100644 index 000000000..e21aaec5d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hurricane.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hypnotize.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hypnotize.svg new file mode 100644 index 000000000..baa2298d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/hypnotize.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-alt.svg new file mode 100644 index 000000000..98142b22d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-fill.svg new file mode 100644 index 000000000..33c40a13a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image.svg new file mode 100644 index 000000000..facacee61 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/image.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/images.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/images.svg new file mode 100644 index 000000000..b35ecebcb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/images.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox-fill.svg new file mode 100644 index 000000000..bf5c8c912 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox.svg new file mode 100644 index 000000000..59ad2d777 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inbox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes-fill.svg new file mode 100644 index 000000000..27447dc33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes.svg new file mode 100644 index 000000000..f23f0ec5e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/inboxes.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/incognito.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/incognito.svg new file mode 100644 index 000000000..fc9f6dced --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/incognito.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/indent.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/indent.svg new file mode 100644 index 000000000..025acef29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/indent.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/infinity.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/infinity.svg new file mode 100644 index 000000000..e9dd437b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/infinity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle-fill.svg new file mode 100644 index 000000000..9d38231fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle.svg new file mode 100644 index 000000000..8f48f86cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-lg.svg new file mode 100644 index 000000000..d1b988e0e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square-fill.svg new file mode 100644 index 000000000..c2e5a6636 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square.svg new file mode 100644 index 000000000..71e2818f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info.svg new file mode 100644 index 000000000..9d061b4d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/info.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor-text.svg new file mode 100644 index 000000000..f2121113b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor.svg new file mode 100644 index 000000000..3a89bb7ee --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/input-cursor.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/instagram.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/instagram.svg new file mode 100644 index 000000000..0b5c5cef0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/instagram.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/intersect.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/intersect.svg new file mode 100644 index 000000000..2d8c32951 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/intersect.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-album.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-album.svg new file mode 100644 index 000000000..2504b3d43 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-album.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-down.svg new file mode 100644 index 000000000..79c313d8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-down.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-up.svg new file mode 100644 index 000000000..84234612a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-arrow-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark-fill.svg new file mode 100644 index 000000000..03e247667 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark.svg new file mode 100644 index 000000000..665276438 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-bookmark.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-check.svg new file mode 100644 index 000000000..41b97e94d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-check.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-code.svg new file mode 100644 index 000000000..82098b9c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-code.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-medical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-medical.svg new file mode 100644 index 000000000..5500110ab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-medical.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-minus.svg new file mode 100644 index 000000000..c8cd4d844 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-minus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-plus.svg new file mode 100644 index 000000000..fa6d7026c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-richtext.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-richtext.svg new file mode 100644 index 000000000..14b0e1f00 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-richtext.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-text.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-text.svg new file mode 100644 index 000000000..9b66f43aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-text.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-x.svg new file mode 100644 index 000000000..2ca24f46e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal.svg new file mode 100644 index 000000000..941c98783 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journal.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journals.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journals.svg new file mode 100644 index 000000000..03f6dad8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/journals.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/joystick.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/joystick.svg new file mode 100644 index 000000000..a8a902743 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/joystick.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-left.svg new file mode 100644 index 000000000..68859b8ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-right.svg new file mode 100644 index 000000000..1efe4f389 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify.svg new file mode 100644 index 000000000..009bd7214 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/justify.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban-fill.svg new file mode 100644 index 000000000..d633a5383 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban.svg new file mode 100644 index 000000000..c5cdaaf55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/kanban.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key-fill.svg new file mode 100644 index 000000000..25a6d45a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key.svg new file mode 100644 index 000000000..dbaae3fad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/key.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard-fill.svg new file mode 100644 index 000000000..876321d24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard.svg new file mode 100644 index 000000000..996c1ebab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/keyboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ladder.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ladder.svg new file mode 100644 index 000000000..fd9182ab0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ladder.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp-fill.svg new file mode 100644 index 000000000..ff91f4ba3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp.svg new file mode 100644 index 000000000..6c50a70c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lamp.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop-fill.svg new file mode 100644 index 000000000..5b1755dac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop.svg new file mode 100644 index 000000000..0fc463deb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/laptop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-backward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-backward.svg new file mode 100644 index 000000000..073034ac2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-backward.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-forward.svg new file mode 100644 index 000000000..ffc6e2aac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layer-forward.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-fill.svg new file mode 100644 index 000000000..8af0b1cfb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-half.svg new file mode 100644 index 000000000..a054e25a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers.svg new file mode 100644 index 000000000..ac2f5b297 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layers.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset-reverse.svg new file mode 100644 index 000000000..5b6f32460 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset.svg new file mode 100644 index 000000000..8dc0243ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-inset.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-reverse.svg new file mode 100644 index 000000000..8ab950907 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar-reverse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar.svg new file mode 100644 index 000000000..1cfc86e1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-sidebar.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-split.svg new file mode 100644 index 000000000..71f33d2e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-split.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar-reverse.svg new file mode 100644 index 000000000..46252d574 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar.svg new file mode 100644 index 000000000..5effada29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-sidebar.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window-reverse.svg new file mode 100644 index 000000000..fb3484090 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window-reverse.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window.svg new file mode 100644 index 000000000..0aef11070 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-text-window.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-three-columns.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-three-columns.svg new file mode 100644 index 000000000..6d358d6d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-three-columns.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-wtf.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-wtf.svg new file mode 100644 index 000000000..b603f8f3f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/layout-wtf.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/life-preserver.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/life-preserver.svg new file mode 100644 index 000000000..6466ea24b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/life-preserver.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-fill.svg new file mode 100644 index 000000000..99039504b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off-fill.svg new file mode 100644 index 000000000..7d9600e48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off.svg new file mode 100644 index 000000000..5675e9c55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb.svg new file mode 100644 index 000000000..c13f62783 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightbulb.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge-fill.svg new file mode 100644 index 000000000..5e197fb54 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge.svg new file mode 100644 index 000000000..8a97432e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-charge.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-fill.svg new file mode 100644 index 000000000..4d05a2b83 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning.svg new file mode 100644 index 000000000..873706082 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lightning.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/line.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/line.svg new file mode 100644 index 000000000..bedc051be --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/line.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link-45deg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link-45deg.svg new file mode 100644 index 000000000..127956a47 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link-45deg.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link.svg new file mode 100644 index 000000000..df35bc8a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/link.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/linkedin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/linkedin.svg new file mode 100644 index 000000000..4c4efe595 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/linkedin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-check.svg new file mode 100644 index 000000000..34dd42068 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns-reverse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns-reverse.svg new file mode 100644 index 000000000..2cb507860 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns-reverse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns.svg new file mode 100644 index 000000000..d04a30f33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-columns.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-nested.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-nested.svg new file mode 100644 index 000000000..21c9a7d24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-nested.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ol.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ol.svg new file mode 100644 index 000000000..5782568d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ol.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-stars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-stars.svg new file mode 100644 index 000000000..88dce521b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-stars.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-task.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-task.svg new file mode 100644 index 000000000..81181905c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-task.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ul.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ul.svg new file mode 100644 index 000000000..217d1539c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list-ul.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list.svg new file mode 100644 index 000000000..e039056ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/list.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock-fill.svg new file mode 100644 index 000000000..9fb8f7b80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock.svg new file mode 100644 index 000000000..b50a68ef1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs-fill.svg new file mode 100644 index 000000000..430b0282d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs.svg new file mode 100644 index 000000000..53708525c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/lungs.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magic.svg new file mode 100644 index 000000000..3df2ec0b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magic.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet-fill.svg new file mode 100644 index 000000000..9ca186521 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet.svg new file mode 100644 index 000000000..aab17635d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/magnet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox.svg new file mode 100644 index 000000000..e2ac2f978 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox2.svg new file mode 100644 index 000000000..60a523bba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mailbox2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map-fill.svg new file mode 100644 index 000000000..6097c5f41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map.svg new file mode 100644 index 000000000..f9dbb0846 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/map.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown-fill.svg new file mode 100644 index 000000000..b87e236c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown.svg new file mode 100644 index 000000000..f9933a603 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/markdown.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mask.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mask.svg new file mode 100644 index 000000000..3bfe141c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mask.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mastodon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mastodon.svg new file mode 100644 index 000000000..23b34f5c0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mastodon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/medium.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/medium.svg new file mode 100644 index 000000000..cc4687653 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/medium.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone-fill.svg new file mode 100644 index 000000000..237e81467 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone.svg new file mode 100644 index 000000000..834083c19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/megaphone.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/memory.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/memory.svg new file mode 100644 index 000000000..cdc2943f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/memory.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app-fill.svg new file mode 100644 index 000000000..c41c6fbf8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app.svg new file mode 100644 index 000000000..36e57dfa1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-app.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-fill.svg new file mode 100644 index 000000000..034b64d73 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide-fill.svg new file mode 100644 index 000000000..d6e17da08 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide.svg new file mode 100644 index 000000000..d67ba6a23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button-wide.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button.svg new file mode 100644 index 000000000..4e0fff930 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-down.svg new file mode 100644 index 000000000..b2d84b24e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-up.svg new file mode 100644 index 000000000..fb35e8db7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/menu-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/messenger.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/messenger.svg new file mode 100644 index 000000000..5c6d37d4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/messenger.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/meta.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/meta.svg new file mode 100644 index 000000000..2c6885d7a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/meta.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-fill.svg new file mode 100644 index 000000000..9be58e9d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute-fill.svg new file mode 100644 index 000000000..cc325a0ce --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute.svg new file mode 100644 index 000000000..5a520a12f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic-mute.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic.svg new file mode 100644 index 000000000..57be2e560 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mic.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft-teams.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft-teams.svg new file mode 100644 index 000000000..e0cc253e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft-teams.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft.svg new file mode 100644 index 000000000..d28281f1c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/microsoft.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart-loaded.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart-loaded.svg new file mode 100644 index 000000000..8a754571f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart-loaded.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart.svg new file mode 100644 index 000000000..7f3ad000c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/minecart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem-fill.svg new file mode 100644 index 000000000..1fe97bef5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem.svg new file mode 100644 index 000000000..873090dd8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/modem.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moisture.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moisture.svg new file mode 100644 index 000000000..732f4ac2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moisture.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-fill.svg new file mode 100644 index 000000000..1149676d2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars-fill.svg new file mode 100644 index 000000000..d2e1d6ed5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars.svg new file mode 100644 index 000000000..b25ef8632 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon-stars.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon.svg new file mode 100644 index 000000000..4cd882028 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/moon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard-fill.svg new file mode 100644 index 000000000..7f5fb4842 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard.svg new file mode 100644 index 000000000..ed82b6aa8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mortarboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard-fill.svg new file mode 100644 index 000000000..bf15e965b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard.svg new file mode 100644 index 000000000..ed13d0c1a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/motherboard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse-fill.svg new file mode 100644 index 000000000..bd0b5eb4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse.svg new file mode 100644 index 000000000..40976e061 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2-fill.svg new file mode 100644 index 000000000..283d1cde3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2.svg new file mode 100644 index 000000000..359da4d39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3-fill.svg new file mode 100644 index 000000000..de6dbc7a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3.svg new file mode 100644 index 000000000..d042bfd3a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/mouse3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-beamed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-beamed.svg new file mode 100644 index 000000000..04cedf09d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-beamed.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-list.svg new file mode 100644 index 000000000..5c306bd8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note-list.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note.svg new file mode 100644 index 000000000..1125a6627 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-note.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player-fill.svg new file mode 100644 index 000000000..6619d1e7a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player.svg new file mode 100644 index 000000000..2d50a6353 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/music-player.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/newspaper.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/newspaper.svg new file mode 100644 index 000000000..7d7fa7169 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/newspaper.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nintendo-switch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nintendo-switch.svg new file mode 100644 index 000000000..0f1e2ac64 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nintendo-switch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus-fill.svg new file mode 100644 index 000000000..32430b925 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus.svg new file mode 100644 index 000000000..b1accd4af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus-fill.svg new file mode 100644 index 000000000..e5ee855c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus.svg new file mode 100644 index 000000000..085f04fe6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/node-plus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut-fill.svg new file mode 100644 index 000000000..4babc0339 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut.svg new file mode 100644 index 000000000..4912d489d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nut.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nvidia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nvidia.svg new file mode 100644 index 000000000..649204656 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/nvidia.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-fill.svg new file mode 100644 index 000000000..c1283178d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-half.svg new file mode 100644 index 000000000..d95240ac5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon.svg new file mode 100644 index 000000000..9f3657ed9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/octagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio-fill.svg new file mode 100644 index 000000000..5bdfd8227 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio.svg new file mode 100644 index 000000000..7a38b83e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/optical-audio.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/option.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/option.svg new file mode 100644 index 000000000..d7702b107 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/option.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/outlet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/outlet.svg new file mode 100644 index 000000000..b48af60de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/outlet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle-fill.svg new file mode 100644 index 000000000..ea54307fc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle.svg new file mode 100644 index 000000000..888a1fad1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square-fill.svg new file mode 100644 index 000000000..ad3caa203 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square.svg new file mode 100644 index 000000000..ad630d047 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/p-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paint-bucket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paint-bucket.svg new file mode 100644 index 000000000..ee15d10f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paint-bucket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette-fill.svg new file mode 100644 index 000000000..7dc5ecda5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette.svg new file mode 100644 index 000000000..fea76d92d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette2.svg new file mode 100644 index 000000000..5d140b31d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/palette2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paperclip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paperclip.svg new file mode 100644 index 000000000..00f311d60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paperclip.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paragraph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paragraph.svg new file mode 100644 index 000000000..999cb5327 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paragraph.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass-fill.svg new file mode 100644 index 000000000..a5715df48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass.svg new file mode 100644 index 000000000..3f51eb5df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pass.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check-fill.svg new file mode 100644 index 000000000..13014151d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check.svg new file mode 100644 index 000000000..2dd799ee1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation-fill.svg new file mode 100644 index 000000000..fd900c4e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation.svg new file mode 100644 index 000000000..153d97dda --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus-fill.svg new file mode 100644 index 000000000..12f35c23b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus.svg new file mode 100644 index 000000000..f6024f979 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus-fill.svg new file mode 100644 index 000000000..1a79d799e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus.svg new file mode 100644 index 000000000..b9a78461b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question-fill.svg new file mode 100644 index 000000000..665588b3c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question.svg new file mode 100644 index 000000000..ef4ca58e5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/patch-question.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn-fill.svg new file mode 100644 index 000000000..efca14289 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn.svg new file mode 100644 index 000000000..0e9eb3a1d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle-fill.svg new file mode 100644 index 000000000..5e3525f4a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle.svg new file mode 100644 index 000000000..1b6b64afb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-fill.svg new file mode 100644 index 000000000..68285b2fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause.svg new file mode 100644 index 000000000..22478eafc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pause.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paypal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paypal.svg new file mode 100644 index 000000000..41bd53661 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/paypal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display-horizontal.svg new file mode 100644 index 000000000..2013f1557 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display.svg new file mode 100644 index 000000000..f5d09dafb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-display.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-horizontal.svg new file mode 100644 index 000000000..9ae513a13 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc.svg new file mode 100644 index 000000000..f0f280d6c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pci-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pci-card.svg new file mode 100644 index 000000000..600a5d064 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pci-card.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace-fill.svg new file mode 100644 index 000000000..c8ed5bdd3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace.svg new file mode 100644 index 000000000..3e4420b06 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/peace.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen-fill.svg new file mode 100644 index 000000000..b7bb33718 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen.svg new file mode 100644 index 000000000..8eb3be7d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pen.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-fill.svg new file mode 100644 index 000000000..59d2830c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-square.svg new file mode 100644 index 000000000..b8c90d542 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil.svg new file mode 100644 index 000000000..f8dbfebca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pencil.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-fill.svg new file mode 100644 index 000000000..9c8078906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-half.svg new file mode 100644 index 000000000..305125cb3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon.svg new file mode 100644 index 000000000..b6f5fe300 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pentagon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people-fill.svg new file mode 100644 index 000000000..2c7389d23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people.svg new file mode 100644 index 000000000..528933d15 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/people.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/percent.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/percent.svg new file mode 100644 index 000000000..8af2bc4d0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/percent.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-add.svg new file mode 100644 index 000000000..cd9f071cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge-fill.svg new file mode 100644 index 000000000..d9ebe6723 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge.svg new file mode 100644 index 000000000..d071d44bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-badge.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-bounding-box.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-bounding-box.svg new file mode 100644 index 000000000..92e662c9d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-bounding-box.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check-fill.svg new file mode 100644 index 000000000..872497a65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check.svg new file mode 100644 index 000000000..c4b1e38bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-circle.svg new file mode 100644 index 000000000..fd7f2c92a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash-fill.svg new file mode 100644 index 000000000..fd719f20d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash.svg new file mode 100644 index 000000000..4c6cb7901 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-down.svg new file mode 100644 index 000000000..00489b95d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-exclamation.svg new file mode 100644 index 000000000..ceb698ac6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-add.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-add.svg new file mode 100644 index 000000000..4383a8528 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-add.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-check.svg new file mode 100644 index 000000000..0bb8ee469 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-dash.svg new file mode 100644 index 000000000..d2cdec55d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-down.svg new file mode 100644 index 000000000..a1cfcdcd6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-exclamation.svg new file mode 100644 index 000000000..59cfd6ff9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-gear.svg new file mode 100644 index 000000000..f91006b6c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-gear.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-lock.svg new file mode 100644 index 000000000..8af5ee145 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-lock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-slash.svg new file mode 100644 index 000000000..ede8fa429 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-up.svg new file mode 100644 index 000000000..be73bf27b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-x.svg new file mode 100644 index 000000000..959fcee45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill.svg new file mode 100644 index 000000000..6e1276872 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-gear.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-gear.svg new file mode 100644 index 000000000..8024d86c7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-gear.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-heart.svg new file mode 100644 index 000000000..e9ebbf48e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-hearts.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-hearts.svg new file mode 100644 index 000000000..06970be92 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-hearts.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lines-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lines-fill.svg new file mode 100644 index 000000000..736421c59 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lines-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lock.svg new file mode 100644 index 000000000..1c20dc778 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-lock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus-fill.svg new file mode 100644 index 000000000..151ccfe80 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus.svg new file mode 100644 index 000000000..aac3a6738 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-rolodex.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-rolodex.svg new file mode 100644 index 000000000..af898ca72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-rolodex.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-slash.svg new file mode 100644 index 000000000..7316d7ed0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-square.svg new file mode 100644 index 000000000..a7eb40efa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-up.svg new file mode 100644 index 000000000..5ec777d39 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard-fill.svg new file mode 100644 index 000000000..f40d1088a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard.svg new file mode 100644 index 000000000..3b871584e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-vcard.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video.svg new file mode 100644 index 000000000..b8c199545 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video2.svg new file mode 100644 index 000000000..3f4292e66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video3.svg new file mode 100644 index 000000000..be38b2492 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-video3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-workspace.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-workspace.svg new file mode 100644 index 000000000..e72bea027 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-workspace.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x-fill.svg new file mode 100644 index 000000000..d4903a6a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x.svg new file mode 100644 index 000000000..d7ac8f668 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person.svg new file mode 100644 index 000000000..022d1e99b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/person.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-fill.svg new file mode 100644 index 000000000..a2dfd0348 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-flip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-flip.svg new file mode 100644 index 000000000..54e2d2661 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-flip.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape-fill.svg new file mode 100644 index 000000000..295481c89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape.svg new file mode 100644 index 000000000..65cd2731d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-landscape.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate-fill.svg new file mode 100644 index 000000000..6e61ecce4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate.svg new file mode 100644 index 000000000..f380cabbc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone-vibrate.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone.svg new file mode 100644 index 000000000..3f3fd74c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/phone.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart-fill.svg new file mode 100644 index 000000000..6aa71eb89 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart.svg new file mode 100644 index 000000000..a20f6a7e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pie-chart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank-fill.svg new file mode 100644 index 000000000..b44f35d23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank.svg new file mode 100644 index 000000000..1d836ce19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/piggy-bank.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle-fill.svg new file mode 100644 index 000000000..3112c0b85 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle.svg new file mode 100644 index 000000000..a07b038e6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-angle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-fill.svg new file mode 100644 index 000000000..f00b79042 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map-fill.svg new file mode 100644 index 000000000..b8c8502bd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map.svg new file mode 100644 index 000000000..f04129a7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin-map.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin.svg new file mode 100644 index 000000000..45fd7dea6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pinterest.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pinterest.svg new file mode 100644 index 000000000..b4fbc23df --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pinterest.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip-fill.svg new file mode 100644 index 000000000..1869f7892 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip.svg new file mode 100644 index 000000000..58f06382f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/pip.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn-fill.svg new file mode 100644 index 000000000..18b916786 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn.svg new file mode 100644 index 000000000..576e30bf4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle-fill.svg new file mode 100644 index 000000000..511ef37bf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle.svg new file mode 100644 index 000000000..c93144ab0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-fill.svg new file mode 100644 index 000000000..28f2e6735 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play.svg new file mode 100644 index 000000000..b3fd3dc5b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/play.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/playstation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/playstation.svg new file mode 100644 index 000000000..f8ce05b6f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/playstation.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug-fill.svg new file mode 100644 index 000000000..d15b8e6ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug.svg new file mode 100644 index 000000000..c5e6688d8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plug.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plugin.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plugin.svg new file mode 100644 index 000000000..3f179a396 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plugin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-dotted.svg new file mode 100644 index 000000000..c69316ed9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-fill.svg new file mode 100644 index 000000000..f32011643 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle.svg new file mode 100644 index 000000000..66308ef1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-lg.svg new file mode 100644 index 000000000..f821cc336 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-slash-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-slash-minus.svg new file mode 100644 index 000000000..44a8e0eb7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-slash-minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-dotted.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-dotted.svg new file mode 100644 index 000000000..4ae7ad68b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-dotted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-fill.svg new file mode 100644 index 000000000..0d5e15cf8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square.svg new file mode 100644 index 000000000..15c4c44f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus.svg new file mode 100644 index 000000000..5b088c08c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/plus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-fill.svg new file mode 100644 index 000000000..701a1c646 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart-fill.svg new file mode 100644 index 000000000..a26890148 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart.svg new file mode 100644 index 000000000..4d22b1806 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage.svg new file mode 100644 index 000000000..cc49c7003 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postage.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-fill.svg new file mode 100644 index 000000000..01b54dd2c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart-fill.svg new file mode 100644 index 000000000..5e551fb71 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart.svg new file mode 100644 index 000000000..e0f2f05a2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard.svg new file mode 100644 index 000000000..827180e2b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/postcard.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/power.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/power.svg new file mode 100644 index 000000000..6fb97563f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/power.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription.svg new file mode 100644 index 000000000..a0f455603 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription2.svg new file mode 100644 index 000000000..018ca9110 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/prescription2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer-fill.svg new file mode 100644 index 000000000..485d98788 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer.svg new file mode 100644 index 000000000..60196bc5f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/printer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector-fill.svg new file mode 100644 index 000000000..ff6a34189 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector.svg new file mode 100644 index 000000000..218c6a5ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/projector.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle-fill.svg new file mode 100644 index 000000000..e9bbfae6b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle.svg new file mode 100644 index 000000000..c9b07a24b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/puzzle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code-scan.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code-scan.svg new file mode 100644 index 000000000..7eb599e19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code-scan.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code.svg new file mode 100644 index 000000000..bf5570dc4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/qr-code.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle-fill.svg new file mode 100644 index 000000000..d8e5e06de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle.svg new file mode 100644 index 000000000..1c8cbe7f4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond-fill.svg new file mode 100644 index 000000000..a86583bed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond.svg new file mode 100644 index 000000000..a7d8233cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-diamond.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-lg.svg new file mode 100644 index 000000000..fa3452e4d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon-fill.svg new file mode 100644 index 000000000..2ff954ed0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon.svg new file mode 100644 index 000000000..02e8ffe23 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-octagon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square-fill.svg new file mode 100644 index 000000000..dd7241042 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square.svg new file mode 100644 index 000000000..d0a56ffb1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question.svg new file mode 100644 index 000000000..05abe29c7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/question.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quora.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quora.svg new file mode 100644 index 000000000..e90e571b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quora.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quote.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quote.svg new file mode 100644 index 000000000..03b45bf0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/quote.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle-fill.svg new file mode 100644 index 000000000..c2386c3c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle.svg new file mode 100644 index 000000000..ab5c574a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square-fill.svg new file mode 100644 index 000000000..e039b8adc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square.svg new file mode 100644 index 000000000..37ddc6aec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/r-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/radioactive.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/radioactive.svg new file mode 100644 index 000000000..1b1072f7b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/radioactive.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rainbow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rainbow.svg new file mode 100644 index 000000000..8e8aea78e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rainbow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt-cutoff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt-cutoff.svg new file mode 100644 index 000000000..27be3c093 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt-cutoff.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt.svg new file mode 100644 index 000000000..9ea728362 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/receipt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-0.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-0.svg new file mode 100644 index 000000000..885bf3bb3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-0.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-1.svg new file mode 100644 index 000000000..3deafb622 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-2.svg new file mode 100644 index 000000000..7dca57aca --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-3.svg new file mode 100644 index 000000000..b30d5fb79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-4.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-4.svg new file mode 100644 index 000000000..611bdf1b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reception-4.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn-fill.svg new file mode 100644 index 000000000..caa3ea115 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn.svg new file mode 100644 index 000000000..4fd261cab --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle-fill.svg new file mode 100644 index 000000000..2c2429a19 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle.svg new file mode 100644 index 000000000..d45d91c32 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-fill.svg new file mode 100644 index 000000000..d4743936e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record.svg new file mode 100644 index 000000000..27f82a976 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2-fill.svg new file mode 100644 index 000000000..764892877 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2.svg new file mode 100644 index 000000000..43a115044 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/record2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/recycle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/recycle.svg new file mode 100644 index 000000000..e4fa6c03c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/recycle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reddit.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reddit.svg new file mode 100644 index 000000000..b1c9cfed4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reddit.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/regex.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/regex.svg new file mode 100644 index 000000000..19c0ff30f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/regex.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat-1.svg new file mode 100644 index 000000000..07f4a8b95 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat-1.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat.svg new file mode 100644 index 000000000..0f6d54d86 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/repeat.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all-fill.svg new file mode 100644 index 000000000..7b77b069c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all.svg new file mode 100644 index 000000000..c95025b37 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-all.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-fill.svg new file mode 100644 index 000000000..b5a87228d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply.svg new file mode 100644 index 000000000..c2dc098ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/reply.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn-fill.svg new file mode 100644 index 000000000..5136147dd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn.svg new file mode 100644 index 000000000..45c023285 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle-fill.svg new file mode 100644 index 000000000..afdaaf3a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle.svg new file mode 100644 index 000000000..054fd9526 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-fill.svg new file mode 100644 index 000000000..79596e0e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind.svg new file mode 100644 index 000000000..58684d4b6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rewind.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/robot.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/robot.svg new file mode 100644 index 000000000..526cb9914 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/robot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-fill.svg new file mode 100644 index 000000000..dcb5cb845 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff-fill.svg new file mode 100644 index 000000000..a748d6d82 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff.svg new file mode 100644 index 000000000..376d34297 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket-takeoff.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket.svg new file mode 100644 index 000000000..5b3cd5c12 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rocket.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router-fill.svg new file mode 100644 index 000000000..de050cffe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router-fill.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router.svg new file mode 100644 index 000000000..8fa22d0dc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/router.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss-fill.svg new file mode 100644 index 000000000..39bef06e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss.svg new file mode 100644 index 000000000..be41f20c9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rss.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rulers.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rulers.svg new file mode 100644 index 000000000..e9891c9a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/rulers.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe-fill.svg new file mode 100644 index 000000000..1036d675a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe.svg new file mode 100644 index 000000000..fb5b7cb2a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2-fill.svg new file mode 100644 index 000000000..d1d37f2f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2.svg new file mode 100644 index 000000000..37bfbe80d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/safe2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save-fill.svg new file mode 100644 index 000000000..0a43dc15f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save.svg new file mode 100644 index 000000000..26b8aed58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2-fill.svg new file mode 100644 index 000000000..45feb5938 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2.svg new file mode 100644 index 000000000..52bc9e40f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/save2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scissors.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scissors.svg new file mode 100644 index 000000000..ab71b0dc6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scissors.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scooter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scooter.svg new file mode 100644 index 000000000..238eedb50 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/scooter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/screwdriver.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/screwdriver.svg new file mode 100644 index 000000000..dc9c37435 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/screwdriver.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card-fill.svg new file mode 100644 index 000000000..9fe36b687 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card.svg new file mode 100644 index 000000000..12ed59f71 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sd-card.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart-fill.svg new file mode 100644 index 000000000..54e31c710 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart.svg new file mode 100644 index 000000000..92ea0591b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search-heart.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search.svg new file mode 100644 index 000000000..d3dc7ca16 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/search.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/segmented-nav.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/segmented-nav.svg new file mode 100644 index 000000000..42323b2f9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/segmented-nav.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check-fill.svg new file mode 100644 index 000000000..4b0a56af9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check.svg new file mode 100644 index 000000000..581ebbe22 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash-fill.svg new file mode 100644 index 000000000..254329c0c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash.svg new file mode 100644 index 000000000..abfbad373 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation-fill.svg new file mode 100644 index 000000000..5a77e9822 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation.svg new file mode 100644 index 000000000..149a7f74e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-fill.svg new file mode 100644 index 000000000..2a84015d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus-fill.svg new file mode 100644 index 000000000..bea3738a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus.svg new file mode 100644 index 000000000..41202289e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash-fill.svg new file mode 100644 index 000000000..33456870b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash.svg new file mode 100644 index 000000000..782daf3e0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-slash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x-fill.svg new file mode 100644 index 000000000..ce102ba4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x.svg new file mode 100644 index 000000000..c8bc8bf3d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send.svg new file mode 100644 index 000000000..c81fc9553 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/send.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/server.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/server.svg new file mode 100644 index 000000000..ff85feb8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/server.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share-fill.svg new file mode 100644 index 000000000..8b0ee88d3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share.svg new file mode 100644 index 000000000..79d3075f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/share.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-check.svg new file mode 100644 index 000000000..ecbf54399 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-exclamation.svg new file mode 100644 index 000000000..825de04d7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-exclamation.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-check.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-check.svg new file mode 100644 index 000000000..a72b2baf1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-exclamation.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-exclamation.svg new file mode 100644 index 000000000..b489a6816 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-exclamation.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-minus.svg new file mode 100644 index 000000000..b9b9129c5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-plus.svg new file mode 100644 index 000000000..aec96d176 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-plus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-x.svg new file mode 100644 index 000000000..d384af45f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill-x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill.svg new file mode 100644 index 000000000..d1d877daf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock-fill.svg new file mode 100644 index 000000000..e4c96b4ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock.svg new file mode 100644 index 000000000..ff3842503 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-minus.svg new file mode 100644 index 000000000..d1cedfdf7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-plus.svg new file mode 100644 index 000000000..77bcb1a33 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-shaded.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-shaded.svg new file mode 100644 index 000000000..9c4af1a72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-shaded.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash-fill.svg new file mode 100644 index 000000000..015d11b55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash.svg new file mode 100644 index 000000000..234afa2e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-x.svg new file mode 100644 index 000000000..3fe166618 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield.svg new file mode 100644 index 000000000..18309d181 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shield.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift-fill.svg new file mode 100644 index 000000000..da897bcd1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift.svg new file mode 100644 index 000000000..59a88ef55 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shift.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop-window.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop-window.svg new file mode 100644 index 000000000..a306cfa41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop-window.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop.svg new file mode 100644 index 000000000..223d77b42 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shuffle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shuffle.svg new file mode 100644 index 000000000..83bf20caf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/shuffle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end-fill.svg new file mode 100644 index 000000000..b7f5876a6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end.svg new file mode 100644 index 000000000..2828c9aaa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-dead-end.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter-fill.svg new file mode 100644 index 000000000..3dfab6cb5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter.svg new file mode 100644 index 000000000..bf1ab21fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-do-not-enter.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-fill.svg new file mode 100644 index 000000000..a8d0e5b91 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side-fill.svg new file mode 100644 index 000000000..7e6fd342a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side.svg new file mode 100644 index 000000000..80959aaf0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-side.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t-fill.svg new file mode 100644 index 000000000..0927772b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t.svg new file mode 100644 index 000000000..95240f418 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-t.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y-fill.svg new file mode 100644 index 000000000..80201f961 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y.svg new file mode 100644 index 000000000..efc84a36e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection-y.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection.svg new file mode 100644 index 000000000..509b13fd4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-intersection.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left-fill.svg new file mode 100644 index 000000000..a1bd7ac8c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left.svg new file mode 100644 index 000000000..b509fa247 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right-fill.svg new file mode 100644 index 000000000..7f771907e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right.svg new file mode 100644 index 000000000..0339ab22c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-merge-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn-fill.svg new file mode 100644 index 000000000..86cc79b76 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn.svg new file mode 100644 index 000000000..e29d4432c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-left-turn.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking-fill.svg new file mode 100644 index 000000000..0e1bf4689 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking.svg new file mode 100644 index 000000000..cc97b1c52 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-parking.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn-fill.svg new file mode 100644 index 000000000..7448c0950 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn.svg new file mode 100644 index 000000000..e7de0832e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-no-right-turn.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad-fill.svg new file mode 100644 index 000000000..258181302 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad.svg new file mode 100644 index 000000000..a264db25c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-railroad.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-fill.svg new file mode 100644 index 000000000..d9b51dc78 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights-fill.svg new file mode 100644 index 000000000..30c81bee1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights.svg new file mode 100644 index 000000000..297320ad6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop-lights.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop.svg new file mode 100644 index 000000000..14def7439 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-stop.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left-fill.svg new file mode 100644 index 000000000..1c82bcaba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left.svg new file mode 100644 index 000000000..bea00b71b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right-fill.svg new file mode 100644 index 000000000..97c6343a8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right.svg new file mode 100644 index 000000000..da447dbe6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left-fill.svg new file mode 100644 index 000000000..9d561754f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left.svg new file mode 100644 index 000000000..79475ad0b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right-fill.svg new file mode 100644 index 000000000..1749e66ad --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right.svg new file mode 100644 index 000000000..cf22c012a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-turn-slight-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield-fill.svg new file mode 100644 index 000000000..ecad4fa8d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield.svg new file mode 100644 index 000000000..aabf3fb41 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sign-yield.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signal.svg new file mode 100644 index 000000000..4220d4887 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2-fill.svg new file mode 100644 index 000000000..cc51e517d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2.svg new file mode 100644 index 000000000..6a18b3ba0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-fill.svg new file mode 100644 index 000000000..f95f257a9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split-fill.svg new file mode 100644 index 000000000..86aa086f5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split.svg new file mode 100644 index 000000000..0168ae537 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost-split.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost.svg new file mode 100644 index 000000000..90a88822d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/signpost.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim-fill.svg new file mode 100644 index 000000000..c8e2c296e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim.svg new file mode 100644 index 000000000..cc0e86954 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sim.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sina-weibo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sina-weibo.svg new file mode 100644 index 000000000..05c5f4bc8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sina-weibo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn-fill.svg new file mode 100644 index 000000000..bf064290f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn.svg new file mode 100644 index 000000000..b04455efb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle-fill.svg new file mode 100644 index 000000000..f6b6e4db0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle.svg new file mode 100644 index 000000000..63e2a1956 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-fill.svg new file mode 100644 index 000000000..a0ce53cec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward.svg new file mode 100644 index 000000000..9be60fe7f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-backward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn-fill.svg new file mode 100644 index 000000000..55bf1ba8f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn.svg new file mode 100644 index 000000000..6c5b044b4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle-fill.svg new file mode 100644 index 000000000..e30375082 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle.svg new file mode 100644 index 000000000..39e8cd31f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-fill.svg new file mode 100644 index 000000000..fa90d3fc2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end.svg new file mode 100644 index 000000000..40d6fa992 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-end.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn-fill.svg new file mode 100644 index 000000000..b767e9c97 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn.svg new file mode 100644 index 000000000..f67d3a805 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle-fill.svg new file mode 100644 index 000000000..00cea35ea --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle.svg new file mode 100644 index 000000000..3b55d7e3a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-fill.svg new file mode 100644 index 000000000..c4071aa87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward.svg new file mode 100644 index 000000000..a1c4720b7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-forward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn-fill.svg new file mode 100644 index 000000000..56a1370fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn.svg new file mode 100644 index 000000000..c86afbe44 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle-fill.svg new file mode 100644 index 000000000..b6d13b0aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle.svg new file mode 100644 index 000000000..f9664d9f6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-fill.svg new file mode 100644 index 000000000..c4295fc1f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start.svg new file mode 100644 index 000000000..a178e0e09 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skip-start.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skype.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skype.svg new file mode 100644 index 000000000..b3beaf95d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/skype.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slack.svg new file mode 100644 index 000000000..f4aa6e6d6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slack.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle-fill.svg new file mode 100644 index 000000000..f7031017a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle.svg new file mode 100644 index 000000000..4c1344bf7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-lg.svg new file mode 100644 index 000000000..161b6ec7e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square-fill.svg new file mode 100644 index 000000000..c7a393503 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square.svg new file mode 100644 index 000000000..ccf42bd63 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash.svg new file mode 100644 index 000000000..9616561fd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/slash.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders.svg new file mode 100644 index 000000000..da4b8353f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2-vertical.svg new file mode 100644 index 000000000..c474281c7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2.svg new file mode 100644 index 000000000..86fa70c35 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sliders2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/smartwatch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/smartwatch.svg new file mode 100644 index 000000000..696bd331e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/smartwatch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snapchat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snapchat.svg new file mode 100644 index 000000000..505f55a3f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snapchat.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow.svg new file mode 100644 index 000000000..9b648a5fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow2.svg new file mode 100644 index 000000000..cede335d6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow3.svg new file mode 100644 index 000000000..75e5ef24c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/snow3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down-alt.svg new file mode 100644 index 000000000..fa4f4fada --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down-alt.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down.svg new file mode 100644 index 000000000..e0fcad047 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up-alt.svg new file mode 100644 index 000000000..69c1a39a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up-alt.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up.svg new file mode 100644 index 000000000..0be5e68fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-alpha-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down-alt.svg new file mode 100644 index 000000000..d7f7fc8f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down.svg new file mode 100644 index 000000000..848834ce8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down-alt.svg new file mode 100644 index 000000000..8c39a5a38 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down-alt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down.svg new file mode 100644 index 000000000..57a3fb030 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-down.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up-alt.svg new file mode 100644 index 000000000..e8edf8865 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up-alt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up.svg new file mode 100644 index 000000000..1cd0a37e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-numeric-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up-alt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up-alt.svg new file mode 100644 index 000000000..96650d5aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up-alt.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up.svg new file mode 100644 index 000000000..215880124 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sort-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/soundwave.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/soundwave.svg new file mode 100644 index 000000000..288f108b2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/soundwave.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker-fill.svg new file mode 100644 index 000000000..bae80e2da --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker.svg new file mode 100644 index 000000000..461626db5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speaker.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer.svg new file mode 100644 index 000000000..5a0a43c94 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer2.svg new file mode 100644 index 000000000..d5676df9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/speedometer2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spellcheck.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spellcheck.svg new file mode 100644 index 000000000..029950f5a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spellcheck.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spotify.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spotify.svg new file mode 100644 index 000000000..31b423800 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/spotify.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-fill.svg new file mode 100644 index 000000000..31bae4f74 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-half.svg new file mode 100644 index 000000000..3f8179d5d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square.svg new file mode 100644 index 000000000..ded82d436 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack-overflow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack-overflow.svg new file mode 100644 index 000000000..b7d482ded --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack-overflow.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack.svg new file mode 100644 index 000000000..b8a9c940e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-fill.svg new file mode 100644 index 000000000..de09c4aa5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-half.svg new file mode 100644 index 000000000..8d30e7e01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star.svg new file mode 100644 index 000000000..742b5e250 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/star.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stars.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stars.svg new file mode 100644 index 000000000..2c1667796 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stars.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/steam.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/steam.svg new file mode 100644 index 000000000..aecd43398 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/steam.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies-fill.svg new file mode 100644 index 000000000..a0252da0f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies.svg new file mode 100644 index 000000000..8252c4978 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stickies.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky-fill.svg new file mode 100644 index 000000000..acd42b9af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky.svg new file mode 100644 index 000000000..dba01423b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sticky.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn-fill.svg new file mode 100644 index 000000000..58b6c02e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn.svg new file mode 100644 index 000000000..5c392eca1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-btn.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle-fill.svg new file mode 100644 index 000000000..ac711e030 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle.svg new file mode 100644 index 000000000..441613cac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-fill.svg new file mode 100644 index 000000000..e00085a1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop.svg new file mode 100644 index 000000000..2b86647fe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights-fill.svg new file mode 100644 index 000000000..a18566b16 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights.svg new file mode 100644 index 000000000..f765ab2ba --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stoplights.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch-fill.svg new file mode 100644 index 000000000..2d2ed116e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch.svg new file mode 100644 index 000000000..964dbb8f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stopwatch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/strava.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/strava.svg new file mode 100644 index 000000000..7e3237d5f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/strava.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stripe.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stripe.svg new file mode 100644 index 000000000..f24fdf383 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/stripe.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subscript.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subscript.svg new file mode 100644 index 000000000..6976c0d29 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subscript.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subtract.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subtract.svg new file mode 100644 index 000000000..e1d878a88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/subtract.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club-fill.svg new file mode 100644 index 000000000..d4d311ac6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club.svg new file mode 100644 index 000000000..75e5e8520 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-club.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond-fill.svg new file mode 100644 index 000000000..2be1b7fa8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond.svg new file mode 100644 index 000000000..9192a27e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-diamond.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart-fill.svg new file mode 100644 index 000000000..0dd86f999 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart.svg new file mode 100644 index 000000000..c761ef4b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-heart.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade-fill.svg new file mode 100644 index 000000000..63bb0c63f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade.svg new file mode 100644 index 000000000..8f14427ed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/suit-spade.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun-fill.svg new file mode 100644 index 000000000..cc1a60e6e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun.svg new file mode 100644 index 000000000..c3112080e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sun.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunglasses.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunglasses.svg new file mode 100644 index 000000000..3f7dad01c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunglasses.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise-fill.svg new file mode 100644 index 000000000..eb6a6687d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise.svg new file mode 100644 index 000000000..53d670ddd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunrise.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset-fill.svg new file mode 100644 index 000000000..7f5b60ecb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset.svg new file mode 100644 index 000000000..91041cfec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/sunset.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/superscript.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/superscript.svg new file mode 100644 index 000000000..06a1a784b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/superscript.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-horizontal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-horizontal.svg new file mode 100644 index 000000000..7e46d9049 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-horizontal.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-vertical.svg new file mode 100644 index 000000000..a18fa2f45 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/symmetry-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/table.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/table.svg new file mode 100644 index 000000000..5e70d22c4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/table.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-fill.svg new file mode 100644 index 000000000..571ae8f96 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape-fill.svg new file mode 100644 index 000000000..a4a604811 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape.svg new file mode 100644 index 000000000..b36f7d414 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet-landscape.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet.svg new file mode 100644 index 000000000..be81ff5ac --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tablet.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag-fill.svg new file mode 100644 index 000000000..1502792b9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag.svg new file mode 100644 index 000000000..ab34fdd9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags-fill.svg new file mode 100644 index 000000000..f92a36101 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags.svg new file mode 100644 index 000000000..9f6d67646 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tags.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front-fill.svg new file mode 100644 index 000000000..1e1eb19db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front.svg new file mode 100644 index 000000000..4cb5fdae2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/taxi-front.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telegram.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telegram.svg new file mode 100644 index 000000000..139af07eb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telegram.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-fill.svg new file mode 100644 index 000000000..efc72c073 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward-fill.svg new file mode 100644 index 000000000..f4ce48311 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward.svg new file mode 100644 index 000000000..17ec9ce7c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-forward.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound-fill.svg new file mode 100644 index 000000000..998c8fbe0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound.svg new file mode 100644 index 000000000..460fe9f27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-inbound.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus-fill.svg new file mode 100644 index 000000000..bc17abbfe --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus.svg new file mode 100644 index 000000000..4f4d93cf4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-minus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound-fill.svg new file mode 100644 index 000000000..16013a545 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound.svg new file mode 100644 index 000000000..13828860d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-outbound.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus-fill.svg new file mode 100644 index 000000000..6d8c58f53 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus.svg new file mode 100644 index 000000000..21ef90953 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x-fill.svg new file mode 100644 index 000000000..c8ef89497 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x.svg new file mode 100644 index 000000000..5aa3f95d4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone.svg new file mode 100644 index 000000000..8e359b825 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/telephone.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tencent-qq.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tencent-qq.svg new file mode 100644 index 000000000..b107eb5cc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tencent-qq.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-dash.svg new file mode 100644 index 000000000..9049b5e84 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-dash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-fill.svg new file mode 100644 index 000000000..d3c63943d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-plus.svg new file mode 100644 index 000000000..be268c8e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-split.svg new file mode 100644 index 000000000..f65d2c7a2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-split.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-x.svg new file mode 100644 index 000000000..5128f115e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal-x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal.svg new file mode 100644 index 000000000..e12c9f882 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/terminal.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-center.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-center.svg new file mode 100644 index 000000000..2887a99f2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-center.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-left.svg new file mode 100644 index 000000000..34d8c55e9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-right.svg new file mode 100644 index 000000000..fdd837fa3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-indent-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-left.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-left.svg new file mode 100644 index 000000000..045261164 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-paragraph.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-paragraph.svg new file mode 100644 index 000000000..9779beabf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-paragraph.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-right.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-right.svg new file mode 100644 index 000000000..34686b0f1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-wrap.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-wrap.svg new file mode 100644 index 000000000..713a96c72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/text-wrap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-resize.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-resize.svg new file mode 100644 index 000000000..c4a9d9fcc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-resize.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-t.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-t.svg new file mode 100644 index 000000000..dc7e17c27 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea-t.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea.svg new file mode 100644 index 000000000..9aa54459d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/textarea.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-half.svg new file mode 100644 index 000000000..cafefd29b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-half.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-high.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-high.svg new file mode 100644 index 000000000..15acf4c6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-high.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-low.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-low.svg new file mode 100644 index 000000000..ce540e03b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-low.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-snow.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-snow.svg new file mode 100644 index 000000000..0e1b4002f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-snow.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-sun.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-sun.svg new file mode 100644 index 000000000..07c329095 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer-sun.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer.svg new file mode 100644 index 000000000..748813ec0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thermometer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots-vertical.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots-vertical.svg new file mode 100644 index 000000000..cd0c79abb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots-vertical.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots.svg new file mode 100644 index 000000000..ea92369aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/three-dots.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt-fill.svg new file mode 100644 index 000000000..85c437ee0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt.svg new file mode 100644 index 000000000..b8356da42 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/thunderbolt.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed-fill.svg new file mode 100644 index 000000000..bc5d192bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed.svg new file mode 100644 index 000000000..c2701bbe7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-detailed.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-fill.svg new file mode 100644 index 000000000..73728b6d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated-fill.svg new file mode 100644 index 000000000..2ec1d57e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated.svg new file mode 100644 index 000000000..194ae05e1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket-perforated.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket.svg new file mode 100644 index 000000000..f24a93e58 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ticket.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tiktok.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tiktok.svg new file mode 100644 index 000000000..7edac4ee0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tiktok.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-off.svg new file mode 100644 index 000000000..97d6dab37 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-on.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-on.svg new file mode 100644 index 000000000..d13b49556 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle-on.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-off.svg new file mode 100644 index 000000000..a8fee6b1b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-off.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-on.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-on.svg new file mode 100644 index 000000000..993ec3327 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggle2-on.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles.svg new file mode 100644 index 000000000..d53ae018a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles2.svg new file mode 100644 index 000000000..862fc9f2c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/toggles2.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tools.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tools.svg new file mode 100644 index 000000000..fcc8362f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tools.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tornado.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tornado.svg new file mode 100644 index 000000000..5bb53a263 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tornado.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front-fill.svg new file mode 100644 index 000000000..54210a766 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front.svg new file mode 100644 index 000000000..f1080fe66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-freight-front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front-fill.svg new file mode 100644 index 000000000..0895443a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front.svg new file mode 100644 index 000000000..672ed4bb1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front-fill.svg new file mode 100644 index 000000000..881ffbcaf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front.svg new file mode 100644 index 000000000..db5f945b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/train-lightrail-front.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/translate.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/translate.svg new file mode 100644 index 000000000..39a17d228 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/translate.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash-fill.svg new file mode 100644 index 000000000..1a20e6a04 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash.svg new file mode 100644 index 000000000..0ba7218ec --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2-fill.svg new file mode 100644 index 000000000..bc78b6d6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2.svg new file mode 100644 index 000000000..6e6468efb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3-fill.svg new file mode 100644 index 000000000..e0e81f1aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3.svg new file mode 100644 index 000000000..1d5f42eed --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trash3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree-fill.svg new file mode 100644 index 000000000..4d45dd430 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree.svg new file mode 100644 index 000000000..b97eb64f7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tree.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trello.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trello.svg new file mode 100644 index 000000000..088605810 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trello.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-fill.svg new file mode 100644 index 000000000..654787f2d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-half.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-half.svg new file mode 100644 index 000000000..8f86f28c3 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle-half.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle.svg new file mode 100644 index 000000000..1fa1898e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/triangle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy-fill.svg new file mode 100644 index 000000000..e29f0013e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy.svg new file mode 100644 index 000000000..adfa10830 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/trophy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tropical-storm.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tropical-storm.svg new file mode 100644 index 000000000..c16188d48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tropical-storm.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-flatbed.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-flatbed.svg new file mode 100644 index 000000000..5a37c8d88 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-flatbed.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front-fill.svg new file mode 100644 index 000000000..f5b63e3a4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front.svg new file mode 100644 index 000000000..a676a7182 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck-front.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck.svg new file mode 100644 index 000000000..1afc549c1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/truck.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tsunami.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tsunami.svg new file mode 100644 index 000000000..cf574864c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tsunami.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv-fill.svg new file mode 100644 index 000000000..bf9830f36 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv.svg new file mode 100644 index 000000000..bba3da169 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/tv.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitch.svg new file mode 100644 index 000000000..2975f8058 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitter.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitter.svg new file mode 100644 index 000000000..8a83fa675 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/twitter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-bold.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-bold.svg new file mode 100644 index 000000000..276d133c2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-bold.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h1.svg new file mode 100644 index 000000000..4c8918175 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h2.svg new file mode 100644 index 000000000..b6ab76501 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h3.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h3.svg new file mode 100644 index 000000000..154c293f8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-h3.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-italic.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-italic.svg new file mode 100644 index 000000000..3ac6b09f0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-italic.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-strikethrough.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-strikethrough.svg new file mode 100644 index 000000000..1c940e42a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-strikethrough.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-underline.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-underline.svg new file mode 100644 index 000000000..c299b8bf2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type-underline.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type.svg new file mode 100644 index 000000000..9ab1e4c48 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/type.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ubuntu.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ubuntu.svg new file mode 100644 index 000000000..27f8c2782 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ubuntu.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks-grid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks-grid.svg new file mode 100644 index 000000000..a32d42410 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks-grid.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks.svg new file mode 100644 index 000000000..9b659e271 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-checks.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios-grid.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios-grid.svg new file mode 100644 index 000000000..00c7b0802 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios-grid.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios.svg new file mode 100644 index 000000000..da779afc7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/ui-radios.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella-fill.svg new file mode 100644 index 000000000..c4886e9af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella.svg new file mode 100644 index 000000000..94f32f906 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/umbrella.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unindent.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unindent.svg new file mode 100644 index 000000000..19692833b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unindent.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/union.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/union.svg new file mode 100644 index 000000000..b629b8816 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/union.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unity.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unity.svg new file mode 100644 index 000000000..e179a383b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access-circle.svg new file mode 100644 index 000000000..158465b46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access.svg new file mode 100644 index 000000000..3b7fc37e0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/universal-access.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock-fill.svg new file mode 100644 index 000000000..f0533548c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock.svg new file mode 100644 index 000000000..8eb0925da --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/unlock.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc-scan.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc-scan.svg new file mode 100644 index 000000000..2a9a6aff0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc-scan.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc.svg new file mode 100644 index 000000000..6669ef7a1 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upload.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upload.svg new file mode 100644 index 000000000..be3f8e378 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/upload.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c-fill.svg new file mode 100644 index 000000000..0e50ac6a7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c.svg new file mode 100644 index 000000000..c17d4ca1b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-c.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive-fill.svg new file mode 100644 index 000000000..834614dd7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive.svg new file mode 100644 index 000000000..ca08df5bc --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-drive.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-fill.svg new file mode 100644 index 000000000..443c91a65 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro-fill.svg new file mode 100644 index 000000000..67ad74472 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro.svg new file mode 100644 index 000000000..945b6e75d --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-micro.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini-fill.svg new file mode 100644 index 000000000..723563682 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini.svg new file mode 100644 index 000000000..7cc383f0f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-mini.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug-fill.svg new file mode 100644 index 000000000..2f1c185cd --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug.svg new file mode 100644 index 000000000..68f5f9788 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-plug.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-symbol.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-symbol.svg new file mode 100644 index 000000000..eb02d87ae --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb-symbol.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb.svg new file mode 100644 index 000000000..e82324c40 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/usb.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine.svg new file mode 100644 index 000000000..554205510 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine2.svg new file mode 100644 index 000000000..c70e2741a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/valentine2.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vector-pen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vector-pen.svg new file mode 100644 index 000000000..013acc258 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vector-pen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-list.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-list.svg new file mode 100644 index 000000000..3d1a972e4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-list.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-stacked.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-stacked.svg new file mode 100644 index 000000000..7f59bb987 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/view-stacked.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vimeo.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vimeo.svg new file mode 100644 index 000000000..34eea6d24 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vimeo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl-fill.svg new file mode 100644 index 000000000..a5ab73ded --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl.svg new file mode 100644 index 000000000..75c2681d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vinyl.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus.svg new file mode 100644 index 000000000..64dd56f4b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus2.svg new file mode 100644 index 000000000..0aa390150 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/virus2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/voicemail.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/voicemail.svg new file mode 100644 index 000000000..ff7ce86cb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/voicemail.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down-fill.svg new file mode 100644 index 000000000..4879b5a72 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down.svg new file mode 100644 index 000000000..996dbefd6 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute-fill.svg new file mode 100644 index 000000000..7ab768441 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute.svg new file mode 100644 index 000000000..12659d9aa --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-mute.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off-fill.svg new file mode 100644 index 000000000..4941870e7 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off.svg new file mode 100644 index 000000000..08bb6b99c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up-fill.svg new file mode 100644 index 000000000..495ee981a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up-fill.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up.svg new file mode 100644 index 000000000..3840310db --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/volume-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vr.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vr.svg new file mode 100644 index 000000000..cf2ea3761 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/vr.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet-fill.svg new file mode 100644 index 000000000..d44e5c836 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet.svg new file mode 100644 index 000000000..d18441bcf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet2.svg new file mode 100644 index 000000000..e646d94de --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wallet2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/watch.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/watch.svg new file mode 100644 index 000000000..8c3ee988e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/watch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/water.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/water.svg new file mode 100644 index 000000000..18e08257b --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/water.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam-fill.svg new file mode 100644 index 000000000..04b835bdf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam.svg new file mode 100644 index 000000000..da7ef71e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/webcam.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wechat.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wechat.svg new file mode 100644 index 000000000..06b8ff83a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wechat.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/whatsapp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/whatsapp.svg new file mode 100644 index 000000000..6242d057c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/whatsapp.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-1.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-1.svg new file mode 100644 index 000000000..4d75ef524 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-1.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-2.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-2.svg new file mode 100644 index 000000000..377c1fc9f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-2.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-off.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-off.svg new file mode 100644 index 000000000..439986136 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi.svg new file mode 100644 index 000000000..8cb1f71d9 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wifi.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wikipedia.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wikipedia.svg new file mode 100644 index 000000000..5fa98b1cf --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wikipedia.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wind.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wind.svg new file mode 100644 index 000000000..d350ea404 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wind.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dash.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dash.svg new file mode 100644 index 000000000..191fbd72c --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dash.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-desktop.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-desktop.svg new file mode 100644 index 000000000..a044521e2 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-desktop.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dock.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dock.svg new file mode 100644 index 000000000..dbffecbc8 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-dock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-fullscreen.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-fullscreen.svg new file mode 100644 index 000000000..22a8d2083 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-plus.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-plus.svg new file mode 100644 index 000000000..08444f3af --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-plus.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-sidebar.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-sidebar.svg new file mode 100644 index 000000000..98476ce87 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-sidebar.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-split.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-split.svg new file mode 100644 index 000000000..21862f253 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-split.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-stack.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-stack.svg new file mode 100644 index 000000000..592e5c85f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-stack.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-x.svg new file mode 100644 index 000000000..e7a97dc60 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window-x.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window.svg new file mode 100644 index 000000000..ad6166e69 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/window.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/windows.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/windows.svg new file mode 100644 index 000000000..b28056079 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/windows.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wordpress.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wordpress.svg new file mode 100644 index 000000000..4c8cbc412 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wordpress.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle-fill.svg new file mode 100644 index 000000000..b723d7f66 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle-fill.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle.svg new file mode 100644 index 000000000..a5a6f0b79 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable.svg new file mode 100644 index 000000000..4ec808244 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench-adjustable.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench.svg new file mode 100644 index 000000000..bef07136f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/wrench.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle-fill.svg new file mode 100644 index 000000000..448fdee46 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle.svg new file mode 100644 index 000000000..ce37cdc36 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond-fill.svg new file mode 100644 index 000000000..2de64033e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond.svg new file mode 100644 index 000000000..0ade53696 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-diamond.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-lg.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-lg.svg new file mode 100644 index 000000000..53aec00d4 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-lg.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon-fill.svg new file mode 100644 index 000000000..7872889d5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon.svg new file mode 100644 index 000000000..794afd942 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-octagon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square-fill.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square-fill.svg new file mode 100644 index 000000000..ddfd727a0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square.svg new file mode 100644 index 000000000..9d7852f6a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x-square.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x.svg new file mode 100644 index 000000000..c865d888e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/xbox.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/xbox.svg new file mode 100644 index 000000000..9d8497330 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/xbox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yelp.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yelp.svg new file mode 100644 index 000000000..08d346515 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yelp.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yin-yang.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yin-yang.svg new file mode 100644 index 000000000..cf1da48fb --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/yin-yang.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/youtube.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/youtube.svg new file mode 100644 index 000000000..86fa4900a --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/youtube.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-in.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-in.svg new file mode 100644 index 000000000..6cde1a0b5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-in.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-out.svg b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-out.svg new file mode 100644 index 000000000..b965f8e71 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/icons/zoom-out.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap-icons/package.json b/src/SharedUI/wwwroot/lib/bootstrap-icons/package.json new file mode 100644 index 000000000..0bac95cf0 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap-icons/package.json @@ -0,0 +1,70 @@ +{ + "name": "bootstrap-icons", + "version": "1.9.1", + "description": "Official open source SVG icon library for Bootstrap", + "author": "mdo", + "license": "MIT", + "homepage": "https://icons.getbootstrap.com/", + "repository": { + "type": "git", + "url": "git+https://github.com/twbs/icons.git" + }, + "bugs": { + "url": "https://github.com/twbs/icons/issues" + }, + "keywords": [ + "bootstrap", + "icons" + ], + "scripts": { + "start": "npm run docs-serve", + "docs-serve": "hugo server --port 4000 --disableFastRender", + "docs-build": "hugo --cleanDestinationDir", + "docs-purge": "npm run docs-build && purgecss --css docs/static/assets/css/bootstrap.min.css --content \"_site/**/*.html\" \"_site/assets/js/**/*.js\" --keyframes --output docs/static/assets/css/", + "pages": "node build/build-pages.js", + "icons": "npm-run-all icons-main --aggregate-output --parallel icons-sprite icons-font", + "icons-main": "node build/build-svgs.js", + "icons-zip": "cross-env-shell \"rm -rf bootstrap-icons-$npm_package_version && cp -r icons/ bootstrap-icons-$npm_package_version && cp bootstrap-icons.svg bootstrap-icons-$npm_package_version && cp -r font/ bootstrap-icons-$npm_package_version && zip -r9 bootstrap-icons-$npm_package_version.zip bootstrap-icons-$npm_package_version && rm -rf bootstrap-icons-$npm_package_version\"", + "icons-sprite": "svg-sprite --config svg-sprite.json --log=info icons/*.svg", + "icons-font": "fantasticon", + "release": "npm-run-all icons docs-build icons-zip", + "netlify": "cross-env-shell HUGO_BASEURL=$DEPLOY_PRIME_URL npm-run-all icons docs-purge docs-build", + "test:fusv": "fusv docs/assets/scss/", + "test:eslint": "eslint --cache --cache-location node_modules/.cache/.eslintcache --report-unused-disable-directives .", + "test:stylelint": "stylelint docs/assets/scss/ --cache --cache-location node_modules/.cache/.stylelintcache --rd", + "test:lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json", + "test:vnu": "node build/vnu-jar.js", + "test": "npm-run-all docs-build --parallel --aggregate-output --continue-on-error test:*" + }, + "style": "font/bootstrap-icons.css", + "sass": "font/bootstrap-icons.scss", + "devDependencies": { + "autoprefixer": "^10.4.7", + "bootstrap": "5.2.0-beta1", + "cross-env": "^7.0.3", + "eslint": "^8.19.0", + "fantasticon": "^1.2.3", + "find-unused-sass-variables": "^4.0.4", + "hugo-bin": "^0.89.0", + "lockfile-lint": "^4.7.6", + "npm-run-all": "^4.1.5", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-cli": "^10.0.0", + "purgecss": "^4.1.3", + "stylelint": "^14.9.1", + "stylelint-config-twbs-bootstrap": "^4.0.0", + "svg-sprite": "^2.0.0-beta7", + "svgo": "^2.8.0", + "vnu-jar": "21.10.12" + }, + "files": [ + "icons/*.svg", + "bootstrap-icons.svg", + "font", + "!.DS_Store" + ], + "hugo-bin": { + "buildTags": "extended" + } +} diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css new file mode 100644 index 000000000..37d2d3dc5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css @@ -0,0 +1,4085 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !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: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !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: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !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: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !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: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !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: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css.map new file mode 100644 index 000000000..2f2887337 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,2BAAA;ALsjDZ;;AK7jDQ;EAOI,iCAAA;AL0jDZ;;AKjkDQ;EAOI,gCAAA;AL8jDZ;;AKrkDQ;EAOI,8BAAA;ALkkDZ;;AKzkDQ;EAOI,gCAAA;ALskDZ;;AK7kDQ;EAOI,8BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,0BAAA;ALsmDZ;;AK7mDQ;EAOI,gCAAA;AL0mDZ;;AKjnDQ;EAOI,+BAAA;AL8mDZ;;AKrnDQ;EAOI,6BAAA;ALknDZ;;AKznDQ;EAOI,+BAAA;ALsnDZ;;AK7nDQ;EAOI,6BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,0BAAA;IAAA,yBAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;EKvrFM;IAOI,mBAAA;ELmrFV;EK1rFM;IAOI,mBAAA;ELsrFV;EK7rFM;IAOI,mBAAA;ELyrFV;EKhsFM;IAOI,mBAAA;EL4rFV;EKnsFM;IAOI,oBAAA;EL+rFV;EKtsFM;IAOI,0BAAA;ELksFV;EKzsFM;IAOI,yBAAA;ELqsFV;EK5sFM;IAOI,uBAAA;ELwsFV;EK/sFM;IAOI,yBAAA;EL2sFV;EKltFM;IAOI,uBAAA;EL8sFV;EKrtFM;IAOI,uBAAA;ELitFV;EKxtFM;IAOI,0BAAA;IAAA,yBAAA;ELqtFV;EK5tFM;IAOI,gCAAA;IAAA,+BAAA;ELytFV;EKhuFM;IAOI,+BAAA;IAAA,8BAAA;EL6tFV;EKpuFM;IAOI,6BAAA;IAAA,4BAAA;ELiuFV;EKxuFM;IAOI,+BAAA;IAAA,8BAAA;ELquFV;EK5uFM;IAOI,6BAAA;IAAA,4BAAA;ELyuFV;EKhvFM;IAOI,6BAAA;IAAA,4BAAA;EL6uFV;EKpvFM;IAOI,wBAAA;IAAA,2BAAA;ELivFV;EKxvFM;IAOI,8BAAA;IAAA,iCAAA;ELqvFV;EK5vFM;IAOI,6BAAA;IAAA,gCAAA;ELyvFV;EKhwFM;IAOI,2BAAA;IAAA,8BAAA;EL6vFV;EKpwFM;IAOI,6BAAA;IAAA,gCAAA;ELiwFV;EKxwFM;IAOI,2BAAA;IAAA,8BAAA;ELqwFV;EK5wFM;IAOI,2BAAA;IAAA,8BAAA;ELywFV;EKhxFM;IAOI,wBAAA;EL4wFV;EKnxFM;IAOI,8BAAA;EL+wFV;EKtxFM;IAOI,6BAAA;ELkxFV;EKzxFM;IAOI,2BAAA;ELqxFV;EK5xFM;IAOI,6BAAA;ELwxFV;EK/xFM;IAOI,2BAAA;EL2xFV;EKlyFM;IAOI,2BAAA;EL8xFV;EKryFM;IAOI,0BAAA;ELiyFV;EKxyFM;IAOI,gCAAA;ELoyFV;EK3yFM;IAOI,+BAAA;ELuyFV;EK9yFM;IAOI,6BAAA;EL0yFV;EKjzFM;IAOI,+BAAA;EL6yFV;EKpzFM;IAOI,6BAAA;ELgzFV;EKvzFM;IAOI,6BAAA;ELmzFV;EK1zFM;IAOI,2BAAA;ELszFV;EK7zFM;IAOI,iCAAA;ELyzFV;EKh0FM;IAOI,gCAAA;EL4zFV;EKn0FM;IAOI,8BAAA;EL+zFV;EKt0FM;IAOI,gCAAA;ELk0FV;EKz0FM;IAOI,8BAAA;ELq0FV;EK50FM;IAOI,8BAAA;ELw0FV;EK/0FM;IAOI,yBAAA;EL20FV;EKl1FM;IAOI,+BAAA;EL80FV;EKr1FM;IAOI,8BAAA;ELi1FV;EKx1FM;IAOI,4BAAA;ELo1FV;EK31FM;IAOI,8BAAA;ELu1FV;EK91FM;IAOI,4BAAA;EL01FV;EKj2FM;IAOI,4BAAA;EL61FV;EKp2FM;IAOI,qBAAA;ELg2FV;EKv2FM;IAOI,2BAAA;ELm2FV;EK12FM;IAOI,0BAAA;ELs2FV;EK72FM;IAOI,wBAAA;ELy2FV;EKh3FM;IAOI,0BAAA;EL42FV;EKn3FM;IAOI,wBAAA;EL+2FV;EKt3FM;IAOI,2BAAA;IAAA,0BAAA;ELm3FV;EK13FM;IAOI,iCAAA;IAAA,gCAAA;ELu3FV;EK93FM;IAOI,gCAAA;IAAA,+BAAA;EL23FV;EKl4FM;IAOI,8BAAA;IAAA,6BAAA;EL+3FV;EKt4FM;IAOI,gCAAA;IAAA,+BAAA;ELm4FV;EK14FM;IAOI,8BAAA;IAAA,6BAAA;ELu4FV;EK94FM;IAOI,yBAAA;IAAA,4BAAA;EL24FV;EKl5FM;IAOI,+BAAA;IAAA,kCAAA;EL+4FV;EKt5FM;IAOI,8BAAA;IAAA,iCAAA;ELm5FV;EK15FM;IAOI,4BAAA;IAAA,+BAAA;ELu5FV;EK95FM;IAOI,8BAAA;IAAA,iCAAA;EL25FV;EKl6FM;IAOI,4BAAA;IAAA,+BAAA;EL+5FV;EKt6FM;IAOI,yBAAA;ELk6FV;EKz6FM;IAOI,+BAAA;ELq6FV;EK56FM;IAOI,8BAAA;ELw6FV;EK/6FM;IAOI,4BAAA;EL26FV;EKl7FM;IAOI,8BAAA;EL86FV;EKr7FM;IAOI,4BAAA;ELi7FV;EKx7FM;IAOI,2BAAA;ELo7FV;EK37FM;IAOI,iCAAA;ELu7FV;EK97FM;IAOI,gCAAA;EL07FV;EKj8FM;IAOI,8BAAA;EL67FV;EKp8FM;IAOI,gCAAA;ELg8FV;EKv8FM;IAOI,8BAAA;ELm8FV;EK18FM;IAOI,4BAAA;ELs8FV;EK78FM;IAOI,kCAAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,0BAAA;ELw9FV;EK/9FM;IAOI,gCAAA;EL29FV;EKl+FM;IAOI,+BAAA;EL89FV;EKr+FM;IAOI,6BAAA;ELi+FV;EKx+FM;IAOI,+BAAA;ELo+FV;EK3+FM;IAOI,6BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,2BAAA;ELm4GV;EK14GM;IAOI,iCAAA;ELs4GV;EK74GM;IAOI,gCAAA;ELy4GV;EKh5GM;IAOI,8BAAA;EL44GV;EKn5GM;IAOI,gCAAA;EL+4GV;EKt5GM;IAOI,8BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,0BAAA;ELu6GV;EK96GM;IAOI,gCAAA;EL06GV;EKj7GM;IAOI,+BAAA;EL66GV;EKp7GM;IAOI,6BAAA;ELg7GV;EKv7GM;IAOI,+BAAA;ELm7GV;EK17GM;IAOI,6BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}body-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css new file mode 100644 index 000000000..8d836d469 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!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:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!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:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!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:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!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:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!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:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css.map new file mode 100644 index 000000000..4811b6f4e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css new file mode 100644 index 000000000..171129648 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css @@ -0,0 +1,4084 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-right: 8.33333333%; +} + +.offset-2 { + margin-right: 16.66666667%; +} + +.offset-3 { + margin-right: 25%; +} + +.offset-4 { + margin-right: 33.33333333%; +} + +.offset-5 { + margin-right: 41.66666667%; +} + +.offset-6 { + margin-right: 50%; +} + +.offset-7 { + margin-right: 58.33333333%; +} + +.offset-8 { + margin-right: 66.66666667%; +} + +.offset-9 { + margin-right: 75%; +} + +.offset-10 { + margin-right: 83.33333333%; +} + +.offset-11 { + margin-right: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-right: 0; + } + .offset-sm-1 { + margin-right: 8.33333333%; + } + .offset-sm-2 { + margin-right: 16.66666667%; + } + .offset-sm-3 { + margin-right: 25%; + } + .offset-sm-4 { + margin-right: 33.33333333%; + } + .offset-sm-5 { + margin-right: 41.66666667%; + } + .offset-sm-6 { + margin-right: 50%; + } + .offset-sm-7 { + margin-right: 58.33333333%; + } + .offset-sm-8 { + margin-right: 66.66666667%; + } + .offset-sm-9 { + margin-right: 75%; + } + .offset-sm-10 { + margin-right: 83.33333333%; + } + .offset-sm-11 { + margin-right: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-right: 0; + } + .offset-md-1 { + margin-right: 8.33333333%; + } + .offset-md-2 { + margin-right: 16.66666667%; + } + .offset-md-3 { + margin-right: 25%; + } + .offset-md-4 { + margin-right: 33.33333333%; + } + .offset-md-5 { + margin-right: 41.66666667%; + } + .offset-md-6 { + margin-right: 50%; + } + .offset-md-7 { + margin-right: 58.33333333%; + } + .offset-md-8 { + margin-right: 66.66666667%; + } + .offset-md-9 { + margin-right: 75%; + } + .offset-md-10 { + margin-right: 83.33333333%; + } + .offset-md-11 { + margin-right: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-right: 0; + } + .offset-lg-1 { + margin-right: 8.33333333%; + } + .offset-lg-2 { + margin-right: 16.66666667%; + } + .offset-lg-3 { + margin-right: 25%; + } + .offset-lg-4 { + margin-right: 33.33333333%; + } + .offset-lg-5 { + margin-right: 41.66666667%; + } + .offset-lg-6 { + margin-right: 50%; + } + .offset-lg-7 { + margin-right: 58.33333333%; + } + .offset-lg-8 { + margin-right: 66.66666667%; + } + .offset-lg-9 { + margin-right: 75%; + } + .offset-lg-10 { + margin-right: 83.33333333%; + } + .offset-lg-11 { + margin-right: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-right: 0; + } + .offset-xl-1 { + margin-right: 8.33333333%; + } + .offset-xl-2 { + margin-right: 16.66666667%; + } + .offset-xl-3 { + margin-right: 25%; + } + .offset-xl-4 { + margin-right: 33.33333333%; + } + .offset-xl-5 { + margin-right: 41.66666667%; + } + .offset-xl-6 { + margin-right: 50%; + } + .offset-xl-7 { + margin-right: 58.33333333%; + } + .offset-xl-8 { + margin-right: 66.66666667%; + } + .offset-xl-9 { + margin-right: 75%; + } + .offset-xl-10 { + margin-right: 83.33333333%; + } + .offset-xl-11 { + margin-right: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-right: 0; + } + .offset-xxl-1 { + margin-right: 8.33333333%; + } + .offset-xxl-2 { + margin-right: 16.66666667%; + } + .offset-xxl-3 { + margin-right: 25%; + } + .offset-xxl-4 { + margin-right: 33.33333333%; + } + .offset-xxl-5 { + margin-right: 41.66666667%; + } + .offset-xxl-6 { + margin-right: 50%; + } + .offset-xxl-7 { + margin-right: 58.33333333%; + } + .offset-xxl-8 { + margin-right: 66.66666667%; + } + .offset-xxl-9 { + margin-right: 75%; + } + .offset-xxl-10 { + margin-right: 83.33333333%; + } + .offset-xxl-11 { + margin-right: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.mx-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-left: 0 !important; +} + +.me-1 { + margin-left: 0.25rem !important; +} + +.me-2 { + margin-left: 0.5rem !important; +} + +.me-3 { + margin-left: 1rem !important; +} + +.me-4 { + margin-left: 1.5rem !important; +} + +.me-5 { + margin-left: 3rem !important; +} + +.me-auto { + margin-left: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-right: 0 !important; +} + +.ms-1 { + margin-right: 0.25rem !important; +} + +.ms-2 { + margin-right: 0.5rem !important; +} + +.ms-3 { + margin-right: 1rem !important; +} + +.ms-4 { + margin-right: 1.5rem !important; +} + +.ms-5 { + margin-right: 3rem !important; +} + +.ms-auto { + margin-right: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.px-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-left: 0 !important; +} + +.pe-1 { + padding-left: 0.25rem !important; +} + +.pe-2 { + padding-left: 0.5rem !important; +} + +.pe-3 { + padding-left: 1rem !important; +} + +.pe-4 { + padding-left: 1.5rem !important; +} + +.pe-5 { + padding-left: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-right: 0 !important; +} + +.ps-1 { + padding-right: 0.25rem !important; +} + +.ps-2 { + padding-right: 0.5rem !important; +} + +.ps-3 { + padding-right: 1rem !important; +} + +.ps-4 { + padding-right: 1.5rem !important; +} + +.ps-5 { + padding-right: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !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: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-sm-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-sm-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-left: 0 !important; + } + .me-sm-1 { + margin-left: 0.25rem !important; + } + .me-sm-2 { + margin-left: 0.5rem !important; + } + .me-sm-3 { + margin-left: 1rem !important; + } + .me-sm-4 { + margin-left: 1.5rem !important; + } + .me-sm-5 { + margin-left: 3rem !important; + } + .me-sm-auto { + margin-left: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-right: 0 !important; + } + .ms-sm-1 { + margin-right: 0.25rem !important; + } + .ms-sm-2 { + margin-right: 0.5rem !important; + } + .ms-sm-3 { + margin-right: 1rem !important; + } + .ms-sm-4 { + margin-right: 1.5rem !important; + } + .ms-sm-5 { + margin-right: 3rem !important; + } + .ms-sm-auto { + margin-right: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-sm-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-left: 0 !important; + } + .pe-sm-1 { + padding-left: 0.25rem !important; + } + .pe-sm-2 { + padding-left: 0.5rem !important; + } + .pe-sm-3 { + padding-left: 1rem !important; + } + .pe-sm-4 { + padding-left: 1.5rem !important; + } + .pe-sm-5 { + padding-left: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-right: 0 !important; + } + .ps-sm-1 { + padding-right: 0.25rem !important; + } + .ps-sm-2 { + padding-right: 0.5rem !important; + } + .ps-sm-3 { + padding-right: 1rem !important; + } + .ps-sm-4 { + padding-right: 1.5rem !important; + } + .ps-sm-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !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: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-md-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-md-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-left: 0 !important; + } + .me-md-1 { + margin-left: 0.25rem !important; + } + .me-md-2 { + margin-left: 0.5rem !important; + } + .me-md-3 { + margin-left: 1rem !important; + } + .me-md-4 { + margin-left: 1.5rem !important; + } + .me-md-5 { + margin-left: 3rem !important; + } + .me-md-auto { + margin-left: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-right: 0 !important; + } + .ms-md-1 { + margin-right: 0.25rem !important; + } + .ms-md-2 { + margin-right: 0.5rem !important; + } + .ms-md-3 { + margin-right: 1rem !important; + } + .ms-md-4 { + margin-right: 1.5rem !important; + } + .ms-md-5 { + margin-right: 3rem !important; + } + .ms-md-auto { + margin-right: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-md-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-left: 0 !important; + } + .pe-md-1 { + padding-left: 0.25rem !important; + } + .pe-md-2 { + padding-left: 0.5rem !important; + } + .pe-md-3 { + padding-left: 1rem !important; + } + .pe-md-4 { + padding-left: 1.5rem !important; + } + .pe-md-5 { + padding-left: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-right: 0 !important; + } + .ps-md-1 { + padding-right: 0.25rem !important; + } + .ps-md-2 { + padding-right: 0.5rem !important; + } + .ps-md-3 { + padding-right: 1rem !important; + } + .ps-md-4 { + padding-right: 1.5rem !important; + } + .ps-md-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !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: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-lg-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-lg-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-left: 0 !important; + } + .me-lg-1 { + margin-left: 0.25rem !important; + } + .me-lg-2 { + margin-left: 0.5rem !important; + } + .me-lg-3 { + margin-left: 1rem !important; + } + .me-lg-4 { + margin-left: 1.5rem !important; + } + .me-lg-5 { + margin-left: 3rem !important; + } + .me-lg-auto { + margin-left: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-right: 0 !important; + } + .ms-lg-1 { + margin-right: 0.25rem !important; + } + .ms-lg-2 { + margin-right: 0.5rem !important; + } + .ms-lg-3 { + margin-right: 1rem !important; + } + .ms-lg-4 { + margin-right: 1.5rem !important; + } + .ms-lg-5 { + margin-right: 3rem !important; + } + .ms-lg-auto { + margin-right: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-lg-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-left: 0 !important; + } + .pe-lg-1 { + padding-left: 0.25rem !important; + } + .pe-lg-2 { + padding-left: 0.5rem !important; + } + .pe-lg-3 { + padding-left: 1rem !important; + } + .pe-lg-4 { + padding-left: 1.5rem !important; + } + .pe-lg-5 { + padding-left: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-right: 0 !important; + } + .ps-lg-1 { + padding-right: 0.25rem !important; + } + .ps-lg-2 { + padding-right: 0.5rem !important; + } + .ps-lg-3 { + padding-right: 1rem !important; + } + .ps-lg-4 { + padding-right: 1.5rem !important; + } + .ps-lg-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !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: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-left: 0 !important; + } + .me-xl-1 { + margin-left: 0.25rem !important; + } + .me-xl-2 { + margin-left: 0.5rem !important; + } + .me-xl-3 { + margin-left: 1rem !important; + } + .me-xl-4 { + margin-left: 1.5rem !important; + } + .me-xl-5 { + margin-left: 3rem !important; + } + .me-xl-auto { + margin-left: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-right: 0 !important; + } + .ms-xl-1 { + margin-right: 0.25rem !important; + } + .ms-xl-2 { + margin-right: 0.5rem !important; + } + .ms-xl-3 { + margin-right: 1rem !important; + } + .ms-xl-4 { + margin-right: 1.5rem !important; + } + .ms-xl-5 { + margin-right: 3rem !important; + } + .ms-xl-auto { + margin-right: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-left: 0 !important; + } + .pe-xl-1 { + padding-left: 0.25rem !important; + } + .pe-xl-2 { + padding-left: 0.5rem !important; + } + .pe-xl-3 { + padding-left: 1rem !important; + } + .pe-xl-4 { + padding-left: 1.5rem !important; + } + .pe-xl-5 { + padding-left: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-right: 0 !important; + } + .ps-xl-1 { + padding-right: 0.25rem !important; + } + .ps-xl-2 { + padding-right: 0.5rem !important; + } + .ps-xl-3 { + padding-right: 1rem !important; + } + .ps-xl-4 { + padding-right: 1.5rem !important; + } + .ps-xl-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xxl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xxl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xxl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xxl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xxl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xxl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-left: 0 !important; + } + .me-xxl-1 { + margin-left: 0.25rem !important; + } + .me-xxl-2 { + margin-left: 0.5rem !important; + } + .me-xxl-3 { + margin-left: 1rem !important; + } + .me-xxl-4 { + margin-left: 1.5rem !important; + } + .me-xxl-5 { + margin-left: 3rem !important; + } + .me-xxl-auto { + margin-left: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-right: 0 !important; + } + .ms-xxl-1 { + margin-right: 0.25rem !important; + } + .ms-xxl-2 { + margin-right: 0.5rem !important; + } + .ms-xxl-3 { + margin-right: 1rem !important; + } + .ms-xxl-4 { + margin-right: 1.5rem !important; + } + .ms-xxl-5 { + margin-right: 3rem !important; + } + .ms-xxl-auto { + margin-right: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xxl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xxl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xxl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xxl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xxl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-left: 0 !important; + } + .pe-xxl-1 { + padding-left: 0.25rem !important; + } + .pe-xxl-2 { + padding-left: 0.5rem !important; + } + .pe-xxl-3 { + padding-left: 1rem !important; + } + .pe-xxl-4 { + padding-left: 1.5rem !important; + } + .pe-xxl-5 { + padding-left: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-right: 0 !important; + } + .ps-xxl-1 { + padding-right: 0.25rem !important; + } + .ps-xxl-2 { + padding-right: 0.5rem !important; + } + .ps-xxl-3 { + padding-right: 1rem !important; + } + .ps-xxl-4 { + padding-right: 1.5rem !important; + } + .ps-xxl-5 { + padding-right: 3rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !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: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap-grid.rtl.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css.map new file mode 100644 index 000000000..a3c40bb1e --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,0BAAA;ALsjDZ;;AK7jDQ;EAOI,gCAAA;AL0jDZ;;AKjkDQ;EAOI,+BAAA;AL8jDZ;;AKrkDQ;EAOI,6BAAA;ALkkDZ;;AKzkDQ;EAOI,+BAAA;ALskDZ;;AK7kDQ;EAOI,6BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,2BAAA;ALsmDZ;;AK7mDQ;EAOI,iCAAA;AL0mDZ;;AKjnDQ;EAOI,gCAAA;AL8mDZ;;AKrnDQ;EAOI,8BAAA;ALknDZ;;AKznDQ;EAOI,gCAAA;ALsnDZ;;AK7nDQ;EAOI,8BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,yBAAA;IAAA,0BAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,2BAAA;ELw9FV;EK/9FM;IAOI,iCAAA;EL29FV;EKl+FM;IAOI,gCAAA;EL89FV;EKr+FM;IAOI,8BAAA;ELi+FV;EKx+FM;IAOI,gCAAA;ELo+FV;EK3+FM;IAOI,8BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/lGM;IAOI,uCAAA;EL2lGV;EKlmGM;IAOI,sCAAA;EL8lGV;EKrmGM;IAOI,iCAAA;ELimGV;EKxmGM;IAOI,2BAAA;ELomGV;EK3mGM;IAOI,iCAAA;ELumGV;EK9mGM;IAOI,+BAAA;EL0mGV;EKjnGM;IAOI,6BAAA;EL6mGV;EKpnGM;IAOI,+BAAA;ELgnGV;EKvnGM;IAOI,8BAAA;ELmnGV;EK1nGM;IAOI,oBAAA;ELsnGV;EK7nGM;IAOI,mBAAA;ELynGV;EKhoGM;IAOI,mBAAA;EL4nGV;EKnoGM;IAOI,mBAAA;EL+nGV;EKtoGM;IAOI,mBAAA;ELkoGV;EKzoGM;IAOI,mBAAA;ELqoGV;EK5oGM;IAOI,mBAAA;ELwoGV;EK/oGM;IAOI,mBAAA;EL2oGV;EKlpGM;IAOI,oBAAA;EL8oGV;EKrpGM;IAOI,0BAAA;ELipGV;EKxpGM;IAOI,yBAAA;ELopGV;EK3pGM;IAOI,uBAAA;ELupGV;EK9pGM;IAOI,yBAAA;EL0pGV;EKjqGM;IAOI,uBAAA;EL6pGV;EKpqGM;IAOI,uBAAA;ELgqGV;EKvqGM;IAOI,yBAAA;IAAA,0BAAA;ELoqGV;EK3qGM;IAOI,+BAAA;IAAA,gCAAA;ELwqGV;EK/qGM;IAOI,8BAAA;IAAA,+BAAA;EL4qGV;EKnrGM;IAOI,4BAAA;IAAA,6BAAA;ELgrGV;EKvrGM;IAOI,8BAAA;IAAA,+BAAA;ELorGV;EK3rGM;IAOI,4BAAA;IAAA,6BAAA;ELwrGV;EK/rGM;IAOI,4BAAA;IAAA,6BAAA;EL4rGV;EKnsGM;IAOI,wBAAA;IAAA,2BAAA;ELgsGV;EKvsGM;IAOI,8BAAA;IAAA,iCAAA;ELosGV;EK3sGM;IAOI,6BAAA;IAAA,gCAAA;ELwsGV;EK/sGM;IAOI,2BAAA;IAAA,8BAAA;EL4sGV;EKntGM;IAOI,6BAAA;IAAA,gCAAA;ELgtGV;EKvtGM;IAOI,2BAAA;IAAA,8BAAA;ELotGV;EK3tGM;IAOI,2BAAA;IAAA,8BAAA;ELwtGV;EK/tGM;IAOI,wBAAA;EL2tGV;EKluGM;IAOI,8BAAA;EL8tGV;EKruGM;IAOI,6BAAA;ELiuGV;EKxuGM;IAOI,2BAAA;ELouGV;EK3uGM;IAOI,6BAAA;ELuuGV;EK9uGM;IAOI,2BAAA;EL0uGV;EKjvGM;IAOI,2BAAA;EL6uGV;EKpvGM;IAOI,yBAAA;ELgvGV;EKvvGM;IAOI,+BAAA;ELmvGV;EK1vGM;IAOI,8BAAA;ELsvGV;EK7vGM;IAOI,4BAAA;ELyvGV;EKhwGM;IAOI,8BAAA;EL4vGV;EKnwGM;IAOI,4BAAA;EL+vGV;EKtwGM;IAOI,4BAAA;ELkwGV;EKzwGM;IAOI,2BAAA;ELqwGV;EK5wGM;IAOI,iCAAA;ELwwGV;EK/wGM;IAOI,gCAAA;EL2wGV;EKlxGM;IAOI,8BAAA;EL8wGV;EKrxGM;IAOI,gCAAA;ELixGV;EKxxGM;IAOI,8BAAA;ELoxGV;EK3xGM;IAOI,8BAAA;ELuxGV;EK9xGM;IAOI,0BAAA;EL0xGV;EKjyGM;IAOI,gCAAA;EL6xGV;EKpyGM;IAOI,+BAAA;ELgyGV;EKvyGM;IAOI,6BAAA;ELmyGV;EK1yGM;IAOI,+BAAA;ELsyGV;EK7yGM;IAOI,6BAAA;ELyyGV;EKhzGM;IAOI,6BAAA;EL4yGV;EKnzGM;IAOI,qBAAA;EL+yGV;EKtzGM;IAOI,2BAAA;ELkzGV;EKzzGM;IAOI,0BAAA;ELqzGV;EK5zGM;IAOI,wBAAA;ELwzGV;EK/zGM;IAOI,0BAAA;EL2zGV;EKl0GM;IAOI,wBAAA;EL8zGV;EKr0GM;IAOI,0BAAA;IAAA,2BAAA;ELk0GV;EKz0GM;IAOI,gCAAA;IAAA,iCAAA;ELs0GV;EK70GM;IAOI,+BAAA;IAAA,gCAAA;EL00GV;EKj1GM;IAOI,6BAAA;IAAA,8BAAA;EL80GV;EKr1GM;IAOI,+BAAA;IAAA,gCAAA;ELk1GV;EKz1GM;IAOI,6BAAA;IAAA,8BAAA;ELs1GV;EK71GM;IAOI,yBAAA;IAAA,4BAAA;EL01GV;EKj2GM;IAOI,+BAAA;IAAA,kCAAA;EL81GV;EKr2GM;IAOI,8BAAA;IAAA,iCAAA;ELk2GV;EKz2GM;IAOI,4BAAA;IAAA,+BAAA;ELs2GV;EK72GM;IAOI,8BAAA;IAAA,iCAAA;EL02GV;EKj3GM;IAOI,4BAAA;IAAA,+BAAA;EL82GV;EKr3GM;IAOI,yBAAA;ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,0BAAA;ELm4GV;EK14GM;IAOI,gCAAA;ELs4GV;EK74GM;IAOI,+BAAA;ELy4GV;EKh5GM;IAOI,6BAAA;EL44GV;EKn5GM;IAOI,+BAAA;EL+4GV;EKt5GM;IAOI,6BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,2BAAA;ELu6GV;EK96GM;IAOI,iCAAA;EL06GV;EKj7GM;IAOI,gCAAA;EL66GV;EKp7GM;IAOI,8BAAA;ELg7GV;EKv7GM;IAOI,gCAAA;ELm7GV;EK17GM;IAOI,8BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.rtl.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}body-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css new file mode 100644 index 000000000..07ebd269f --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:3rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:3rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!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:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:3rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:3rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!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:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:3rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:3rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!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:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:3rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:3rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!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:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:3rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:3rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:3rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:3rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!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:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-grid.rtl.min.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css.map new file mode 100644 index 000000000..a0b721a01 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-grid.rtl.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.rtl.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-left: auto;\n margin-right: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-right: 8.33333333%;\n}\n\n.offset-2 {\n margin-right: 16.66666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.33333333%;\n}\n\n.offset-5 {\n margin-right: 41.66666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.33333333%;\n}\n\n.offset-8 {\n margin-right: 66.66666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.33333333%;\n}\n\n.offset-11 {\n margin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-right: 0;\n }\n .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n .offset-sm-3 {\n margin-right: 25%;\n }\n .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n .offset-sm-6 {\n margin-right: 50%;\n }\n .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n .offset-sm-9 {\n margin-right: 75%;\n }\n .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-right: 0;\n }\n .offset-md-1 {\n margin-right: 8.33333333%;\n }\n .offset-md-2 {\n margin-right: 16.66666667%;\n }\n .offset-md-3 {\n margin-right: 25%;\n }\n .offset-md-4 {\n margin-right: 33.33333333%;\n }\n .offset-md-5 {\n margin-right: 41.66666667%;\n }\n .offset-md-6 {\n margin-right: 50%;\n }\n .offset-md-7 {\n margin-right: 58.33333333%;\n }\n .offset-md-8 {\n margin-right: 66.66666667%;\n }\n .offset-md-9 {\n margin-right: 75%;\n }\n .offset-md-10 {\n margin-right: 83.33333333%;\n }\n .offset-md-11 {\n margin-right: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-right: 0;\n }\n .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n .offset-lg-3 {\n margin-right: 25%;\n }\n .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n .offset-lg-6 {\n margin-right: 50%;\n }\n .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n .offset-lg-9 {\n margin-right: 75%;\n }\n .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-right: 0;\n }\n .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xl-3 {\n margin-right: 25%;\n }\n .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xl-6 {\n margin-right: 50%;\n }\n .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xl-9 {\n margin-right: 75%;\n }\n .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-right: 0;\n }\n .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-right: 25%;\n }\n .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-right: 50%;\n }\n .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-right: 75%;\n }\n .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-left: 0 !important;\n}\n\n.me-1 {\n margin-left: 0.25rem !important;\n}\n\n.me-2 {\n margin-left: 0.5rem !important;\n}\n\n.me-3 {\n margin-left: 1rem !important;\n}\n\n.me-4 {\n margin-left: 1.5rem !important;\n}\n\n.me-5 {\n margin-left: 3rem !important;\n}\n\n.me-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-right: 0 !important;\n}\n\n.ms-1 {\n margin-right: 0.25rem !important;\n}\n\n.ms-2 {\n margin-right: 0.5rem !important;\n}\n\n.ms-3 {\n margin-right: 1rem !important;\n}\n\n.ms-4 {\n margin-right: 1.5rem !important;\n}\n\n.ms-5 {\n margin-right: 3rem !important;\n}\n\n.ms-auto {\n margin-right: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-left: 0 !important;\n}\n\n.pe-1 {\n padding-left: 0.25rem !important;\n}\n\n.pe-2 {\n padding-left: 0.5rem !important;\n}\n\n.pe-3 {\n padding-left: 1rem !important;\n}\n\n.pe-4 {\n padding-left: 1.5rem !important;\n}\n\n.pe-5 {\n padding-left: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-right: 0 !important;\n}\n\n.ps-1 {\n padding-right: 0.25rem !important;\n}\n\n.ps-2 {\n padding-right: 0.5rem !important;\n}\n\n.ps-3 {\n padding-right: 1rem !important;\n}\n\n.ps-4 {\n padding-right: 1.5rem !important;\n}\n\n.ps-5 {\n padding-right: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-sm-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-left: 0 !important;\n }\n .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n .me-sm-3 {\n margin-left: 1rem !important;\n }\n .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n .me-sm-5 {\n margin-left: 3rem !important;\n }\n .me-sm-auto {\n margin-left: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-right: 0 !important;\n }\n .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-right: 1rem !important;\n }\n .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-right: 3rem !important;\n }\n .ms-sm-auto {\n margin-right: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-left: 0 !important;\n }\n .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-left: 1rem !important;\n }\n .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-left: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-right: 0 !important;\n }\n .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-right: 1rem !important;\n }\n .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-md-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-left: 0 !important;\n }\n .me-md-1 {\n margin-left: 0.25rem !important;\n }\n .me-md-2 {\n margin-left: 0.5rem !important;\n }\n .me-md-3 {\n margin-left: 1rem !important;\n }\n .me-md-4 {\n margin-left: 1.5rem !important;\n }\n .me-md-5 {\n margin-left: 3rem !important;\n }\n .me-md-auto {\n margin-left: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-right: 0 !important;\n }\n .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n .ms-md-3 {\n margin-right: 1rem !important;\n }\n .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n .ms-md-5 {\n margin-right: 3rem !important;\n }\n .ms-md-auto {\n margin-right: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-left: 0 !important;\n }\n .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n .pe-md-3 {\n padding-left: 1rem !important;\n }\n .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n .pe-md-5 {\n padding-left: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-right: 0 !important;\n }\n .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n .ps-md-3 {\n padding-right: 1rem !important;\n }\n .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n .ps-md-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-lg-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-left: 0 !important;\n }\n .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n .me-lg-3 {\n margin-left: 1rem !important;\n }\n .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n .me-lg-5 {\n margin-left: 3rem !important;\n }\n .me-lg-auto {\n margin-left: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-right: 0 !important;\n }\n .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-right: 1rem !important;\n }\n .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-right: 3rem !important;\n }\n .ms-lg-auto {\n margin-right: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-left: 0 !important;\n }\n .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-left: 1rem !important;\n }\n .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-left: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-right: 0 !important;\n }\n .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-right: 1rem !important;\n }\n .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-left: 0 !important;\n }\n .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xl-3 {\n margin-left: 1rem !important;\n }\n .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xl-5 {\n margin-left: 3rem !important;\n }\n .me-xl-auto {\n margin-left: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-right: 0 !important;\n }\n .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-right: 1rem !important;\n }\n .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-right: 3rem !important;\n }\n .ms-xl-auto {\n margin-right: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-left: 0 !important;\n }\n .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-left: 1rem !important;\n }\n .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-left: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-right: 0 !important;\n }\n .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-right: 1rem !important;\n }\n .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xxl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xxl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-left: 0 !important;\n }\n .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-left: 1rem !important;\n }\n .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-left: 3rem !important;\n }\n .me-xxl-auto {\n margin-left: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-right: 0 !important;\n }\n .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n .ms-xxl-auto {\n margin-right: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xxl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-left: 0 !important;\n }\n .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-right: 0 !important;\n }\n .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.rtl.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css new file mode 100644 index 000000000..f3f1d0516 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css @@ -0,0 +1,593 @@ +/*! + * Bootstrap Reboot v5.3.0 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #adb5bd; + --bs-body-color-rgb: 173, 181, 189; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(173, 181, 189, 0.75); + --bs-secondary-color-rgb: 173, 181, 189; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(173, 181, 189, 0.5); + --bs-tertiary-color-rgb: 173, 181, 189; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, h5, h4, h3, h2, h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1 { + font-size: 2.5rem; + } +} + +h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2 { + font-size: 2rem; + } +} + +h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3 { + font-size: 1.75rem; + } +} + +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4 { + font-size: 1.5rem; + } +} + +h5 { + font-size: 1.25rem; +} + +h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 0.875em; +} + +mark { + padding: 0.1875em; + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css.map b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css.map new file mode 100644 index 000000000..cce4e6ce5 --- /dev/null +++ b/src/SharedUI/wwwroot/lib/bootstrap/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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E1IA;EHwLQ,iCAAA;AC1CR;ADlHI;EG5BJ;IH+LQ,iBAAA;EC7CN;AACF;;AE9IA;EH+KM,kBALI;ACxBV;;AE7IA;EH0KM,eALI;ACpBV;;AEtIA;EACE,aAAA;EACA,mBCwV0B;AH/M5B;;AE/HA;EACE,yCAAA;EAAA,iCAAA;EACA,YAAA;EACA,sCAAA;EAAA,8BAAA;AFkIF;;AE5HA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;AF+HF;;AEzHA;;EAEE,kBAAA;AF4HF;;AEzHA;;;EAGE,aAAA;EACA,mBAAA;AF4HF;;AEzHA;;;;EAIE,gBAAA;AF4HF;;AEzHA;EACE,gBC6b4B;AHjU9B;;AEvHA;EACE,qBAAA;EACA,cAAA;AF0HF;;AEpHA;EACE,gBAAA;AFuHF;;AE/GA;;EAEE,mBCsa4B;AHpT9B;;AE1GA;EH6EM,kBALI;ACsCV;;AEvGA;EACE,iBCif4B;EDhf5B,wCAAA;AF0GF;;AEjGA;;EAEE,kBAAA;EHyDI,iBALI;EGlDR,cAAA;EACA,wBAAA;AFoGF;;AEjGA;EAAM,eAAA;AFqGN;;AEpGA;EAAM,WAAA;AFwGN;;AEnGA;EACE,gEAAA;EACA,0BCiNwC;AH3G1C;AEpGE;EACE,mDAAA;AFsGJ;;AE3FE;EAEE,cAAA;EACA,qBAAA;AF6FJ;;AEtFA;;;;EAIE,qCCiV4B;EJlUxB,cALI;ACgFV;;AElFA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EHGI,kBALI;ACwFV;AEjFE;EHFI,kBALI;EGSN,cAAA;EACA,kBAAA;AFmFJ;;AE/EA;EHTM,kBALI;EGgBR,2BAAA;EACA,qBAAA;AFkFF;AE/EE;EACE,cAAA;AFiFJ;;AE7EA;EACE,2BAAA;EHrBI,kBALI;EG4BR,wBCo5CkC;EDn5ClC,sCCo5CkC;ECxrDhC,sBAAA;AJqXJ;AE9EE;EACE,UAAA;EH5BE,cALI;ACkHV;;AEtEA;EACE,gBAAA;AFyEF;;AEnEA;;EAEE,sBAAA;AFsEF;;AE9DA;EACE,oBAAA;EACA,yBAAA;AFiEF;;AE9DA;EACE,mBCwX4B;EDvX5B,sBCuX4B;EDtX5B,gCCwZ4B;EDvZ5B,gBAAA;AFiEF;;AE1DA;EAEE,mBAAA;EACA,gCAAA;AF4DF;;AEzDA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;AF4DF;;AEpDA;EACE,qBAAA;AFuDF;;AEjDA;EAEE,gBAAA;AFmDF;;AE3CA;EACE,UAAA;AF8CF;;AEzCA;;;;;EAKE,SAAA;EACA,oBAAA;EH3HI,kBALI;EGkIR,oBAAA;AF4CF;;AExCA;;EAEE,oBAAA;AF2CF;;AEtCA;EACE,eAAA;AFyCF;;AEtCA;EAGE,iBAAA;AFuCF;AEpCE;EACE,UAAA;AFsCJ;;AE/BA;EACE,wBAAA;AFkCF;;AE1BA;;;;EAIE,0BAAA;AF6BF;AE1BI;;;;EACE,eAAA;AF+BN;;AExBA;EACE,UAAA;EACA,kBAAA;AF2BF;;AEtBA;EACE,gBAAA;AFyBF;;AEfA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;AFkBF;;AEVA;EACE,WAAA;EACA,WAAA;EACA,UAAA;EACA,qBCgN4B;EJhatB,iCAAA;EGmNN,oBAAA;AFYF;AD3XI;EGwWJ;IHrMQ,iBAAA;EC4NN;AACF;AEfE;EACE,WAAA;AFiBJ;;AEVA;;;;;;;EAOE,UAAA;AFaF;;AEVA;EACE,YAAA;AFaF;;AEJA;EACE,oBAAA;EACA,6BAAA;AFOF;;AECA;;;;;;;CAAA;AAWA;EACE,wBAAA;AFDF;;AEMA;EACE,UAAA;AFHF;;AEUA;EACE,aAAA;EACA,0BAAA;AFPF;;AEKA;EACE,aAAA;EACA,0BAAA;AFPF;;AEYA;EACE,qBAAA;AFTF;;AEcA;EACE,SAAA;AFXF;;AEkBA;EACE,kBAAA;EACA,eAAA;AFfF;;AEuBA;EACE,wBAAA;AFpBF;;AE4BA;EACE,wBAAA;AFzBF","file":"bootstrap-reboot.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n",":root,\n[data-bs-theme=\"light\"] {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{inspect($font-family-base)};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query () {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query () {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n } @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + \" \" + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n } @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + \" \" + $value;\n } @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule () {\n #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap Reboot v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme=light] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-primary-text-emphasis: #052c65;\n --bs-secondary-text-emphasis: #2b2f32;\n --bs-success-text-emphasis: #0a3622;\n --bs-info-text-emphasis: #055160;\n --bs-warning-text-emphasis: #664d03;\n --bs-danger-text-emphasis: #58151c;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #cfe2ff;\n --bs-secondary-bg-subtle: #e2e3e5;\n --bs-success-bg-subtle: #d1e7dd;\n --bs-info-bg-subtle: #cff4fc;\n --bs-warning-bg-subtle: #fff3cd;\n --bs-danger-bg-subtle: #f8d7da;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #9ec5fe;\n --bs-secondary-border-subtle: #c4c8cb;\n --bs-success-border-subtle: #a3cfbb;\n --bs-info-border-subtle: #9eeaf9;\n --bs-warning-border-subtle: #ffe69c;\n --bs-danger-border-subtle: #f1aeb5;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-heading-color: inherit;\n --bs-link-color: #0d6efd;\n --bs-link-color-rgb: 13, 110, 253;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #0a58ca;\n --bs-link-hover-color-rgb: 10, 88, 202;\n --bs-code-color: #d63384;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0.375rem;\n --bs-border-radius-sm: 0.25rem;\n --bs-border-radius-lg: 0.5rem;\n --bs-border-radius-xl: 1rem;\n --bs-border-radius-xxl: 2rem;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50rem;\n --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25rem;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n --bs-form-valid-color: #198754;\n --bs-form-valid-border-color: #198754;\n --bs-form-invalid-color: #dc3545;\n --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n --bs-body-color: #adb5bd;\n --bs-body-color-rgb: 173, 181, 189;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(173, 181, 189, 0.75);\n --bs-secondary-color-rgb: 173, 181, 189;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(173, 181, 189, 0.5);\n --bs-tertiary-color-rgb: 173, 181, 189;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #6ea8fe;\n --bs-secondary-text-emphasis: #a7acb1;\n --bs-success-text-emphasis: #75b798;\n --bs-info-text-emphasis: #6edff6;\n --bs-warning-text-emphasis: #ffda6a;\n --bs-danger-text-emphasis: #ea868f;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #031633;\n --bs-secondary-bg-subtle: #161719;\n --bs-success-bg-subtle: #051b11;\n --bs-info-bg-subtle: #032830;\n --bs-warning-bg-subtle: #332701;\n --bs-danger-bg-subtle: #2c0b0e;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #084298;\n --bs-secondary-border-subtle: #41464b;\n --bs-success-border-subtle: #0f5132;\n --bs-info-border-subtle: #087990;\n --bs-warning-border-subtle: #997404;\n --bs-danger-border-subtle: #842029;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-heading-color: inherit;\n --bs-link-color: #6ea8fe;\n --bs-link-hover-color: #8bb9fe;\n --bs-link-color-rgb: 110, 168, 254;\n --bs-link-hover-color-rgb: 139, 185, 254;\n --bs-code-color: #e685b5;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color);\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.1875em;\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n [data-bs-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`