From 5ac5743866a7dbd596cf74ae2d9d9948e8c67627 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 19 Oct 2023 15:57:51 +0800 Subject: [PATCH 01/93] Add `Volo.Abp.Imaging.SkiaSharp` package. Resolve #17909 --- Directory.Packages.props | 1 + framework/Volo.Abp.sln | 14 +++ .../FodyWeavers.xml | 3 + .../FodyWeavers.xsd | 30 ++++++ .../Volo.Abp.Imaging.SkiaSharp.csproj | 26 +++++ .../Abp/Imaging/AbpImagingSkiaSharpModule.cs | 8 ++ .../SkiaSharpImageResizerContributor.cs | 98 +++++++++++++++++++ .../Abp/Imaging/SkiaSharpResizerOptions.cs | 16 +++ .../Volo.Abp.Imaging.SkiaSharp.Tests.csproj | 19 ++++ .../Imaging/AbpImagingMagickNetTestModule.cs | 14 +++ .../Imaging/AbpImagingSkiaSharpTestModule.cs | 11 +++ .../Abp/Imaging/SkiaSharpImageResizerTests.cs | 75 ++++++++++++++ nupkg/common.ps1 | 1 + 13 files changed, 316 insertions(+) create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xml create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xsd create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/AbpImagingSkiaSharpModule.cs create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs create mode 100644 framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo.Abp.Imaging.SkiaSharp.Tests.csproj create mode 100644 framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingMagickNetTestModule.cs create mode 100644 framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingSkiaSharpTestModule.cs create mode 100644 framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index ae21b20429..e22ec5b093 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -140,6 +140,7 @@ + diff --git a/framework/Volo.Abp.sln b/framework/Volo.Abp.sln index cd003b7f07..42339a60ac 100644 --- a/framework/Volo.Abp.sln +++ b/framework/Volo.Abp.sln @@ -459,6 +459,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Imaging.AspNetCore EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Maui.Client", "src\Volo.Abp.Maui.Client\Volo.Abp.Maui.Client.csproj", "{F19A6E0C-F719-4ED9-A024-14E4B8D40883}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Imaging.SkiaSharp", "src\Volo.Abp.Imaging.SkiaSharp\Volo.Abp.Imaging.SkiaSharp.csproj", "{198683D0-7DC6-40F2-B81B-8E446E70A9DE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Imaging.SkiaSharp.Tests", "test\Volo.Abp.Imaging.SkiaSharp.Tests\Volo.Abp.Imaging.SkiaSharp.Tests.csproj", "{DFAF8763-D1D6-4EB4-B459-20E31007FE2F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1369,6 +1373,14 @@ Global {F19A6E0C-F719-4ED9-A024-14E4B8D40883}.Debug|Any CPU.Build.0 = Debug|Any CPU {F19A6E0C-F719-4ED9-A024-14E4B8D40883}.Release|Any CPU.ActiveCfg = Release|Any CPU {F19A6E0C-F719-4ED9-A024-14E4B8D40883}.Release|Any CPU.Build.0 = Release|Any CPU + {198683D0-7DC6-40F2-B81B-8E446E70A9DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {198683D0-7DC6-40F2-B81B-8E446E70A9DE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {198683D0-7DC6-40F2-B81B-8E446E70A9DE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {198683D0-7DC6-40F2-B81B-8E446E70A9DE}.Release|Any CPU.Build.0 = Release|Any CPU + {DFAF8763-D1D6-4EB4-B459-20E31007FE2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DFAF8763-D1D6-4EB4-B459-20E31007FE2F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DFAF8763-D1D6-4EB4-B459-20E31007FE2F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DFAF8763-D1D6-4EB4-B459-20E31007FE2F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1600,6 +1612,8 @@ Global {62B2B8C9-8F24-4D31-894F-C1F0728D32AB} = {447C8A77-E5F0-4538-8687-7383196D04EA} {983B0136-384B-4439-B374-31111FFAA286} = {447C8A77-E5F0-4538-8687-7383196D04EA} {F19A6E0C-F719-4ED9-A024-14E4B8D40883} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} + {198683D0-7DC6-40F2-B81B-8E446E70A9DE} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} + {DFAF8763-D1D6-4EB4-B459-20E31007FE2F} = {447C8A77-E5F0-4538-8687-7383196D04EA} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xml b/framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xml new file mode 100644 index 0000000000..1715698ccd --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xsd b/framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xsd new file mode 100644 index 0000000000..3f3946e282 --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/FodyWeavers.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj new file mode 100644 index 0000000000..1ebb168c84 --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj @@ -0,0 +1,26 @@ + + + + + + + netstandard2.0;netstandard2.1;net8.0 + enable + Nullable + Volo.Abp.Imaging.SkiaSharp + $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + false + false + false + + + + + + + + + + + + diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/AbpImagingSkiaSharpModule.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/AbpImagingSkiaSharpModule.cs new file mode 100644 index 0000000000..79fc4314aa --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/AbpImagingSkiaSharpModule.cs @@ -0,0 +1,8 @@ +using Volo.Abp.Modularity; + +namespace Volo.Abp.Imaging; + +[DependsOn(typeof(AbpImagingAbstractionsModule))] +public class AbpImagingSkiaSharpModule : AbpModule +{ +} diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs new file mode 100644 index 0000000000..760acd0916 --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs @@ -0,0 +1,98 @@ +using System; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Options; +using SkiaSharp; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http; + +namespace Volo.Abp.Imaging; + +public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITransientDependency +{ + protected SkiaSharpResizerOptions Options { get; } + + public SkiaSharpImageResizerContributor(IOptions options) + { + Options = options.Value; + } + + public virtual async Task> TryResizeAsync(byte[] bytes, ImageResizeArgs resizeArgs, string? mimeType = null, CancellationToken cancellationToken = default) + { + if (!mimeType.IsNullOrWhiteSpace() && !CanResize(mimeType)) + { + return new ImageResizeResult(bytes, ImageProcessState.Unsupported); + } + + using (var memoryStream = new MemoryStream(bytes)) + { + var result = await TryResizeAsync(memoryStream, resizeArgs, mimeType, cancellationToken); + + if (result.State != ImageProcessState.Done) + { + return new ImageResizeResult(bytes, result.State); + } + + var newBytes = await result.Result.GetAllBytesAsync(cancellationToken); + + result.Result.Dispose(); + + return new ImageResizeResult(newBytes, result.State); + } + } + + public virtual async Task> TryResizeAsync(Stream stream, ImageResizeArgs resizeArgs, string? mimeType = null, CancellationToken cancellationToken = default) + { + if (!mimeType.IsNullOrWhiteSpace() && !CanResize(mimeType)) + { + return new ImageResizeResult(stream, ImageProcessState.Unsupported); + } + + var (memoryBitmapStream, memorySkCodecStream) = await CreateMemoryStream(stream); + + using (var original = SKBitmap.Decode(memoryBitmapStream)) + { + using (var resized = original.Resize(new SKImageInfo(resizeArgs.Width, resizeArgs.Height), Options.SKFilterQuality)) + { + using (var image = SKImage.FromBitmap(resized)) + { + using (var codec = SKCodec.Create(memorySkCodecStream)) + { + var memoryStream = new MemoryStream(); + image.Encode(codec.EncodedFormat, Options.Quality).SaveTo(memoryStream); + return new ImageResizeResult(memoryStream, ImageProcessState.Done); + } + } + } + } + } + + protected virtual async Task<(MemoryStream, MemoryStream)> CreateMemoryStream(Stream stream) + { + var streamPosition = stream.Position; + + var memoryBitmapStream = new MemoryStream(); + var memorySkCodecStream = new MemoryStream(); + + await stream.CopyToAsync(memoryBitmapStream); + stream.Position = streamPosition; + await stream.CopyToAsync(memorySkCodecStream); + stream.Position = streamPosition; + + memoryBitmapStream.Position = 0; + memorySkCodecStream.Position = 0; + + return (memoryBitmapStream, memorySkCodecStream); + } + + protected virtual bool CanResize(string? mimeType) + { + return mimeType switch { + MimeTypes.Image.Jpeg => true, + MimeTypes.Image.Png => true, + MimeTypes.Image.Webp => true, + _ => false + }; + } +} diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs new file mode 100644 index 0000000000..6bc220feb1 --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpResizerOptions.cs @@ -0,0 +1,16 @@ +using SkiaSharp; + +namespace Volo.Abp.Imaging; + +public class SkiaSharpResizerOptions +{ + public SKFilterQuality SKFilterQuality { get; set; } + + public int Quality { get; set; } + + public SkiaSharpResizerOptions() + { + SKFilterQuality = SKFilterQuality.None; + Quality = 75; + } +} diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo.Abp.Imaging.SkiaSharp.Tests.csproj b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo.Abp.Imaging.SkiaSharp.Tests.csproj new file mode 100644 index 0000000000..3272fc325a --- /dev/null +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo.Abp.Imaging.SkiaSharp.Tests.csproj @@ -0,0 +1,19 @@ + + + + + + net8.0 + + + + + + + + + + + + + diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingMagickNetTestModule.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingMagickNetTestModule.cs new file mode 100644 index 0000000000..7fce00d3ac --- /dev/null +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingMagickNetTestModule.cs @@ -0,0 +1,14 @@ +using Volo.Abp.Autofac; +using Volo.Abp.Modularity; + +namespace Volo.Abp.Imaging; + +[DependsOn( + typeof(AbpAutofacModule), + typeof(AbpImagingSkiaSharpModule), + typeof(AbpTestBaseModule) +)] +public class AbpImagingSkiaSharpTestModule : AbpModule +{ + +} diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingSkiaSharpTestModule.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingSkiaSharpTestModule.cs new file mode 100644 index 0000000000..953e8c4b3a --- /dev/null +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/AbpImagingSkiaSharpTestModule.cs @@ -0,0 +1,11 @@ +using Volo.Abp.Testing; + +namespace Volo.Abp.Imaging; + +public abstract class AbpImagingSkiaSharpTestBase : AbpIntegratedTest +{ + protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) + { + options.UseAutofac(); + } +} diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs new file mode 100644 index 0000000000..460c83bf5b --- /dev/null +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs @@ -0,0 +1,75 @@ +using System.IO; +using System.Threading.Tasks; +using Shouldly; +using Xunit; + +namespace Volo.Abp.Imaging; + +public class SkiaSharpImageResizerTests : AbpImagingSkiaSharpTestBase +{ + public IImageResizer ImageResizer { get; } + + public SkiaSharpImageResizerTests() + { + ImageResizer = GetRequiredService(); + } + + [Fact] + public async Task Should_Resize_Jpg() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(jpegImage, new ImageResizeArgs(100, 100)); + + resizedImage.ShouldNotBeNull(); + resizedImage.State.ShouldBe(ImageProcessState.Done); + resizedImage.Result.Length.ShouldBeLessThan(jpegImage.Length); + + resizedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Resize_Png() + { + await using var pngImage = ImageFileHelper.GetPngTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(pngImage, new ImageResizeArgs(100, 100)); + + resizedImage.ShouldNotBeNull(); + resizedImage.State.ShouldBe(ImageProcessState.Done); + resizedImage.Result.Length.ShouldBeLessThan(pngImage.Length); + + resizedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Resize_Webp() + { + await using var webpImage = ImageFileHelper.GetWebpTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(webpImage, new ImageResizeArgs(100, 100)); + + resizedImage.ShouldNotBeNull(); + resizedImage.State.ShouldBe(ImageProcessState.Done); + resizedImage.Result.Length.ShouldBeLessThan(webpImage.Length); + + resizedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Resize_Stream_And_Byte_Array_The_Same() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var resizedImage1 = await ImageResizer.ResizeAsync(jpegImage, new ImageResizeArgs(100, 100)); + var resizedImage2 = await ImageResizer.ResizeAsync(await jpegImage.GetAllBytesAsync(), new ImageResizeArgs(100, 100)); + + resizedImage1.ShouldNotBeNull(); + resizedImage1.State.ShouldBe(ImageProcessState.Done); + resizedImage1.Result.Length.ShouldBeLessThan(jpegImage.Length); + + resizedImage2.ShouldNotBeNull(); + resizedImage2.State.ShouldBe(ImageProcessState.Done); + resizedImage2.Result.LongLength.ShouldBeLessThan(jpegImage.Length); + + resizedImage1.Result.Length.ShouldBe(resizedImage2.Result.LongLength); + + resizedImage1.Result.Dispose(); + } +} diff --git a/nupkg/common.ps1 b/nupkg/common.ps1 index 96d61dc74d..78de2aef44 100644 --- a/nupkg/common.ps1 +++ b/nupkg/common.ps1 @@ -204,6 +204,7 @@ $projects = ( "framework/src/Volo.Abp.Imaging.AspNetCore", "framework/src/Volo.Abp.Imaging.ImageSharp", "framework/src/Volo.Abp.Imaging.MagickNet", + "framework/src/Volo.Abp.Imaging.SkiaSharp", "framework/src/Volo.Abp.Json", "framework/src/Volo.Abp.Json.Abstractions", "framework/src/Volo.Abp.Json.Newtonsoft", From 7f760d073badfb3c0d05e995b029c10cc14feb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 2 Nov 2023 18:17:13 +0300 Subject: [PATCH 02/93] Created draft services --- .../Claims/AbpDynamicClaimsOptions.cs | 31 ++++++++++ .../Security/Claims/DynamicClaimService.cs | 57 +++++++++++++++++++ .../Security/Claims/IDynamicClaimService.cs | 9 +++ 3 files changed, 97 insertions(+) create mode 100644 framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs create mode 100644 framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs create mode 100644 framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs new file mode 100644 index 0000000000..11345e5b0e --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using Volo.Abp.Security.Claims; + +namespace Volo.Abp.AspNetCore.Security.Claims; + +public class AbpDynamicClaimsOptions +{ + /// + /// List of the claims that will be dynamically added/overriden to the current principal. + /// Default values are: + /// - + /// - + /// - + /// - + /// - + /// - + /// + public List DynamicClaims { get; } = new(); + + public string RemoteRefreshUrl { get; set; } = "/api/account/refresh-dynamic-claims"; + + public AbpDynamicClaimsOptions() + { + DynamicClaims.Add(AbpClaimTypes.UserName); + DynamicClaims.Add(AbpClaimTypes.Role); + DynamicClaims.Add(AbpClaimTypes.Email); + DynamicClaims.Add(AbpClaimTypes.EmailVerified); + DynamicClaims.Add(AbpClaimTypes.PhoneNumber); + DynamicClaims.Add(AbpClaimTypes.PhoneNumberVerified); + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs new file mode 100644 index 0000000000..2c7df05c8e --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs @@ -0,0 +1,57 @@ +using System; +using System.Security.Claims; +using System.Threading.Tasks; +using Microsoft.Extensions.Caching.Distributed; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.AspNetCore.Security.Claims; + +/* This will be used by DynamicClaimsMiddleware to get dynamic claims + * and override the claims in the current principle. + */ +public class DynamicClaimService : IDynamicClaimService, ITransientDependency +{ + public Task GetClaimsAsync() + { + /* TODO: + * - If current user is not authenticated, return empty array. + * - Try to get from distributed cache for the current user, if available + * - If not available, call IDynamicClaimRefreshService.RefreshAsync() + * Then check from distributed cache again. If still not found, ignore it. + */ + + throw new NotImplementedException(); + } +} + +public interface IDynamicClaimRefreshService +{ + Task RefreshAsync(); +} + +[Dependency(TryRegister = true)] +public class NullDynamicClaimRefreshService : IDynamicClaimRefreshService, ISingletonDependency +{ + public Task RefreshAsync() + { + /* TODO: Set distributed cache with an empty claim list + */ + throw new NotImplementedException(); + + /* TODO: + * IDynamicClaimRefreshService will have more implementations: + * - AccountDynamicClaimRefreshService is the real implementation + * that constructs claims using UserManager. + * It will be effective in a monolith application, where the account + * module is installed in the application + * - RemoteDynamicClaimRefreshService is used in a system (like a microservice solution) + * where the account module is located remotely. In that case, we make a REST call + * to the account service. + * RemoteDynamicClaimRefreshService should be registered only if + * NullDynamicClaimRefreshService is used. I mean AccountDynamicClaimRefreshService + * (in-process implementation) should work by default if available. + * RemoteDynamicClaimRefreshService uses AbpDynamicClaimsOptions.RemoteRefreshUrl (and issuer) + */ + } +} + diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs new file mode 100644 index 0000000000..9160961bb2 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs @@ -0,0 +1,9 @@ +using System.Security.Claims; +using System.Threading.Tasks; + +namespace Volo.Abp.AspNetCore.Security.Claims; + +public interface IDynamicClaimService +{ + Task GetClaimsAsync(); +} \ No newline at end of file From 706e36a0d563641056ca12a3d31e8c5f28b57275 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 6 Nov 2023 14:40:50 +0800 Subject: [PATCH 03/93] Add `DynamicClaims` infrastructure. --- .../AbpApplicationBuilderExtensions.cs | 5 ++ .../Claims/AbpDynamicClaimsMiddleware.cs | 23 +++++++ .../Claims/AbpDynamicClaimsOptions.cs | 31 ---------- .../Security/Claims/DynamicClaimService.cs | 57 ----------------- .../Security/Claims/IDynamicClaimService.cs | 9 --- .../Principal/AbpClaimsIdentityExtensions.cs | 12 ++++ .../Volo/Abp/Security/AbpSecurityModule.cs | 25 -------- .../Claims/AbpClaimsPrincipalFactory.cs | 13 +++- .../AbpClaimsPrincipalFactoryOptions.cs | 21 ++++++- .../Claims/IAbpClaimsPrincipalFactory.cs | 2 + .../Claims/AbpClaimsPrincipalFactory_Test.cs | 61 +++++++++++++++++++ 11 files changed, 135 insertions(+), 124 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Builder/AbpApplicationBuilderExtensions.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Builder/AbpApplicationBuilderExtensions.cs index 8628c2c803..593992aed4 100644 --- a/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Builder/AbpApplicationBuilderExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Builder/AbpApplicationBuilderExtensions.cs @@ -111,4 +111,9 @@ public static class AbpApplicationBuilderExtensions { return app.UseMiddleware(); } + + public static IApplicationBuilder UseDynamicClaims(this IApplicationBuilder app) + { + return app.UseMiddleware(); + } } diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs new file mode 100644 index 0000000000..6e2a55ab39 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs @@ -0,0 +1,23 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Security.Claims; +using Volo.Abp.Users; + +namespace Volo.Abp.AspNetCore.Security.Claims; + +public class AbpDynamicClaimsMiddleware : IMiddleware, ITransientDependency +{ + public async Task InvokeAsync(HttpContext context, RequestDelegate next) + { + var currentUser = context.RequestServices.GetRequiredService(); + if (currentUser.IsAuthenticated) + { + var abpClaimsPrincipalFactory = context.RequestServices.GetRequiredService(); + await abpClaimsPrincipalFactory.CreateDynamicAsync(context.User); + } + + await next(context); + } +} diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs deleted file mode 100644 index 11345e5b0e..0000000000 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsOptions.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections.Generic; -using Volo.Abp.Security.Claims; - -namespace Volo.Abp.AspNetCore.Security.Claims; - -public class AbpDynamicClaimsOptions -{ - /// - /// List of the claims that will be dynamically added/overriden to the current principal. - /// Default values are: - /// - - /// - - /// - - /// - - /// - - /// - - /// - public List DynamicClaims { get; } = new(); - - public string RemoteRefreshUrl { get; set; } = "/api/account/refresh-dynamic-claims"; - - public AbpDynamicClaimsOptions() - { - DynamicClaims.Add(AbpClaimTypes.UserName); - DynamicClaims.Add(AbpClaimTypes.Role); - DynamicClaims.Add(AbpClaimTypes.Email); - DynamicClaims.Add(AbpClaimTypes.EmailVerified); - DynamicClaims.Add(AbpClaimTypes.PhoneNumber); - DynamicClaims.Add(AbpClaimTypes.PhoneNumberVerified); - } -} \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs deleted file mode 100644 index 2c7df05c8e..0000000000 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/DynamicClaimService.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Security.Claims; -using System.Threading.Tasks; -using Microsoft.Extensions.Caching.Distributed; -using Volo.Abp.DependencyInjection; - -namespace Volo.Abp.AspNetCore.Security.Claims; - -/* This will be used by DynamicClaimsMiddleware to get dynamic claims - * and override the claims in the current principle. - */ -public class DynamicClaimService : IDynamicClaimService, ITransientDependency -{ - public Task GetClaimsAsync() - { - /* TODO: - * - If current user is not authenticated, return empty array. - * - Try to get from distributed cache for the current user, if available - * - If not available, call IDynamicClaimRefreshService.RefreshAsync() - * Then check from distributed cache again. If still not found, ignore it. - */ - - throw new NotImplementedException(); - } -} - -public interface IDynamicClaimRefreshService -{ - Task RefreshAsync(); -} - -[Dependency(TryRegister = true)] -public class NullDynamicClaimRefreshService : IDynamicClaimRefreshService, ISingletonDependency -{ - public Task RefreshAsync() - { - /* TODO: Set distributed cache with an empty claim list - */ - throw new NotImplementedException(); - - /* TODO: - * IDynamicClaimRefreshService will have more implementations: - * - AccountDynamicClaimRefreshService is the real implementation - * that constructs claims using UserManager. - * It will be effective in a monolith application, where the account - * module is installed in the application - * - RemoteDynamicClaimRefreshService is used in a system (like a microservice solution) - * where the account module is located remotely. In that case, we make a REST call - * to the account service. - * RemoteDynamicClaimRefreshService should be registered only if - * NullDynamicClaimRefreshService is used. I mean AccountDynamicClaimRefreshService - * (in-process implementation) should work by default if available. - * RemoteDynamicClaimRefreshService uses AbpDynamicClaimsOptions.RemoteRefreshUrl (and issuer) - */ - } -} - diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs deleted file mode 100644 index 9160961bb2..0000000000 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/IDynamicClaimService.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Security.Claims; -using System.Threading.Tasks; - -namespace Volo.Abp.AspNetCore.Security.Claims; - -public interface IDynamicClaimService -{ - Task GetClaimsAsync(); -} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs b/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs index 6c12decd19..d8141a31ed 100644 --- a/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs +++ b/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs @@ -238,6 +238,18 @@ public static class AbpClaimsIdentityExtensions return claimsIdentity; } + public static ClaimsIdentity RemoveAll(this ClaimsIdentity claimsIdentity, string claimType) + { + Check.NotNull(claimsIdentity, nameof(claimsIdentity)); + + foreach (var x in claimsIdentity.FindAll(claimType).ToList()) + { + claimsIdentity.RemoveClaim(x); + } + + return claimsIdentity; + } + public static ClaimsIdentity AddOrReplace(this ClaimsIdentity claimsIdentity, Claim claim) { Check.NotNull(claimsIdentity, nameof(claimsIdentity)); diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs index 69107c6d1d..5f3bf47997 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs @@ -1,9 +1,7 @@ using System; -using System.Collections.Generic; using System.Text; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Modularity; -using Volo.Abp.Security.Claims; using Volo.Abp.Security.Encryption; using Volo.Abp.SecurityLog; @@ -11,11 +9,6 @@ namespace Volo.Abp.Security; public class AbpSecurityModule : AbpModule { - public override void PostConfigureServices(ServiceConfigurationContext context) - { - AutoAddClaimsPrincipalContributors(context.Services); - } - public override void ConfigureServices(ServiceConfigurationContext context) { var applicationName = context.Services.GetApplicationName(); @@ -58,22 +51,4 @@ public class AbpSecurityModule : AbpModule } }); } - - private static void AutoAddClaimsPrincipalContributors(IServiceCollection services) - { - var contributorTypes = new List(); - - services.OnRegistered(context => - { - if (typeof(IAbpClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType)) - { - contributorTypes.Add(context.ImplementationType); - } - }); - - services.Configure(options => - { - options.Contributors.AddIfNotContains(contributorTypes); - }); - } } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs index ae9d947fb0..a55be7a82b 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; +using Volo.Abp.Collections; using Volo.Abp.DependencyInjection; namespace Volo.Abp.Security.Claims; @@ -22,6 +23,16 @@ public class AbpClaimsPrincipalFactory : IAbpClaimsPrincipalFactory, ITransientD } public virtual async Task CreateAsync(ClaimsPrincipal? existsClaimsPrincipal = null) + { + return await InternalCreateAsync(Options.Contributors, existsClaimsPrincipal); + } + + public virtual async Task CreateDynamicAsync(ClaimsPrincipal? existsClaimsPrincipal = null) + { + return await InternalCreateAsync(Options.DynamicContributors, existsClaimsPrincipal); + } + + public virtual async Task InternalCreateAsync(ITypeList contributorTypes, ClaimsPrincipal? existsClaimsPrincipal = null) { using (var scope = ServiceScopeFactory.CreateScope()) { @@ -32,7 +43,7 @@ public class AbpClaimsPrincipalFactory : IAbpClaimsPrincipalFactory, ITransientD var context = new AbpClaimsPrincipalContributorContext(claimsPrincipal, scope.ServiceProvider); - foreach (var contributorType in Options.Contributors) + foreach (var contributorType in contributorTypes) { var contributor = (IAbpClaimsPrincipalContributor)scope.ServiceProvider.GetRequiredService(contributorType); await contributor.ContributeAsync(context); diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs index 90e411e2a1..3d96a32205 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs @@ -1,4 +1,5 @@ -using Volo.Abp.Collections; +using System.Collections.Generic; +using Volo.Abp.Collections; namespace Volo.Abp.Security.Claims; @@ -6,8 +7,26 @@ public class AbpClaimsPrincipalFactoryOptions { public ITypeList Contributors { get; } + public ITypeList DynamicContributors { get; } + + public List DynamicClaims { get; } + + public string RemoteRefreshUrl { get; set; } + public AbpClaimsPrincipalFactoryOptions() { Contributors = new TypeList(); + DynamicContributors = new TypeList(); + + DynamicClaims = new List + { + AbpClaimTypes.UserName, + AbpClaimTypes.Role, + AbpClaimTypes.Email, + AbpClaimTypes.EmailVerified, + AbpClaimTypes.PhoneNumber, + AbpClaimTypes.PhoneNumberVerified + }; + RemoteRefreshUrl = "/api/account/refresh-dynamic-claims"; } } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpClaimsPrincipalFactory.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpClaimsPrincipalFactory.cs index b4f3046c9d..75da993f4d 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpClaimsPrincipalFactory.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpClaimsPrincipalFactory.cs @@ -6,4 +6,6 @@ namespace Volo.Abp.Security.Claims; public interface IAbpClaimsPrincipalFactory { Task CreateAsync(ClaimsPrincipal? existsClaimsPrincipal = null); + + Task CreateDynamicAsync(ClaimsPrincipal? existsClaimsPrincipal = null); } diff --git a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs index b46694f9ed..b444fa3ded 100644 --- a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs +++ b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs @@ -27,9 +27,22 @@ public class AbpClaimsPrincipalFactory_Test : AbpIntegratedTest(options => + { + options.Contributors.Add(); + options.Contributors.Add(); + options.Contributors.Add(); + + options.DynamicContributors.Add(); + options.DynamicContributors.Add(); + options.DynamicContributors.Add(); + options.DynamicContributors.Add(); + }); + services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); } [Fact] @@ -56,6 +69,36 @@ public class AbpClaimsPrincipalFactory_Test : AbpIntegratedTest x.Type == ClaimTypes.Version && x.Value == "2.0"); } + [Fact] + public async Task DynamicCreateAsync() + { + var claimsPrincipal = await _abpClaimsPrincipalFactory.CreateDynamicAsync(); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Name && x.Value == "admin"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Role && x.Value == "admin"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Role && x.Value == "manager"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Email && x.Value == "admin2@abp.io"); + claimsPrincipal.Claims.ShouldNotContain(x => x.Type == ClaimTypes.Email && x.Value == "admin@abp.io"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Version && x.Value == "2.0"); + } + + [Fact] + public async Task DynamicCreate_With_Exists_ClaimsPrincipal() + { + var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(TestAuthenticationType, ClaimTypes.Name, ClaimTypes.Role)); + claimsPrincipal.Identities.First().AddClaim(new Claim(ClaimTypes.Name, "123")); + claimsPrincipal.Identities.First().AddClaim(new Claim(ClaimTypes.Role, "123")); + + await _abpClaimsPrincipalFactory.CreateDynamicAsync(claimsPrincipal); + claimsPrincipal.Claims.ShouldNotContain(x => x.Type == ClaimTypes.Name && x.Value == "123"); + claimsPrincipal.Claims.ShouldNotContain(x => x.Type == ClaimTypes.Role && x.Value == "123"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Name && x.Value == "admin"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Role && x.Value == "admin"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Role && x.Value == "manager"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Email && x.Value == "admin2@abp.io"); + claimsPrincipal.Claims.ShouldNotContain(x => x.Type == ClaimTypes.Email && x.Value == "admin@abp.io"); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Version && x.Value == "2.0"); + } + class TestAbpClaimsPrincipalContributor : IAbpClaimsPrincipalContributor { public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) @@ -100,4 +143,22 @@ public class AbpClaimsPrincipalFactory_Test : AbpIntegratedTest x.AuthenticationType == TestAuthenticationType) + ?? new ClaimsIdentity(TestAuthenticationType); + + claimsIdentity.AddOrReplace(new Claim(ClaimTypes.Name, "admin")); + claimsIdentity.RemoveAll(ClaimTypes.Role); + claimsIdentity.AddClaim(new Claim(ClaimTypes.Role, "admin")); + claimsIdentity.AddClaim(new Claim(ClaimTypes.Role, "manager")); + + context.ClaimsPrincipal.AddIdentityIfNotContains(claimsIdentity); + + return Task.CompletedTask; + } + } } From 44ef56c2d83226cae203604c152aefa617345c61 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 7 Nov 2023 09:27:08 +0800 Subject: [PATCH 04/93] Add `IdentityDynamicClaimsPrincipalContributor`. --- .../Abp/Security/Claims/AbpClaimCacheIteam.cs | 17 ++++++ .../AbpClaimsPrincipalContributorContext.cs | 8 +++ .../Abp/Identity/AbpIdentityDomainModule.cs | 5 ++ .../Identity/AbpUserClaimsPrincipalFactory.cs | 2 +- ...entityDynamicClaimsPrincipalContributor.cs | 28 +++++++++ ...yDynamicClaimsPrincipalContributorCache.cs | 60 +++++++++++++++++++ .../Abp/Identity/UserUpdatedEventHandler.cs | 30 ++++++++++ 7 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs new file mode 100644 index 0000000000..fa4850cb96 --- /dev/null +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs @@ -0,0 +1,17 @@ +using System; + +namespace Volo.Abp.Security.Claims; + +[Serializable] +public class AbpClaimCacheItem +{ + public string Type { get; set; } + + public string Value { get; set; } + + public AbpClaimCacheItem(string type, string value) + { + Type = type; + Value = value; + } +} diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs index 274f109f93..442bcf867e 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs @@ -1,6 +1,7 @@ using System; using System.Security.Claims; using JetBrains.Annotations; +using Microsoft.Extensions.DependencyInjection; namespace Volo.Abp.Security.Claims; @@ -19,4 +20,11 @@ public class AbpClaimsPrincipalContributorContext ClaimsPrincipal = claimsIdentity; ServiceProvider = serviceProvider; } + + public virtual T GetRequiredService() + where T : notnull + { + Check.NotNull(ServiceProvider, nameof(ServiceProvider)); + return ServiceProvider.GetRequiredService(); + } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs index 354e7e4586..536171837a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs @@ -62,6 +62,11 @@ public class AbpIdentityDomainModule : AbpModule }); context.Services.AddAbpDynamicOptions(); + + Configure(options => + { + options.DynamicContributors.Add(); + }); } public override void PostConfigureServices(ServiceConfigurationContext context) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory.cs index d6043a1624..8fb3260beb 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory.cs @@ -33,7 +33,7 @@ public class AbpUserClaimsPrincipalFactory : UserClaimsPrincipalFactory CreateAsync(IdentityUser user) + public async override Task CreateAsync(IdentityUser user) { var principal = await base.CreateAsync(user); var identity = principal.Identities.First(); diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs new file mode 100644 index 0000000000..4556723fe9 --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs @@ -0,0 +1,28 @@ +using System.Linq; +using System.Security.Claims; +using System.Security.Principal; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Security.Claims; + +namespace Volo.Abp.Identity; + +public class IdentityDynamicClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency +{ + public virtual async Task ContributeAsync(AbpClaimsPrincipalContributorContext context) + { + var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); + var userId = identity?.FindUserId(); + if (userId == null) + { + return; + } + + var cache = context.GetRequiredService(); + var dynamicClaims = await cache.GetAsync(userId.Value, identity.FindTenantId()); + foreach (var claim in dynamicClaims) + { + identity.AddOrReplace(new Claim(claim.Type, claim.Value)); + } + } +} diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs new file mode 100644 index 0000000000..9102be79c5 --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Claims; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Identity; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Volo.Abp.Caching; +using Volo.Abp.DependencyInjection; +using Volo.Abp.MultiTenancy; +using Volo.Abp.Security.Claims; + +namespace Volo.Abp.Identity; + +public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependency +{ + protected IServiceProvider ServiceProvider { get; } + + public IdentityDynamicClaimsPrincipalContributorCache(IServiceProvider serviceProvider) + { + this.ServiceProvider = serviceProvider; + } + + public virtual async Task> GetAsync(Guid userId, Guid? tenantId = null) + { + var logger = ServiceProvider.GetRequiredService>(); + logger.LogDebug($"Get dynamic claims cache for user: {userId}"); + + var cache = ServiceProvider.GetRequiredService>>(); + + return await cache.GetOrAddAsync($"{nameof(IdentityDynamicClaimsPrincipalContributorCache)}_{tenantId}_{userId}", async () => + { + using (ServiceProvider.GetRequiredService().Change(tenantId)) + { + logger.LogDebug($"Filling dynamic claims cache for user: {userId}"); + var userManager = ServiceProvider.GetRequiredService(); + var user = await userManager.FindByIdAsync(userId.ToString()); + if (user == null) + { + logger.LogWarning($"User not found: {userId}"); + return new List(); + } + var factory = ServiceProvider.GetRequiredService>(); + var principal = await factory.CreateAsync(user); + var options = ServiceProvider.GetRequiredService>().Value; + return principal.Identities.FirstOrDefault()?.Claims.Where(c => options.DynamicClaims.Contains(c.Type)).Select(c => new AbpClaimCacheItem(c.Type, c.Value)).ToList(); + } + }); + } + + public virtual async Task ClearAsync(Guid userId, Guid? tenantId = null) + { + var cache = ServiceProvider.GetRequiredService>>(); + var logger = ServiceProvider.GetRequiredService>(); + logger.LogDebug($"Clearing dynamic claims cache for user: {userId}"); + await cache.RemoveAsync($"{nameof(IdentityDynamicClaimsPrincipalContributorCache)}_{tenantId}_{userId}"); + } +} diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs new file mode 100644 index 0000000000..5a0838e281 --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs @@ -0,0 +1,30 @@ +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Entities.Events; +using Volo.Abp.EventBus; +using Volo.Abp.Uow; + +namespace Volo.Abp.Identity; + +public class UserEntityUpdatedEventHandler : ILocalEventHandler>, ITransientDependency +{ + public ILogger Logger { get; set; } + + private readonly IdentityDynamicClaimsPrincipalContributorCache _cache; + + public UserEntityUpdatedEventHandler(IdentityDynamicClaimsPrincipalContributorCache cache) + { + _cache = cache; + Logger = NullLogger.Instance; + } + + [UnitOfWork] + public virtual async Task HandleEventAsync(EntityUpdatedEventData eventData) + { + var userId = eventData.Entity.Id; + Logger.LogDebug($"Clearing dynamic claims cache for user: {userId}"); + await _cache.ClearAsync(userId, eventData.Entity.TenantId); + } +} From 9a1b4c2004174f6ed096e5ef70153f911e397b14 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 7 Nov 2023 10:11:53 +0800 Subject: [PATCH 05/93] Create IdentityDynamicClaimsPrincipalContributor_Tests.cs --- ...DynamicClaimsPrincipalContributor_Tests.cs | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor_Tests.cs diff --git a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor_Tests.cs b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor_Tests.cs new file mode 100644 index 0000000000..9ac0a2d36b --- /dev/null +++ b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor_Tests.cs @@ -0,0 +1,59 @@ +using System.Security.Claims; +using System.Threading.Tasks; +using Shouldly; +using Volo.Abp.Security.Claims; +using Xunit; + +namespace Volo.Abp.Identity; + +public class IdentityDynamicClaimsPrincipalContributor_Tests : AbpIdentityDomainTestBase +{ + private readonly IdentityUserManager _identityUserManager; + private readonly IAbpClaimsPrincipalFactory _abpClaimsPrincipalFactory; + private readonly AbpUserClaimsPrincipalFactory _abpUserClaimsPrincipalFactory; + private readonly IdentityTestData _testData; + + public IdentityDynamicClaimsPrincipalContributor_Tests() + { + _identityUserManager = GetRequiredService(); + _abpClaimsPrincipalFactory = GetRequiredService(); + _abpUserClaimsPrincipalFactory = GetRequiredService(); + _testData = GetRequiredService(); + } + + [Fact] + public async Task Should_Get_Correct_Claims_After_User_Updating() + { + IdentityUser user = null; + ClaimsPrincipal claimsPrincipal = null; + string securityStamp = null; + await UsingUowAsync(async () => + { + user = await _identityUserManager.GetByIdAsync(_testData.UserJohnId); + user.ShouldNotBeNull(); + securityStamp = user.SecurityStamp; + claimsPrincipal = await _abpUserClaimsPrincipalFactory.CreateAsync(user); + + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.NameIdentifier && x.Value == user.Id.ToString()); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Name && x.Value == user.UserName); + claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Email && x.Value == user.Email); + claimsPrincipal.Claims.ShouldContain(x => x.Type == "AspNet.Identity.SecurityStamp" && x.Value == securityStamp); + + var dynamicClaimsPrincipal = await _abpClaimsPrincipalFactory.CreateDynamicAsync(claimsPrincipal); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.NameIdentifier && x.Value == user.Id.ToString()); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Name && x.Value == user.UserName); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Email && x.Value == user.Email); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == "AspNet.Identity.SecurityStamp" && x.Value == securityStamp);//SecurityStamp is not dynamic claim + + await _identityUserManager.SetUserNameAsync(user, "newUserName"); + await _identityUserManager.SetEmailAsync(user, "newUserEmail@abp.io"); + await _identityUserManager.UpdateSecurityStampAsync(user); + }); + + var dynamicClaimsPrincipal = await _abpClaimsPrincipalFactory.CreateDynamicAsync(claimsPrincipal); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.NameIdentifier && x.Value == user.Id.ToString()); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Name && x.Value =="newUserName"); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Email && x.Value == "newUserEmail@abp.io"); + dynamicClaimsPrincipal.Claims.ShouldContain(x => x.Type == "AspNet.Identity.SecurityStamp" && x.Value == securityStamp);//SecurityStamp is not dynamic claim + } +} From 870de9e7c514acba3313eb3a872db2387f42d68a Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Tue, 7 Nov 2023 16:55:01 +0300 Subject: [PATCH 06/93] Move codes from `@abp/ng.theme.shared/extensions` to `@abp/ng.components/extensible` with change the used codes. --- npm/ng-packs/.eslintrc.json | 3 ++ .../account/src/lib/account.module.ts | 5 +- .../personal-settings-half-row.component.ts | 2 +- .../personal-settings.component.ts | 2 +- .../default-personal-settings-form-props.ts | 2 +- .../src/lib/guards/extensions.guard.ts | 2 +- .../account/src/lib/models/config-options.ts | 4 +- .../src/lib/resolvers/extensions.resolver.ts | 2 +- .../src/lib/tokens/extensions.token.ts | 2 +- .../packages/components/extensible/README.md | 3 ++ .../components/extensible/ng-package.json | 5 ++ .../abstract-actions.component.ts | 3 +- .../extensible-date-time-picker.component.ts} | 16 +++--- .../extensible-form-prop.component.html | 2 +- .../extensible-form-prop.component.ts | 5 +- .../extensible-form.component.html | 0 .../extensible-form.component.ts | 0 .../extensible-table.component.html | 0 .../extensible-table.component.ts | 12 ++--- .../grid-actions/grid-actions.component.html | 0 .../grid-actions/grid-actions.component.ts | 0 .../extensible/src/lib/components/index.ts | 7 +++ .../page-toolbar/page-toolbar.component.html | 0 .../page-toolbar/page-toolbar.component.ts | 0 .../src/lib/constants/extra-properties.ts | 0 .../src/lib/directives/prop-data.directive.ts | 0 .../extensible}/src/lib/enums/components.ts | 0 .../extensible}/src/lib/enums/props.enum.ts | 0 .../extensible/src/lib/extensible.module.ts} | 52 ++++++++----------- .../extensible}/src/lib/models/actions.ts | 0 .../src/lib/models/entity-actions.ts | 0 .../src/lib/models/entity-props.ts | 0 .../extensible}/src/lib/models/form-props.ts | 0 .../lib/models/internal/object-extensions.ts | 0 .../src/lib/models/object-extensions.ts | 0 .../extensible}/src/lib/models/props.ts | 0 .../src/lib/models/toolbar-actions.ts | 0 .../src/lib/pipes/create-injector.pipe.ts | 0 .../src/lib/services/extensions.service.ts | 0 .../extensible-form-view-provider.token.ts | 0 .../src/lib/tokens/extensions.token.ts | 0 .../extensible}/src/lib/utils/actions.util.ts | 0 .../extensible}/src/lib/utils/enum.util.ts | 0 .../extensible}/src/lib/utils/factory.util.ts | 0 .../src/lib/utils/form-props.util.ts | 9 ++-- .../src/lib/utils/localization.util.ts | 0 .../extensible}/src/lib/utils/props.util.ts | 0 .../extensible}/src/lib/utils/state.util.ts | 0 .../src/lib/utils/typeahead.util.ts | 0 .../src/lib/utils/validation.util.ts | 0 .../extensible}/src/public-api.ts | 10 ++-- .../extensible}/src/tests/actions.spec.ts | 0 .../src/tests/actions.util.spec.ts | 0 .../src/tests/date-time.adapter.spec.ts | 0 .../src/tests/date.adapter.spec.ts | 0 .../src/tests/entity-actions.spec.ts | 0 .../src/tests/entity-props.spec.ts | 0 .../extensible}/src/tests/enum.util.spec.ts | 0 .../src/tests/extensions.service.spec.ts | 0 .../src/tests/factory.util.spec.ts | 0 .../extensible}/src/tests/form-props.spec.ts | 0 .../src/tests/form-props.util.spec.ts | 0 .../src/tests/localization.util.spec.ts | 0 .../extensible}/src/tests/props.spec.ts | 0 .../extensible}/src/tests/props.util.spec.ts | 0 .../extensible}/src/tests/state.util.spec.ts | 0 .../src/tests/time.adapter.spec.ts | 0 .../src/tests/toolbar-actions.spec.ts | 0 .../src/tests/typeahead.util.spec.ts | 0 .../src/tests/validation.util.spec.ts | 0 .../components/page/src/page.module.ts | 7 ++- npm/ng-packs/packages/components/project.json | 7 ++- .../lib/components/roles/roles.component.ts | 2 +- .../lib/components/users/users.component.ts | 4 +- .../defaults/default-roles-entity-actions.ts | 2 +- .../defaults/default-roles-entity-props.ts | 2 +- .../lib/defaults/default-roles-form-props.ts | 2 +- .../defaults/default-roles-toolbar-actions.ts | 2 +- .../defaults/default-users-entity-actions.ts | 2 +- .../defaults/default-users-entity-props.ts | 2 +- .../lib/defaults/default-users-form-props.ts | 2 +- .../defaults/default-users-toolbar-actions.ts | 2 +- .../src/lib/guards/extensions.guard.ts | 2 +- .../identity/src/lib/identity.module.ts | 4 +- .../identity/src/lib/models/config-options.ts | 2 +- .../src/lib/resolvers/extensions.resolver.ts | 2 +- .../src/lib/tokens/extensions.token.ts | 2 +- .../components/tenants/tenants.component.ts | 2 +- .../default-tenants-entity-actions.ts | 2 +- .../defaults/default-tenants-entity-props.ts | 2 +- .../defaults/default-tenants-form-props.ts | 2 +- .../default-tenants-toolbar-actions.ts | 2 +- .../src/lib/guards/extensions.guard.ts | 2 +- .../src/lib/models/config-options.ts | 2 +- .../src/lib/resolvers/extensions.resolver.ts | 2 +- .../src/lib/tenant-management.module.ts | 4 +- .../src/lib/tokens/extensions.token.ts | 2 +- .../theme-shared/extensions/ng-package.json | 7 --- .../src/lib/ui-extensions-testing.module.ts | 8 --- .../extensions/testing/src/public-api.ts | 1 - .../extensions/testing/ssng-package.json | 7 --- .../src/lib/adapters/date-time.adapter.ts | 0 .../src/lib/adapters/date.adapter.ts | 0 .../theme-shared/src/lib/adapters/index.ts | 3 ++ .../src/lib/adapters/time.adapter.ts | 0 .../src/lib/directives/disabled.directive.ts | 1 + .../theme-shared/src/lib/directives/index.ts | 1 + .../packages/theme-shared/src/public-api.ts | 1 + npm/ng-packs/tsconfig.base.json | 2 +- 109 files changed, 119 insertions(+), 130 deletions(-) create mode 100644 npm/ng-packs/packages/components/extensible/README.md create mode 100644 npm/ng-packs/packages/components/extensible/ng-package.json rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/abstract-actions/abstract-actions.component.ts (95%) rename npm/ng-packs/packages/{theme-shared/extensions/src/lib/components/date-time-picker/date-time-picker.component.ts => components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts} (82%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/extensible-form/extensible-form-prop.component.html (98%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/extensible-form/extensible-form-prop.component.ts (97%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/extensible-form/extensible-form.component.html (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/extensible-form/extensible-form.component.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/extensible-table/extensible-table.component.html (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/extensible-table/extensible-table.component.ts (95%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/grid-actions/grid-actions.component.html (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/grid-actions/grid-actions.component.ts (100%) create mode 100644 npm/ng-packs/packages/components/extensible/src/lib/components/index.ts rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/page-toolbar/page-toolbar.component.html (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/components/page-toolbar/page-toolbar.component.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/constants/extra-properties.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/directives/prop-data.directive.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/enums/components.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/enums/props.enum.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions/src/lib/ui-extensions.module.ts => components/extensible/src/lib/extensible.module.ts} (54%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/actions.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/entity-actions.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/entity-props.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/form-props.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/internal/object-extensions.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/object-extensions.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/props.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/models/toolbar-actions.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/pipes/create-injector.pipe.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/services/extensions.service.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/tokens/extensible-form-view-provider.token.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/tokens/extensions.token.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/actions.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/enum.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/factory.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/form-props.util.ts (87%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/localization.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/props.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/state.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/typeahead.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/lib/utils/validation.util.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/public-api.ts (84%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/actions.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/actions.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/date-time.adapter.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/date.adapter.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/entity-actions.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/entity-props.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/enum.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/extensions.service.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/factory.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/form-props.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/form-props.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/localization.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/props.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/props.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/state.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/time.adapter.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/toolbar-actions.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/typeahead.util.spec.ts (100%) rename npm/ng-packs/packages/{theme-shared/extensions => components/extensible}/src/tests/validation.util.spec.ts (100%) delete mode 100644 npm/ng-packs/packages/theme-shared/extensions/ng-package.json delete mode 100644 npm/ng-packs/packages/theme-shared/extensions/testing/src/lib/ui-extensions-testing.module.ts delete mode 100644 npm/ng-packs/packages/theme-shared/extensions/testing/src/public-api.ts delete mode 100644 npm/ng-packs/packages/theme-shared/extensions/testing/ssng-package.json rename npm/ng-packs/packages/theme-shared/{extensions => }/src/lib/adapters/date-time.adapter.ts (100%) rename npm/ng-packs/packages/theme-shared/{extensions => }/src/lib/adapters/date.adapter.ts (100%) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/adapters/index.ts rename npm/ng-packs/packages/theme-shared/{extensions => }/src/lib/adapters/time.adapter.ts (100%) rename npm/ng-packs/packages/theme-shared/{extensions => }/src/lib/directives/disabled.directive.ts (96%) diff --git a/npm/ng-packs/.eslintrc.json b/npm/ng-packs/.eslintrc.json index 3a15786c57..f77289919b 100644 --- a/npm/ng-packs/.eslintrc.json +++ b/npm/ng-packs/.eslintrc.json @@ -2,6 +2,9 @@ "root": true, "ignorePatterns": ["**/*"], "plugins": ["@nx"], + "rules": { + "@typescript-eslint/no-explicit-any": "off" + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/npm/ng-packs/packages/account/src/lib/account.module.ts b/npm/ng-packs/packages/account/src/lib/account.module.ts index 304cc31242..8c9e1acea8 100644 --- a/npm/ng-packs/packages/account/src/lib/account.module.ts +++ b/npm/ng-packs/packages/account/src/lib/account.module.ts @@ -16,10 +16,11 @@ import { AuthenticationFlowGuard } from './guards/authentication-flow.guard'; import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component'; import { ResetPasswordComponent } from './components/reset-password/reset-password.component'; import { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens'; -import { UiExtensionsModule } from '@abp/ng.theme.shared/extensions'; + import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token'; import { AccountExtensionsGuard } from './guards/extensions.guard'; import { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.component'; +import {ExtensibleModule} from "@abp/ng.components/extensible"; const declarations = [ LoginComponent, @@ -40,7 +41,7 @@ const declarations = [ ThemeSharedModule, NgbDropdownModule, NgxValidateCoreModule, - UiExtensionsModule, + ExtensibleModule, ], exports: [...declarations], }) diff --git a/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts b/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts index d7920984ce..2515983e48 100644 --- a/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts @@ -3,7 +3,7 @@ import { EXTENSIONS_FORM_PROP, FormProp, EXTENSIBLE_FORM_VIEW_PROVIDER, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { UntypedFormGroup } from '@angular/forms'; @Component({ diff --git a/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.ts b/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.ts index f41058d06c..a40041551a 100644 --- a/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.ts +++ b/npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.ts @@ -11,7 +11,7 @@ import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eAccountComponents } from '../../enums'; @Component({ diff --git a/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts b/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts index 59c196f2bd..b9463ae336 100644 --- a/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts +++ b/npm/ng-packs/packages/account/src/lib/defaults/default-personal-settings-form-props.ts @@ -1,4 +1,4 @@ -import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions'; +import { ePropType, FormProp } from '@abp/ng.components/extensible'; import { UpdateProfileDto } from '@abp/ng.account.core/proxy'; import { Validators } from '@angular/forms'; import { PersonalSettingsHalfRowComponent } from '../components/personal-settings/personal-settings-half-row.component'; diff --git a/npm/ng-packs/packages/account/src/lib/guards/extensions.guard.ts b/npm/ng-packs/packages/account/src/lib/guards/extensions.guard.ts index 43345bffc3..ebeae81a67 100644 --- a/npm/ng-packs/packages/account/src/lib/guards/extensions.guard.ts +++ b/npm/ng-packs/packages/account/src/lib/guards/extensions.guard.ts @@ -9,7 +9,7 @@ import { getObjectExtensionEntitiesFromStore, mapEntitiesToContributors, mergeWithDefaultProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, diff --git a/npm/ng-packs/packages/account/src/lib/models/config-options.ts b/npm/ng-packs/packages/account/src/lib/models/config-options.ts index c45389492f..11964f8da8 100644 --- a/npm/ng-packs/packages/account/src/lib/models/config-options.ts +++ b/npm/ng-packs/packages/account/src/lib/models/config-options.ts @@ -1,5 +1,5 @@ import { eAccountComponents } from '../enums'; -import { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions'; +import { EditFormPropContributorCallback } from '@abp/ng.components/extensible'; import { UpdateProfileDto } from '@abp/ng.account.core/proxy'; export interface AccountConfigOptions { @@ -9,4 +9,4 @@ export interface AccountConfigOptions { } export type AccountEditFormPropContributors = Partial<{ [eAccountComponents.PersonalSettings]: EditFormPropContributorCallback[]; -}>; \ No newline at end of file +}>; diff --git a/npm/ng-packs/packages/account/src/lib/resolvers/extensions.resolver.ts b/npm/ng-packs/packages/account/src/lib/resolvers/extensions.resolver.ts index 19e29b1e54..b3aec858b8 100644 --- a/npm/ng-packs/packages/account/src/lib/resolvers/extensions.resolver.ts +++ b/npm/ng-packs/packages/account/src/lib/resolvers/extensions.resolver.ts @@ -6,7 +6,7 @@ import { getObjectExtensionEntitiesFromStore, mapEntitiesToContributors, mergeWithDefaultProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eAccountComponents } from '../enums'; import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, DEFAULT_ACCOUNT_FORM_PROPS } from '../tokens'; import { ResolveFn } from '@angular/router'; diff --git a/npm/ng-packs/packages/account/src/lib/tokens/extensions.token.ts b/npm/ng-packs/packages/account/src/lib/tokens/extensions.token.ts index 78acb7feaa..d8baf6f623 100644 --- a/npm/ng-packs/packages/account/src/lib/tokens/extensions.token.ts +++ b/npm/ng-packs/packages/account/src/lib/tokens/extensions.token.ts @@ -1,7 +1,7 @@ import { eAccountComponents } from '../enums'; import { DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS } from '../defaults/default-personal-settings-form-props'; import { InjectionToken } from '@angular/core'; -import { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions'; +import { EditFormPropContributorCallback } from '@abp/ng.components/extensible'; import { UpdateProfileDto } from '@abp/ng.account.core/proxy'; export const DEFAULT_ACCOUNT_FORM_PROPS = { diff --git a/npm/ng-packs/packages/components/extensible/README.md b/npm/ng-packs/packages/components/extensible/README.md new file mode 100644 index 0000000000..7a14a85f7c --- /dev/null +++ b/npm/ng-packs/packages/components/extensible/README.md @@ -0,0 +1,3 @@ +# @abp/ng.components/extensible + +Secondary entry point of `@abp/ng.components`. It can be used by importing from `@abp/ng.components/extensible`. diff --git a/npm/ng-packs/packages/components/extensible/ng-package.json b/npm/ng-packs/packages/components/extensible/ng-package.json new file mode 100644 index 0000000000..fbafcc4448 --- /dev/null +++ b/npm/ng-packs/packages/components/extensible/ng-package.json @@ -0,0 +1,5 @@ +{ + "lib": { + "entryFile": "src/public-api.ts" + } +} diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/abstract-actions/abstract-actions.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/abstract-actions/abstract-actions.component.ts similarity index 95% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/abstract-actions/abstract-actions.component.ts rename to npm/ng-packs/packages/components/extensible/src/lib/components/abstract-actions/abstract-actions.component.ts index a7710d16a0..394e125798 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/abstract-actions/abstract-actions.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/abstract-actions/abstract-actions.component.ts @@ -16,9 +16,8 @@ export abstract class AbstractActionsComponent< @Input() record!: InferredData['record']; - constructor(injector: Injector) { + protected constructor(injector: Injector) { super(); - this.getInjected = injector.get.bind(injector); const extensions = injector.get(ExtensionsService); const name = injector.get(EXTENSIONS_IDENTIFIER); diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/date-time-picker/date-time-picker.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts similarity index 82% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/date-time-picker/date-time-picker.component.ts rename to npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts index 60a2d16f34..55b73581c9 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/date-time-picker/date-time-picker.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts @@ -14,13 +14,13 @@ import { NgbTimeAdapter, NgbTimepicker, } from '@ng-bootstrap/ng-bootstrap'; -import { DateTimeAdapter } from '../../adapters/date-time.adapter'; import { FormProp } from '../../models/form-props'; import { selfFactory } from '../../utils/factory.util'; +import { DateTimeAdapter } from '@abp/ng.theme.shared'; @Component({ - exportAs: 'abpDateTimePicker', - selector: 'abp-date-time-picker', + exportAs: 'abpExtensibleDateTimePicker', + selector: 'abp-extensible-date-time-picker', template: ` - + diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts similarity index 97% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts rename to npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts index 679afe3b04..2689e09a33 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -24,15 +24,14 @@ import { import { NgbDateAdapter, NgbTimeAdapter } from '@ng-bootstrap/ng-bootstrap'; import { Observable, of } from 'rxjs'; import { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators'; -import { DateAdapter } from '../../adapters/date.adapter'; -import { TimeAdapter } from '../../adapters/time.adapter'; +import { DateAdapter, TimeAdapter } from '@abp/ng.theme.shared'; import { EXTRA_PROPERTIES_KEY } from '../../constants/extra-properties'; import { ePropType } from '../../enums/props.enum'; import { FormProp } from '../../models/form-props'; import { PropData } from '../../models/props'; import { selfFactory } from '../../utils/factory.util'; import { addTypeaheadTextSuffix } from '../../utils/typeahead.util'; -import { eThemeSharedComponents } from '../../enums/components'; +import { eThemeSharedComponents } from "../../enums/components"; @Component({ selector: 'abp-extensible-form-prop', diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.html similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html rename to npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.html diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts rename to npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html rename to npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts similarity index 95% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts rename to npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts index aa264385be..af146e2367 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts @@ -13,8 +13,6 @@ import { Component, EventEmitter, Inject, - InjectFlags, - InjectionToken, Injector, Input, LOCALE_ID, @@ -23,7 +21,6 @@ import { SimpleChanges, TemplateRef, TrackByFunction, - Type, } from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; @@ -41,7 +38,7 @@ import { const DEFAULT_ACTIONS_COLUMN_WIDTH = 150; -@Component({ + @Component({ exportAs: 'abpExtensibleTable', selector: 'abp-extensible-table', templateUrl: './extensible-table.component.html', @@ -67,7 +64,7 @@ export class ExtensibleTableComponent implements OnChanges { @Output() tableActivate = new EventEmitter(); - getInjected: (token: Type | InjectionToken, notFoundValue?: T, flags?: InjectFlags) => T; + getInjected: typeof this.injector.get hasAtLeastOnePermittedAction: boolean; @@ -150,7 +147,7 @@ export class ExtensibleTableComponent implements OnChanges { ngOnChanges({ data }: SimpleChanges) { if (!data?.currentValue) return; - + if (data.currentValue.length < 1) { this.list.totalCount = this.recordsTotal } @@ -166,7 +163,7 @@ export class ExtensibleTableComponent implements OnChanges { value, }; if (prop.value.component) { - const injector = Injector.create({ + record[propKey].injector = Injector.create({ providers: [ { provide: PROP_DATA_STREAM, @@ -175,7 +172,6 @@ export class ExtensibleTableComponent implements OnChanges { ], parent: this.injector, }); - record[propKey].injector = injector; record[propKey].component = prop.value.component; } }); diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/grid-actions/grid-actions.component.html b/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.html similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/grid-actions/grid-actions.component.html rename to npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.html diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/grid-actions/grid-actions.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/grid-actions/grid-actions.component.ts rename to npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/index.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/index.ts new file mode 100644 index 0000000000..17f1c380d1 --- /dev/null +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/index.ts @@ -0,0 +1,7 @@ +export * from './abstract-actions/abstract-actions.component'; +export * from './extensible-form/extensible-form.component'; +export * from './extensible-form/extensible-form-prop.component'; +export * from './extensible-table/extensible-table.component'; +export * from './date-time-picker/extensible-date-time-picker.component'; +export * from './grid-actions/grid-actions.component'; +export * from './page-toolbar/page-toolbar.component'; diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/page-toolbar/page-toolbar.component.html b/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.html similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/page-toolbar/page-toolbar.component.html rename to npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.html diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/page-toolbar/page-toolbar.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/components/page-toolbar/page-toolbar.component.ts rename to npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/constants/extra-properties.ts b/npm/ng-packs/packages/components/extensible/src/lib/constants/extra-properties.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/constants/extra-properties.ts rename to npm/ng-packs/packages/components/extensible/src/lib/constants/extra-properties.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/directives/prop-data.directive.ts b/npm/ng-packs/packages/components/extensible/src/lib/directives/prop-data.directive.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/directives/prop-data.directive.ts rename to npm/ng-packs/packages/components/extensible/src/lib/directives/prop-data.directive.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/enums/components.ts b/npm/ng-packs/packages/components/extensible/src/lib/enums/components.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/enums/components.ts rename to npm/ng-packs/packages/components/extensible/src/lib/enums/components.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/enums/props.enum.ts b/npm/ng-packs/packages/components/extensible/src/lib/enums/props.enum.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/enums/props.enum.ts rename to npm/ng-packs/packages/components/extensible/src/lib/enums/props.enum.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts b/npm/ng-packs/packages/components/extensible/src/lib/extensible.module.ts similarity index 54% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts rename to npm/ng-packs/packages/components/extensible/src/lib/extensible.module.ts index 33882fbd43..334909a7e2 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/ui-extensions.module.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/extensible.module.ts @@ -1,6 +1,7 @@ +import { NgModule } from '@angular/core'; import { CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { NgModule } from '@angular/core'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; import { NgbDatepickerModule, NgbDropdownModule, @@ -8,37 +9,27 @@ import { NgbTooltipModule, NgbTypeaheadModule, } from '@ng-bootstrap/ng-bootstrap'; -import { NgxValidateCoreModule } from '@ngx-validate/core'; -import { DateTimePickerComponent } from './components/date-time-picker/date-time-picker.component'; -import { ExtensibleFormPropComponent } from './components/extensible-form/extensible-form-prop.component'; -import { ExtensibleFormComponent } from './components/extensible-form/extensible-form.component'; -import { ExtensibleTableComponent } from './components/extensible-table/extensible-table.component'; -import { GridActionsComponent } from './components/grid-actions/grid-actions.component'; -import { PageToolbarComponent } from './components/page-toolbar/page-toolbar.component'; -import { DisabledDirective } from './directives/disabled.directive'; +import { + ExtensibleFormComponent, + ExtensibleFormPropComponent, + ExtensibleTableComponent, + GridActionsComponent, + PageToolbarComponent, + ExtensibleDateTimePickerComponent +} from './components'; import { PropDataDirective } from './directives/prop-data.directive'; import { CreateInjectorPipe } from './pipes/create-injector.pipe'; +import { DisabledDirective } from '@abp/ng.theme.shared'; @NgModule({ - exports: [ - DateTimePickerComponent, - PageToolbarComponent, - GridActionsComponent, - ExtensibleFormComponent, - ExtensibleTableComponent, - PropDataDirective, - DisabledDirective, - CreateInjectorPipe, - ], declarations: [ - DateTimePickerComponent, + ExtensibleDateTimePickerComponent, PageToolbarComponent, GridActionsComponent, ExtensibleFormPropComponent, ExtensibleFormComponent, ExtensibleTableComponent, PropDataDirective, - DisabledDirective, CreateInjectorPipe, ], imports: [ @@ -49,13 +40,16 @@ import { CreateInjectorPipe } from './pipes/create-injector.pipe'; NgbDropdownModule, NgbTimepickerModule, NgbTypeaheadModule, - NgbTooltipModule + NgbTooltipModule, + DisabledDirective, + ], + exports: [ + PageToolbarComponent, + GridActionsComponent, + ExtensibleFormComponent, + ExtensibleTableComponent, + PropDataDirective, + CreateInjectorPipe, ], }) -export class BaseUiExtensionsModule {} - -@NgModule({ - exports: [BaseUiExtensionsModule], - imports: [BaseUiExtensionsModule], -}) -export class UiExtensionsModule {} +export class ExtensibleModule {} diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/actions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/actions.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-actions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-actions.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-actions.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/entity-actions.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/entity-props.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/form-props.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/form-props.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/internal/object-extensions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/internal/object-extensions.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/internal/object-extensions.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/internal/object-extensions.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/object-extensions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/object-extensions.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/object-extensions.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/object-extensions.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/props.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/toolbar-actions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/toolbar-actions.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/models/toolbar-actions.ts rename to npm/ng-packs/packages/components/extensible/src/lib/models/toolbar-actions.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/pipes/create-injector.pipe.ts b/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/pipes/create-injector.pipe.ts rename to npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/services/extensions.service.ts b/npm/ng-packs/packages/components/extensible/src/lib/services/extensions.service.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/services/extensions.service.ts rename to npm/ng-packs/packages/components/extensible/src/lib/services/extensions.service.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensible-form-view-provider.token.ts b/npm/ng-packs/packages/components/extensible/src/lib/tokens/extensible-form-view-provider.token.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensible-form-view-provider.token.ts rename to npm/ng-packs/packages/components/extensible/src/lib/tokens/extensible-form-view-provider.token.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensions.token.ts b/npm/ng-packs/packages/components/extensible/src/lib/tokens/extensions.token.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensions.token.ts rename to npm/ng-packs/packages/components/extensible/src/lib/tokens/extensions.token.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/actions.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/actions.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/actions.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/actions.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/enum.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/enum.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/enum.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/enum.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/factory.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/factory.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/factory.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/factory.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/form-props.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts similarity index 87% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/form-props.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts index c1295f21fa..ab7c669d47 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/form-props.util.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts @@ -1,11 +1,10 @@ import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; -import { DateTimeAdapter } from '../adapters/date-time.adapter'; -import { DateAdapter } from '../adapters/date.adapter'; -import { TimeAdapter } from '../adapters/time.adapter'; +import { DateTimeAdapter,DateAdapter,TimeAdapter } from '@abp/ng.theme.shared'; + import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties'; import { ePropType } from '../enums/props.enum'; -import { FormProp, FormPropList } from "../models/form-props"; -import { InferredProp, PropData } from "../models/props"; +import { FormPropList } from "../models/form-props"; +import { PropData } from "../models/props"; import { ExtensionsService } from '../services/extensions.service'; import { EXTENSIONS_IDENTIFIER } from '../tokens/extensions.token'; diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/localization.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/localization.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/localization.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/localization.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/props.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/props.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/state.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/state.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/state.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/state.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/typeahead.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/typeahead.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/validation.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/validation.util.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/validation.util.ts rename to npm/ng-packs/packages/components/extensible/src/lib/utils/validation.util.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/public-api.ts b/npm/ng-packs/packages/components/extensible/src/public-api.ts similarity index 84% rename from npm/ng-packs/packages/theme-shared/extensions/src/public-api.ts rename to npm/ng-packs/packages/components/extensible/src/public-api.ts index 7268be4395..abcc3a1a0c 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/public-api.ts +++ b/npm/ng-packs/packages/components/extensible/src/public-api.ts @@ -1,14 +1,10 @@ -export * from './lib/adapters/date-time.adapter'; -export * from './lib/adapters/date.adapter'; -export * from './lib/adapters/time.adapter'; -export * from './lib/components/date-time-picker/date-time-picker.component'; +export * from './lib/components/date-time-picker/extensible-date-time-picker.component'; export * from './lib/components/extensible-form/extensible-form-prop.component'; export * from './lib/components/extensible-form/extensible-form.component'; export * from './lib/components/extensible-table/extensible-table.component'; export * from './lib/components/grid-actions/grid-actions.component'; export * from './lib/components/page-toolbar/page-toolbar.component'; export * from './lib/constants/extra-properties'; -export * from './lib/directives/disabled.directive'; export * from './lib/directives/prop-data.directive'; export * from './lib/enums/props.enum'; export * from './lib/enums/components'; @@ -66,8 +62,8 @@ export * from './lib/pipes/create-injector.pipe'; export * from './lib/services/extensions.service'; export * from './lib/tokens/extensions.token'; export * from './lib/tokens/extensible-form-view-provider.token'; -export * from './lib/ui-extensions.module'; -export * from './lib/utils/actions.util'; + export * from './lib/utils/actions.util'; export * from './lib/utils/form-props.util'; export * from './lib/utils/props.util'; export * from './lib/utils/state.util'; +export * from './lib/extensible.module'; diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/actions.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/actions.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/actions.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/actions.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/actions.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/actions.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/actions.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/actions.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/date-time.adapter.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/date-time.adapter.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/date-time.adapter.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/date-time.adapter.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/date.adapter.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/date.adapter.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/date.adapter.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/date.adapter.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-actions.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/entity-actions.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-actions.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/entity-actions.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-props.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/entity-props.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-props.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/entity-props.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/enum.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/enum.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/enum.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/enum.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/extensions.service.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/extensions.service.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/extensions.service.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/extensions.service.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/factory.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/factory.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/factory.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/factory.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/form-props.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/form-props.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/form-props.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/form-props.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/localization.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/localization.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/localization.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/localization.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/props.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/props.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/props.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/props.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/props.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/props.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/props.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/props.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/state.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/state.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/state.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/state.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/time.adapter.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/time.adapter.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/time.adapter.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/time.adapter.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/toolbar-actions.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/toolbar-actions.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/toolbar-actions.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/toolbar-actions.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/typeahead.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/typeahead.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/typeahead.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/typeahead.util.spec.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/validation.util.spec.ts b/npm/ng-packs/packages/components/extensible/src/tests/validation.util.spec.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/tests/validation.util.spec.ts rename to npm/ng-packs/packages/components/extensible/src/tests/validation.util.spec.ts diff --git a/npm/ng-packs/packages/components/page/src/page.module.ts b/npm/ng-packs/packages/components/page/src/page.module.ts index d9d237cbdb..7baec02188 100644 --- a/npm/ng-packs/packages/components/page/src/page.module.ts +++ b/npm/ng-packs/packages/components/page/src/page.module.ts @@ -1,7 +1,6 @@ import { CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { UiExtensionsModule } from '@abp/ng.theme.shared/extensions'; -import { CommonModule } from '@angular/common'; + import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { PagePartDirective } from './page-part.directive'; import { @@ -21,7 +20,7 @@ const exportedDeclarations = [ @NgModule({ declarations: [...exportedDeclarations], - imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule], - exports: [...exportedDeclarations, UiExtensionsModule], + imports: [CommonModule, CoreModule, ThemeSharedModule], + exports: [...exportedDeclarations], }) export class PageModule {} diff --git a/npm/ng-packs/packages/components/project.json b/npm/ng-packs/packages/components/project.json index 12a03b4ad1..fc73649c65 100644 --- a/npm/ng-packs/packages/components/project.json +++ b/npm/ng-packs/packages/components/project.json @@ -32,7 +32,12 @@ "lint": { "executor": "@nx/linter:eslint", "options": { - "lintFilePatterns": ["packages/components/src/**/*.ts", "packages/components/src/**/*.html"] + "lintFilePatterns": [ + "packages/components/src/**/*.ts", + "packages/components/src/**/*.html", + "packages/components/extensible/**/*.ts", + "packages/components/extensible/**/*.html" + ] }, "outputs": ["{options.outputFile}"] } diff --git a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts index 5e2a0e866a..fd8b3670f8 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts +++ b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts @@ -6,7 +6,7 @@ import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { Component, Injector, OnInit } from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; import { finalize } from 'rxjs/operators'; diff --git a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts index 6dd1ab9f17..f8802de304 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts +++ b/npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts @@ -11,7 +11,7 @@ import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { Component, Injector, @@ -60,7 +60,7 @@ export class UsersComponent implements OnInit { permissionManagementKey = ePermissionManagementComponents.PermissionManagement; entityDisplayName: string; - + inputKey=eFormComponets.FormCheckboxComponent trackByFn: TrackByFunction = (index, item) => Object.keys(item)[0] || index; diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-actions.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-actions.ts index fe6e0661d5..11a1b967e0 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-actions.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-actions.ts @@ -1,5 +1,5 @@ import { IdentityRoleDto } from '@abp/ng.identity/proxy'; -import { EntityAction } from '@abp/ng.theme.shared/extensions'; +import { EntityAction } from '@abp/ng.components/extensible'; import { RolesComponent } from '../components/roles/roles.component'; export const DEFAULT_ROLES_ENTITY_ACTIONS = EntityAction.createMany([ diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts index c26124c531..6c3e473ae9 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-entity-props.ts @@ -1,6 +1,6 @@ import { escapeHtmlChars, LocalizationService } from '@abp/ng.core'; import { IdentityRoleDto } from '@abp/ng.identity/proxy'; -import { EntityProp, ePropType } from '@abp/ng.theme.shared/extensions'; +import { EntityProp, ePropType } from '@abp/ng.components/extensible'; import { of } from 'rxjs'; export const DEFAULT_ROLES_ENTITY_PROPS = EntityProp.createMany([ diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-form-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-form-props.ts index 129a095a02..d09b8755f2 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-form-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-form-props.ts @@ -1,5 +1,5 @@ import { IdentityRoleDto } from '@abp/ng.identity/proxy'; -import { ePropType, FormProp, PropData, PropPredicate } from "@abp/ng.theme.shared/extensions"; +import { ePropType, FormProp, PropData, PropPredicate } from "@abp/ng.components/extensible"; import { Validators } from '@angular/forms'; export const DEFAULT_ROLES_CREATE_FORM_PROPS = FormProp.createMany([ diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-toolbar-actions.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-toolbar-actions.ts index e31e444669..e938342d8f 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-toolbar-actions.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-roles-toolbar-actions.ts @@ -1,5 +1,5 @@ import { IdentityRoleDto } from '@abp/ng.identity/proxy'; -import { ToolbarAction } from '@abp/ng.theme.shared/extensions'; +import { ToolbarAction } from '@abp/ng.components/extensible'; import { RolesComponent } from '../components/roles/roles.component'; export const DEFAULT_ROLES_TOOLBAR_ACTIONS = ToolbarAction.createMany([ diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-actions.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-actions.ts index ca0a2edcad..bc7c2dd8e6 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-actions.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-actions.ts @@ -1,5 +1,5 @@ import { IdentityUserDto } from '@abp/ng.identity/proxy'; -import { EntityAction } from '@abp/ng.theme.shared/extensions'; +import { EntityAction } from '@abp/ng.components/extensible'; import { UsersComponent } from '../components/users/users.component'; import { ConfigStateService, CurrentUserDto } from '@abp/ng.core'; diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts index da277acd6c..a90a0d7458 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-entity-props.ts @@ -1,6 +1,6 @@ import { escapeHtmlChars, LocalizationService } from '@abp/ng.core'; import { IdentityUserDto } from '@abp/ng.identity/proxy'; -import { EntityProp, ePropType } from '@abp/ng.theme.shared/extensions'; +import { EntityProp, ePropType } from '@abp/ng.components/extensible'; import { of } from 'rxjs'; export const DEFAULT_USERS_ENTITY_PROPS = EntityProp.createMany([ diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts index 3c1a3e4c82..9f802c8283 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts @@ -1,7 +1,7 @@ import { Validators } from '@angular/forms'; import { ConfigStateService, CurrentUserDto } from '@abp/ng.core'; import { getPasswordValidators } from '@abp/ng.theme.shared'; -import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions'; +import { ePropType, FormProp } from '@abp/ng.components/extensible'; import { IdentityUserDto } from '@abp/ng.identity/proxy'; export const DEFAULT_USERS_CREATE_FORM_PROPS = FormProp.createMany([ diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-toolbar-actions.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-toolbar-actions.ts index 72092cbb1a..75053fcaa9 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-toolbar-actions.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-toolbar-actions.ts @@ -1,5 +1,5 @@ import { IdentityUserDto } from '@abp/ng.identity/proxy'; -import { ToolbarAction } from '@abp/ng.theme.shared/extensions'; +import { ToolbarAction } from '@abp/ng.components/extensible'; import { UsersComponent } from '../components/users/users.component'; export const DEFAULT_USERS_TOOLBAR_ACTIONS = ToolbarAction.createMany([ diff --git a/npm/ng-packs/packages/identity/src/lib/guards/extensions.guard.ts b/npm/ng-packs/packages/identity/src/lib/guards/extensions.guard.ts index 74dab0745a..c78e03b6af 100644 --- a/npm/ng-packs/packages/identity/src/lib/guards/extensions.guard.ts +++ b/npm/ng-packs/packages/identity/src/lib/guards/extensions.guard.ts @@ -10,7 +10,7 @@ import { mapEntitiesToContributors, mergeWithDefaultActions, mergeWithDefaultProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eIdentityComponents } from '../enums/components'; import { diff --git a/npm/ng-packs/packages/identity/src/lib/identity.module.ts b/npm/ng-packs/packages/identity/src/lib/identity.module.ts index e6c11d195e..ea07602f7c 100644 --- a/npm/ng-packs/packages/identity/src/lib/identity.module.ts +++ b/npm/ng-packs/packages/identity/src/lib/identity.module.ts @@ -1,7 +1,7 @@ import { CoreModule, LazyModuleFactory } from '@abp/ng.core'; import { PermissionManagementModule } from '@abp/ng.permission-management'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { UiExtensionsModule } from '@abp/ng.theme.shared/extensions'; +import { ExtensibleModule } from '@abp/ng.components/extensible'; import { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core'; import { NgbDropdownModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; import { NgxValidateCoreModule } from '@ngx-validate/core'; @@ -27,7 +27,7 @@ import { PageModule } from '@abp/ng.components/page'; IdentityRoutingModule, NgbNavModule, ThemeSharedModule, - UiExtensionsModule, + ExtensibleModule, NgbDropdownModule, PermissionManagementModule, NgxValidateCoreModule, diff --git a/npm/ng-packs/packages/identity/src/lib/models/config-options.ts b/npm/ng-packs/packages/identity/src/lib/models/config-options.ts index b244a1a51a..56abbd11e6 100644 --- a/npm/ng-packs/packages/identity/src/lib/models/config-options.ts +++ b/npm/ng-packs/packages/identity/src/lib/models/config-options.ts @@ -5,7 +5,7 @@ import { EntityActionContributorCallback, EntityPropContributorCallback, ToolbarActionContributorCallback, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eIdentityComponents } from '../enums/components'; export type IdentityEntityActionContributors = Partial<{ diff --git a/npm/ng-packs/packages/identity/src/lib/resolvers/extensions.resolver.ts b/npm/ng-packs/packages/identity/src/lib/resolvers/extensions.resolver.ts index 1a303e50c4..45856046d8 100644 --- a/npm/ng-packs/packages/identity/src/lib/resolvers/extensions.resolver.ts +++ b/npm/ng-packs/packages/identity/src/lib/resolvers/extensions.resolver.ts @@ -7,7 +7,7 @@ import { mapEntitiesToContributors, mergeWithDefaultActions, mergeWithDefaultProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eIdentityComponents } from '../enums'; import { IDENTITY_ENTITY_ACTION_CONTRIBUTORS, diff --git a/npm/ng-packs/packages/identity/src/lib/tokens/extensions.token.ts b/npm/ng-packs/packages/identity/src/lib/tokens/extensions.token.ts index 3a91d38c27..ec3af0649d 100644 --- a/npm/ng-packs/packages/identity/src/lib/tokens/extensions.token.ts +++ b/npm/ng-packs/packages/identity/src/lib/tokens/extensions.token.ts @@ -5,7 +5,7 @@ import { EntityActionContributorCallback, EntityPropContributorCallback, ToolbarActionContributorCallback, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { InjectionToken } from '@angular/core'; import { DEFAULT_ROLES_ENTITY_ACTIONS } from '../defaults/default-roles-entity-actions'; import { DEFAULT_ROLES_ENTITY_PROPS } from '../defaults/default-roles-entity-props'; diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts index 51c98a53e2..b759947b32 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts @@ -6,7 +6,7 @@ import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { Component, Injector, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { finalize } from 'rxjs/operators'; diff --git a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-actions.ts b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-actions.ts index 6cb5fe7d26..23848b8582 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-actions.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-actions.ts @@ -1,5 +1,5 @@ import { TenantDto } from '@abp/ng.tenant-management/proxy'; -import { EntityAction } from '@abp/ng.theme.shared/extensions'; +import { EntityAction } from '@abp/ng.components/extensible'; import { TenantsComponent } from '../components/tenants/tenants.component'; export const DEFAULT_TENANTS_ENTITY_ACTIONS = EntityAction.createMany([ diff --git a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-props.ts b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-props.ts index 8eacec5623..a893453e71 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-props.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-entity-props.ts @@ -1,5 +1,5 @@ import { TenantDto } from '@abp/ng.tenant-management/proxy'; -import { EntityProp, ePropType } from '@abp/ng.theme.shared/extensions'; +import { EntityProp, ePropType } from '@abp/ng.components/extensible'; export const DEFAULT_TENANTS_ENTITY_PROPS = EntityProp.createMany([ { diff --git a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-form-props.ts b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-form-props.ts index a3956e87d5..2c6482f78f 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-form-props.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-form-props.ts @@ -1,6 +1,6 @@ import { TenantCreateDto, TenantUpdateDto } from '@abp/ng.tenant-management/proxy'; import { getPasswordValidators } from '@abp/ng.theme.shared'; -import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions'; +import { ePropType, FormProp } from '@abp/ng.components/extensible'; import { Validators } from '@angular/forms'; export const DEFAULT_TENANTS_CREATE_FORM_PROPS = FormProp.createMany< diff --git a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-toolbar-actions.ts b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-toolbar-actions.ts index 5621a81aac..f1b3bce9d5 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-toolbar-actions.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/defaults/default-tenants-toolbar-actions.ts @@ -1,5 +1,5 @@ import { TenantDto } from '@abp/ng.tenant-management/proxy'; -import { ToolbarAction } from '@abp/ng.theme.shared/extensions'; +import { ToolbarAction } from '@abp/ng.components/extensible'; import { TenantsComponent } from '../components/tenants/tenants.component'; export const DEFAULT_TENANTS_TOOLBAR_ACTIONS = ToolbarAction.createMany([ diff --git a/npm/ng-packs/packages/tenant-management/src/lib/guards/extensions.guard.ts b/npm/ng-packs/packages/tenant-management/src/lib/guards/extensions.guard.ts index 42e0b50d75..d37d735453 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/guards/extensions.guard.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/guards/extensions.guard.ts @@ -10,7 +10,7 @@ import { mapEntitiesToContributors, mergeWithDefaultActions, mergeWithDefaultProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eTenantManagementComponents } from '../enums/components'; import { diff --git a/npm/ng-packs/packages/tenant-management/src/lib/models/config-options.ts b/npm/ng-packs/packages/tenant-management/src/lib/models/config-options.ts index 684d7c49ea..c9f4d62e44 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/models/config-options.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/models/config-options.ts @@ -5,7 +5,7 @@ import { EntityActionContributorCallback, EntityPropContributorCallback, ToolbarActionContributorCallback, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eTenantManagementComponents } from '../enums/components'; export type TenantManagementEntityActionContributors = Partial<{ diff --git a/npm/ng-packs/packages/tenant-management/src/lib/resolvers/extensions.resolver.ts b/npm/ng-packs/packages/tenant-management/src/lib/resolvers/extensions.resolver.ts index 609f048465..d3c224aba2 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/resolvers/extensions.resolver.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/resolvers/extensions.resolver.ts @@ -7,7 +7,7 @@ import { mapEntitiesToContributors, mergeWithDefaultActions, mergeWithDefaultProps, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { eTenantManagementComponents } from '../enums'; import { TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, diff --git a/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts b/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts index 535ee38aaa..4b44814bce 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/tenant-management.module.ts @@ -1,7 +1,7 @@ import { CoreModule, LazyModuleFactory } from '@abp/ng.core'; import { FeatureManagementModule } from '@abp/ng.feature-management'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; -import { UiExtensionsModule } from '@abp/ng.theme.shared/extensions'; +import { ExtensibleModule } from '@abp/ng.components/extensible'; import { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { NgxValidateCoreModule } from '@ngx-validate/core'; @@ -28,7 +28,7 @@ import { PageModule } from '@abp/ng.components/page'; ThemeSharedModule, NgbDropdownModule, FeatureManagementModule, - UiExtensionsModule, + ExtensibleModule, PageModule, ], }) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/tokens/extensions.token.ts b/npm/ng-packs/packages/tenant-management/src/lib/tokens/extensions.token.ts index 666183fbaa..8215a0cc8f 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/tokens/extensions.token.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/tokens/extensions.token.ts @@ -5,7 +5,7 @@ import { EntityActionContributorCallback, EntityPropContributorCallback, ToolbarActionContributorCallback, -} from '@abp/ng.theme.shared/extensions'; +} from '@abp/ng.components/extensible'; import { InjectionToken } from '@angular/core'; import { DEFAULT_TENANTS_ENTITY_ACTIONS } from '../defaults/default-tenants-entity-actions'; import { DEFAULT_TENANTS_ENTITY_PROPS } from '../defaults/default-tenants-entity-props'; diff --git a/npm/ng-packs/packages/theme-shared/extensions/ng-package.json b/npm/ng-packs/packages/theme-shared/extensions/ng-package.json deleted file mode 100644 index 3244b2e39b..0000000000 --- a/npm/ng-packs/packages/theme-shared/extensions/ng-package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../../dist/packages/theme-shared/extensions", - "lib": { - "entryFile": "src/public-api.ts" - } -} diff --git a/npm/ng-packs/packages/theme-shared/extensions/testing/src/lib/ui-extensions-testing.module.ts b/npm/ng-packs/packages/theme-shared/extensions/testing/src/lib/ui-extensions-testing.module.ts deleted file mode 100644 index 593cce3733..0000000000 --- a/npm/ng-packs/packages/theme-shared/extensions/testing/src/lib/ui-extensions-testing.module.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BaseUiExtensionsModule } from '@abp/ng.theme.shared/extensions'; -import { NgModule } from '@angular/core'; - -@NgModule({ - exports: [BaseUiExtensionsModule], - imports: [BaseUiExtensionsModule], -}) -export class UiExtensionsTestingModule {} diff --git a/npm/ng-packs/packages/theme-shared/extensions/testing/src/public-api.ts b/npm/ng-packs/packages/theme-shared/extensions/testing/src/public-api.ts deleted file mode 100644 index d524c9cd0c..0000000000 --- a/npm/ng-packs/packages/theme-shared/extensions/testing/src/public-api.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lib/ui-extensions-testing.module'; diff --git a/npm/ng-packs/packages/theme-shared/extensions/testing/ssng-package.json b/npm/ng-packs/packages/theme-shared/extensions/testing/ssng-package.json deleted file mode 100644 index 10757e7f04..0000000000 --- a/npm/ng-packs/packages/theme-shared/extensions/testing/ssng-package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "../../../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/theme-shared/extensions/testing", - "lib": { - "entryFile": "src/public-api.ts" - } -} diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date-time.adapter.ts b/npm/ng-packs/packages/theme-shared/src/lib/adapters/date-time.adapter.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date-time.adapter.ts rename to npm/ng-packs/packages/theme-shared/src/lib/adapters/date-time.adapter.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts b/npm/ng-packs/packages/theme-shared/src/lib/adapters/date.adapter.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/date.adapter.ts rename to npm/ng-packs/packages/theme-shared/src/lib/adapters/date.adapter.ts diff --git a/npm/ng-packs/packages/theme-shared/src/lib/adapters/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/adapters/index.ts new file mode 100644 index 0000000000..a8e37ee1d3 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/adapters/index.ts @@ -0,0 +1,3 @@ +export * from './date-time.adapter'; +export * from './date.adapter'; +export * from './time.adapter'; diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/time.adapter.ts b/npm/ng-packs/packages/theme-shared/src/lib/adapters/time.adapter.ts similarity index 100% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/adapters/time.adapter.ts rename to npm/ng-packs/packages/theme-shared/src/lib/adapters/time.adapter.ts diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/directives/disabled.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/disabled.directive.ts similarity index 96% rename from npm/ng-packs/packages/theme-shared/extensions/src/lib/directives/disabled.directive.ts rename to npm/ng-packs/packages/theme-shared/src/lib/directives/disabled.directive.ts index c0a1a74995..8832280dee 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/directives/disabled.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/disabled.directive.ts @@ -3,6 +3,7 @@ import { NgControl } from '@angular/forms'; @Directive({ selector: '[abpDisabled]', + standalone:true, }) export class DisabledDirective implements OnChanges { @Input() diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts index 3f22a36f1b..1047bc67e6 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts @@ -3,3 +3,4 @@ export * from './loading.directive'; export * from './ngx-datatable-default.directive'; export * from './ngx-datatable-list.directive'; export * from './visible.directive'; +export * from './disabled.directive'; diff --git a/npm/ng-packs/packages/theme-shared/src/public-api.ts b/npm/ng-packs/packages/theme-shared/src/public-api.ts index 22661e3855..659e59e490 100644 --- a/npm/ng-packs/packages/theme-shared/src/public-api.ts +++ b/npm/ng-packs/packages/theme-shared/src/public-api.ts @@ -2,6 +2,7 @@ * Public API Surface of theme-shared */ +export * from './lib/adapters' export * from './lib/animations'; export * from './lib/components'; export * from './lib/constants/validation'; diff --git a/npm/ng-packs/tsconfig.base.json b/npm/ng-packs/tsconfig.base.json index 3b4de4eb67..d24de94706 100644 --- a/npm/ng-packs/tsconfig.base.json +++ b/npm/ng-packs/tsconfig.base.json @@ -20,6 +20,7 @@ "@abp/ng.account/config": ["packages/account/config/src/public-api.ts"], "@abp/ng.components": ["packages/components/src/public-api.ts"], "@abp/ng.components/chart.js": ["packages/components/chart.js/src/public-api.ts"], + "@abp/ng.components/extensible": ["packages/components/extensible/src/public-api.ts"], "@abp/ng.components/page": ["packages/components/page/src/public-api.ts"], "@abp/ng.components/tree": ["packages/components/tree/src/public-api.ts"], "@abp/ng.core": ["packages/core/src/public-api.ts"], @@ -44,7 +45,6 @@ "@abp/ng.theme.basic": ["packages/theme-basic/src/public-api.ts"], "@abp/ng.theme.basic/testing": ["packages/theme-basic/testing/src/public-api.ts"], "@abp/ng.theme.shared": ["packages/theme-shared/src/public-api.ts"], - "@abp/ng.theme.shared/extensions": ["packages/theme-shared/extensions/src/public-api.ts"], "@abp/ng.theme.shared/testing": ["packages/theme-shared/testing/src/public-api.ts"], "@abp/nx.generators": ["packages/generators/src/index.ts"] } From 02bd699c4d08644ca9b88b3dcfb70325b7461a28 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 8 Nov 2023 20:49:15 +0800 Subject: [PATCH 07/93] Add `RemoteDynamicClaimsPrincipalContributor`. --- .../Web/Security/AbpComponentsClaimsCache.cs | 7 +- ...RemoteDynamicClaimsPrincipalContributor.cs | 30 ++++++ ...eDynamicClaimsPrincipalContributorCache.cs | 91 +++++++++++++++++++ ...cClaimsPrincipalContributorCacheOptions.cs | 13 +++ .../Volo/Abp/Security/AbpSecurityModule.cs | 38 ++++++++ .../Abp/Security/Claims/AbpClaimCacheIteam.cs | 7 ++ .../AbpClaimsPrincipalFactoryOptions.cs | 7 +- ...bpDynamicClaimsPrincipalContributorBase.cs | 74 +++++++++++++++ .../IAbpDynamicClaimsPrincipalContributor.cs | 6 ++ .../Claims/AbpClaimsPrincipalFactory_Test.cs | 75 ++++++++++----- .../Volo/Abp/Account/DynamicClaimDto.cs | 8 ++ .../Abp/Account/IDynamicClaimsAppService.cs | 10 ++ .../Abp/Account/DynamicClaimsAppService.cs | 42 +++++++++ .../DynamicClaimsClientProxy.Generated.cs | 24 +++++ .../Abp/Account/DynamicClaimsClientProxy.cs | 7 ++ .../ClientProxies/account-generate-proxy.json | 41 +++++++++ .../Abp/Account/DynamicClaimsController.cs | 26 ++++++ .../wwwroot/client-proxies/account-proxy.js | 15 +++ .../Abp/Identity/AbpIdentityDomainModule.cs | 5 - ...entityDynamicClaimsPrincipalContributor.cs | 17 ++-- ...yDynamicClaimsPrincipalContributorCache.cs | 65 ++++++++----- ...cClaimsPrincipalContributorCacheOptions.cs | 13 +++ .../AbpUserClaimsPrincipalFactory_Tests.cs | 8 +- .../MyProjectNameAuthServerModule.cs | 1 + .../MyProjectNameBlazorModule.cs | 10 +- .../MyProjectNameBlazorModule.cs | 2 +- .../MyProjectNameBlazorModule.cs | 6 ++ .../MyProjectNameHttpApiHostModule.cs | 3 +- .../MyProjectNameHttpApiHostModule.cs | 2 +- ...yCompanyName.MyProjectName.Web.Host.csproj | 1 + .../MyProjectNameWebModule.cs | 9 +- .../MyProjectNameWebModule.cs | 1 + 32 files changed, 590 insertions(+), 74 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs create mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs create mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs create mode 100644 modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/DynamicClaimDto.cs create mode 100644 modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs create mode 100644 modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs create mode 100644 modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs create mode 100644 modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.cs create mode 100644 modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCacheOptions.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/Security/AbpComponentsClaimsCache.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/Security/AbpComponentsClaimsCache.cs index 74cbd37e29..8df1824e81 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/Security/AbpComponentsClaimsCache.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/Security/AbpComponentsClaimsCache.cs @@ -1,9 +1,9 @@ using System.Security.Claims; using System.Threading.Tasks; -using JetBrains.Annotations; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.DependencyInjection; +using Volo.Abp.Security.Claims; namespace Volo.Abp.AspNetCore.Components.Web.Security; @@ -12,16 +12,18 @@ public class AbpComponentsClaimsCache : IScopedDependency public ClaimsPrincipal Principal { get; private set; } = default!; private readonly AuthenticationStateProvider? _authenticationStateProvider; + private readonly IAbpClaimsPrincipalFactory _abpClaimsPrincipalFactory; public AbpComponentsClaimsCache( IClientScopeServiceProviderAccessor serviceProviderAccessor) { _authenticationStateProvider = serviceProviderAccessor.ServiceProvider.GetService(); + _abpClaimsPrincipalFactory = serviceProviderAccessor.ServiceProvider.GetRequiredService(); if (_authenticationStateProvider != null) { _authenticationStateProvider.AuthenticationStateChanged += async (task) => { - Principal = (await task).User; + Principal = await _abpClaimsPrincipalFactory.CreateDynamicAsync((await task).User); }; } } @@ -32,6 +34,7 @@ public class AbpComponentsClaimsCache : IScopedDependency { var authenticationState = await _authenticationStateProvider.GetAuthenticationStateAsync(); Principal = authenticationState.User; + await _abpClaimsPrincipalFactory.CreateDynamicAsync(Principal); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs new file mode 100644 index 0000000000..38d3b7840a --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs @@ -0,0 +1,30 @@ +using System.Linq; +using System.Security.Principal; +using System.Threading.Tasks; +using Volo.Abp.Security.Claims; + +namespace Volo.Abp.AspNetCore.Mvc.Client; + +public class RemoteDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincipalContributorBase +{ + public async override Task ContributeAsync(AbpClaimsPrincipalContributorContext context) + { + var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); + if (identity == null) + { + return; + } + + var userId = identity.FindUserId(); + if (userId == null) + { + return; + } + + var dynamicClaimsCache = context.GetRequiredService(); + var dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); + + await MapCommonClaimsAsync(identity, dynamicClaims); + await AddDynamicClaims(identity, dynamicClaims); + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs new file mode 100644 index 0000000000..33a1dfd5f6 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Threading.Tasks; +using Microsoft.Extensions.Caching.Distributed; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; +using Volo.Abp.Caching; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.Authentication; +using Volo.Abp.Json; +using Volo.Abp.Security.Claims; + +namespace Volo.Abp.AspNetCore.Mvc.Client; + +public class RemoteDynamicClaimsPrincipalContributorCache : ITransientDependency +{ + public const string HttpClientName = nameof(RemoteDynamicClaimsPrincipalContributorCache); + + public ILogger Logger { get; set; } + protected IDistributedCache> Cache { get; } + protected IHttpClientFactory HttpClientFactory { get; } + protected IOptions AbpClaimsPrincipalFactoryOptions { get; } + protected IJsonSerializer JsonSerializer { get; } + protected IRemoteServiceHttpClientAuthenticator HttpClientAuthenticator { get; } + protected IOptions CacheOptions { get; } + + public RemoteDynamicClaimsPrincipalContributorCache( + IDistributedCache> cache, + IHttpClientFactory httpClientFactory, + IOptions abpClaimsPrincipalFactoryOptions, + IJsonSerializer jsonSerializer, + IRemoteServiceHttpClientAuthenticator httpClientAuthenticator, + IOptions cacheOptions) + { + Cache = cache; + HttpClientFactory = httpClientFactory; + AbpClaimsPrincipalFactoryOptions = abpClaimsPrincipalFactoryOptions; + JsonSerializer = jsonSerializer; + HttpClientAuthenticator = httpClientAuthenticator; + CacheOptions = cacheOptions; + + Logger = NullLogger.Instance; + } + + public virtual async Task> GetAsync(Guid userId, Guid? tenantId = null) + { + Logger.LogDebug($"Get dynamic claims cache for user: {userId}"); + //The UI may use the same cache as AuthServer in the tiered application. + var claims = await Cache.GetAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)); + if (!claims.IsNullOrEmpty()) + { + return claims!; + } + + Logger.LogDebug($"Get dynamic claims cache for user: {userId} from remote cache."); + // Use independent cache for remote claims. + return (await Cache.GetOrAddAsync($"{nameof(RemoteDynamicClaimsPrincipalContributorCache)}{AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)}", async () => + { + var dynamicClaims = new List(); + Logger.LogDebug($"Get dynamic claims for user: {userId} from remote service."); + try + { + var client = HttpClientFactory.CreateClient(HttpClientName); + var requestMessage = new HttpRequestMessage(HttpMethod.Get, AbpClaimsPrincipalFactoryOptions.Value.RemoteUrl); + await HttpClientAuthenticator.Authenticate(new RemoteServiceHttpClientAuthenticateContext(client, requestMessage, new RemoteServiceConfiguration("/"), string.Empty)); + var response = await client.SendAsync(requestMessage); + dynamicClaims = JsonSerializer.Deserialize>(await response.Content.ReadAsStringAsync()); + Logger.LogDebug($"Successfully got {dynamicClaims.Count} remote claims for user: {userId}"); + } + catch (Exception e) + { + Logger.LogWarning(e, $"Failed to get remote claims for user: {userId}"); + } + return dynamicClaims; + }, () => new DistributedCacheEntryOptions + { + AbsoluteExpirationRelativeToNow = CacheOptions.Value.CacheAbsoluteExpiration + }))!; + } + + public virtual async Task ClearAsync(Guid userId, Guid? tenantId = null) + { + Logger.LogDebug($"Clear dynamic claims cache for user: {userId}"); + Logger.LogDebug($"Clear dynamic claims cache from remote cache for user: {userId}"); + await Cache.RemoveAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)); + await Cache.RemoveAsync($"{nameof(RemoteDynamicClaimsPrincipalContributorCache)}{AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)}"); + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs new file mode 100644 index 0000000000..c8e31b1269 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs @@ -0,0 +1,13 @@ +using System; + +namespace Volo.Abp.AspNetCore.Mvc.Client; + +public class RemoteDynamicClaimsPrincipalContributorCacheOptions +{ + public TimeSpan CacheAbsoluteExpiration { get; set; } + + public RemoteDynamicClaimsPrincipalContributorCacheOptions() + { + CacheAbsoluteExpiration = TimeSpan.FromSeconds(5); + } +} diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs index 5f3bf47997..9705c1e2e6 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs @@ -1,7 +1,9 @@ using System; +using System.Collections.Generic; using System.Text; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Modularity; +using Volo.Abp.Security.Claims; using Volo.Abp.Security.Encryption; using Volo.Abp.SecurityLog; @@ -9,6 +11,11 @@ namespace Volo.Abp.Security; public class AbpSecurityModule : AbpModule { + public override void PostConfigureServices(ServiceConfigurationContext context) + { + AutoAddClaimsPrincipalContributors(context.Services); + } + public override void ConfigureServices(ServiceConfigurationContext context) { var applicationName = context.Services.GetApplicationName(); @@ -51,4 +58,35 @@ public class AbpSecurityModule : AbpModule } }); } + + + private static void AutoAddClaimsPrincipalContributors(IServiceCollection services) + { + var contributorTypes = new List(); + + services.OnRegistered(context => + { + if (typeof(IAbpClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType) && + !typeof(IAbpDynamicClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType)) + { + contributorTypes.Add(context.ImplementationType); + } + }); + + var dynamicContributorTypes = new List(); + + services.OnRegistered(context => + { + if (typeof(IAbpDynamicClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType)) + { + dynamicContributorTypes.Add(context.ImplementationType); + } + }); + + services.Configure(options => + { + options.Contributors.AddIfNotContains(contributorTypes); + options.DynamicContributors.AddIfNotContains(dynamicContributorTypes); + }); + } } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs index fa4850cb96..02f15e2478 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs @@ -14,4 +14,11 @@ public class AbpClaimCacheItem Type = type; Value = value; } + + + public static string CalculateCacheKey(Guid userId, Guid? tenantId) + { + return $"{tenantId}-{userId}"; + } + } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs index 3d96a32205..5f027f6862 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs @@ -11,7 +11,7 @@ public class AbpClaimsPrincipalFactoryOptions public List DynamicClaims { get; } - public string RemoteRefreshUrl { get; set; } + public string RemoteUrl { get; set; } public AbpClaimsPrincipalFactoryOptions() { @@ -21,12 +21,15 @@ public class AbpClaimsPrincipalFactoryOptions DynamicClaims = new List { AbpClaimTypes.UserName, + AbpClaimTypes.Name, + AbpClaimTypes.SurName, AbpClaimTypes.Role, AbpClaimTypes.Email, AbpClaimTypes.EmailVerified, AbpClaimTypes.PhoneNumber, AbpClaimTypes.PhoneNumberVerified }; - RemoteRefreshUrl = "/api/account/refresh-dynamic-claims"; + + RemoteUrl = "/api/account/dynamic-claims"; } } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs new file mode 100644 index 0000000000..55f2dc96a6 --- /dev/null +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs @@ -0,0 +1,74 @@ +using System.Collections.Generic; +using System.Linq; +using System.Security.Claims; +using System.Security.Principal; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.Security.Claims; + +public abstract class AbpDynamicClaimsPrincipalContributorBase : IAbpDynamicClaimsPrincipalContributor, ITransientDependency +{ + public abstract Task ContributeAsync(AbpClaimsPrincipalContributorContext context); + + protected virtual async Task MapCommonClaimsAsync(ClaimsIdentity identity, List dynamicClaims) + { + await MapClaimsAsync(identity, dynamicClaims, identity.NameClaimType, "preferred_username"); + await MapClaimsAsync(identity, dynamicClaims, identity.NameClaimType, ClaimTypes.Name); + await MapClaimsAsync(identity, dynamicClaims, identity.RoleClaimType, "role"); + await MapClaimsAsync(identity, dynamicClaims, identity.RoleClaimType, ClaimTypes.Role); + await MapClaimsAsync(identity, dynamicClaims, "email", ClaimTypes.Email); + await MapClaimsAsync(identity, dynamicClaims, "family_name", ClaimTypes.Surname); + await MapClaimsAsync(identity, dynamicClaims, "given_name", ClaimTypes.GivenName); + } + + protected virtual Task MapClaimsAsync(ClaimsIdentity identity, List dynamicClaims, string sourceType, string targetType) + { + if (sourceType == targetType) + { + return Task.CompletedTask;; + } + + if (identity.Claims.Any(c => c.Type == sourceType) && dynamicClaims.All(c => c.Type != sourceType)) + { + var claims = dynamicClaims.Where(c => c.Type == targetType).ToList(); + if (!claims.IsNullOrEmpty()) + { + identity.RemoveAll(sourceType); + identity.AddClaims(claims.Select(c => new Claim(sourceType, c.Value))); + dynamicClaims.RemoveAll(c => c.Type == targetType); + } + } + + if (identity.Claims.Any(c => c.Type == targetType) && dynamicClaims.All(c => c.Type != targetType)) + { + var claims = dynamicClaims.Where(c => c.Type == sourceType).ToList(); + if (!claims.IsNullOrEmpty()) + { + identity.RemoveAll(targetType); + identity.AddClaims(claims.Select(c => new Claim(targetType, c.Value))); + dynamicClaims.RemoveAll(c => c.Type == sourceType); + } + } + + return Task.CompletedTask;; + } + + protected virtual Task AddDynamicClaims(ClaimsIdentity identity, List dynamicClaims) + { + foreach (var claims in dynamicClaims.GroupBy(x => x.Type)) + { + if (claims.Count() > 1) + { + identity.RemoveAll(claims.First().Type); + identity.AddClaims(claims.Select(c => new Claim(claims.First().Type, c.Value))); + } + else + { + identity.AddOrReplace(new Claim(claims.First().Type, claims.First().Value)); + } + } + + return Task.CompletedTask;; + } +} diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs new file mode 100644 index 0000000000..dde236c363 --- /dev/null +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs @@ -0,0 +1,6 @@ +namespace Volo.Abp.Security.Claims; + +public interface IAbpDynamicClaimsPrincipalContributor : IAbpClaimsPrincipalContributor +{ + +} diff --git a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs index b444fa3ded..7726c2fe12 100644 --- a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs +++ b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs @@ -2,8 +2,8 @@ using System.Security.Claims; using System.Security.Principal; using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; using Shouldly; +using Volo.Abp.DependencyInjection; using Volo.Abp.Testing; using Xunit; @@ -25,26 +25,6 @@ public class AbpClaimsPrincipalFactory_Test : AbpIntegratedTest(options => - { - options.Contributors.Add(); - options.Contributors.Add(); - options.Contributors.Add(); - - options.DynamicContributors.Add(); - options.DynamicContributors.Add(); - options.DynamicContributors.Add(); - options.DynamicContributors.Add(); - }); - - services.AddTransient(); - services.AddTransient(); - services.AddTransient(); - services.AddTransient(); - } - [Fact] public async Task CreateAsync() { @@ -99,7 +79,52 @@ public class AbpClaimsPrincipalFactory_Test : AbpIntegratedTest x.Type == ClaimTypes.Version && x.Value == "2.0"); } - class TestAbpClaimsPrincipalContributor : IAbpClaimsPrincipalContributor + class TestAbpClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency + { + public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) + { + var claimsIdentity = context.ClaimsPrincipal.Identities.FirstOrDefault(x => x.AuthenticationType == TestAuthenticationType) + ?? new ClaimsIdentity(TestAuthenticationType); + + claimsIdentity.AddOrReplace(new Claim(ClaimTypes.Email, "admin@abp.io")); + + context.ClaimsPrincipal.AddIdentityIfNotContains(claimsIdentity); + + return Task.CompletedTask; + } + } + + class Test2AbpClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency + { + public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) + { + var claimsIdentity = context.ClaimsPrincipal.Identities.FirstOrDefault(x => x.AuthenticationType == TestAuthenticationType) + ?? new ClaimsIdentity(TestAuthenticationType); + + claimsIdentity.AddOrReplace(new Claim(ClaimTypes.Email, "admin2@abp.io")); + + context.ClaimsPrincipal.AddIdentityIfNotContains(claimsIdentity); + + return Task.CompletedTask; + } + } + + class Test3AbpClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency + { + public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) + { + var claimsIdentity = context.ClaimsPrincipal.Identities.FirstOrDefault(x => x.AuthenticationType == TestAuthenticationType) + ?? new ClaimsIdentity(TestAuthenticationType); + + claimsIdentity.AddOrReplace(new Claim(ClaimTypes.Version, "2.0")); + + context.ClaimsPrincipal.AddIdentityIfNotContains(claimsIdentity); + + return Task.CompletedTask; + } + } + + class TestAbpDynamicClaimsPrincipalContributor : IAbpDynamicClaimsPrincipalContributor, ITransientDependency { public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) { @@ -114,7 +139,7 @@ public class AbpClaimsPrincipalFactory_Test : AbpIntegratedTest> GetAsync(); +} diff --git a/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs new file mode 100644 index 0000000000..ebe9e06cb7 --- /dev/null +++ b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Options; +using Volo.Abp.Identity; +using Volo.Abp.Security.Claims; + +namespace Volo.Abp.Account; + +[Authorize] +public class DynamicClaimsAppService : IdentityAppServiceBase, IDynamicClaimsAppService +{ + protected IAbpClaimsPrincipalFactory AbpClaimsPrincipalFactory { get; } + protected ICurrentPrincipalAccessor PrincipalAccessor { get; } + protected IOptions AbpClaimsPrincipalFactoryOptions { get; } + + public DynamicClaimsAppService( + IAbpClaimsPrincipalFactory abpClaimsPrincipalFactory, + ICurrentPrincipalAccessor principalAccessor, + IOptions abpClaimsPrincipalFactoryOptions) + { + AbpClaimsPrincipalFactory = abpClaimsPrincipalFactory; + PrincipalAccessor = principalAccessor; + AbpClaimsPrincipalFactoryOptions = abpClaimsPrincipalFactoryOptions; + } + + public virtual async Task> GetAsync() + { + var principal = await AbpClaimsPrincipalFactory.CreateAsync(PrincipalAccessor.Principal); + + var dynamicClaims = principal.Claims + .Where(c => AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims.Contains(c.Type)) + .Select(c => new DynamicClaimDto + { + Type = c.Type, + Value = c.Value + }); + + return dynamicClaims.ToList(); + } +} diff --git a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs new file mode 100644 index 0000000000..d460483a8d --- /dev/null +++ b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs @@ -0,0 +1,24 @@ +// This file is automatically generated by ABP framework to use MVC Controllers from CSharp +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Account; +using Volo.Abp.Application.Dtos; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.ClientProxying; +using Volo.Abp.Http.Modeling; + +// ReSharper disable once CheckNamespace +namespace Volo.Abp.Account; + +[Dependency(ReplaceServices = true)] +[ExposeServices(typeof(IDynamicClaimsAppService), typeof(DynamicClaimsClientProxy))] +public partial class DynamicClaimsClientProxy : ClientProxyBase, IDynamicClaimsAppService +{ + public virtual async Task> GetAsync() + { + return await RequestAsync>(nameof(GetAsync)); + } +} diff --git a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.cs b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.cs new file mode 100644 index 0000000000..da398d8951 --- /dev/null +++ b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.cs @@ -0,0 +1,7 @@ +// This file is part of DynamicClaimsClientProxy, you can customize it here +// ReSharper disable once CheckNamespace +namespace Volo.Abp.Account; + +public partial class DynamicClaimsClientProxy +{ +} diff --git a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json index 24bd9c6079..857c27a3cd 100644 --- a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json +++ b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json @@ -338,6 +338,47 @@ } } }, + "Volo.Abp.Account.DynamicClaimsController": { + "controllerName": "DynamicClaims", + "controllerGroupName": "DynamicClaims", + "isRemoteService": true, + "isIntegrationService": false, + "apiVersion": null, + "type": "Volo.Abp.Account.DynamicClaimsController", + "interfaces": [ + { + "type": "Volo.Abp.Account.IDynamicClaimsAppService", + "name": "IDynamicClaimsAppService", + "methods": [ + { + "name": "GetAsync", + "parametersOnMethod": [], + "returnValue": { + "type": "System.Collections.Generic.List", + "typeSimple": "[Volo.Abp.Account.DynamicClaimDto]" + } + } + ] + } + ], + "actions": { + "GetAsync": { + "uniqueName": "GetAsync", + "name": "GetAsync", + "httpMethod": "GET", + "url": "api/account/dynamic-claims", + "supportedVersions": [], + "parametersOnMethod": [], + "parameters": [], + "returnValue": { + "type": "System.Collections.Generic.List", + "typeSimple": "[Volo.Abp.Account.DynamicClaimDto]" + }, + "allowAnonymous": null, + "implementFrom": "Volo.Abp.Account.IDynamicClaimsAppService" + } + } + }, "Volo.Abp.Account.ProfileController": { "controllerName": "Profile", "controllerGroupName": "Profile", diff --git a/modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs b/modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs new file mode 100644 index 0000000000..85587478ed --- /dev/null +++ b/modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc; + +namespace Volo.Abp.Account; + +[RemoteService(Name = AccountRemoteServiceConsts.RemoteServiceName)] +[Area(AccountRemoteServiceConsts.ModuleName)] +[ControllerName("DynamicClaims")] +[Route("/api/account/dynamic-claims")] +public class DynamicClaimsController : AbpControllerBase, IDynamicClaimsAppService +{ + protected IDynamicClaimsAppService DynamicClaimsAppService { get; } + + public DynamicClaimsController(IDynamicClaimsAppService dynamicClaimsAppService) + { + DynamicClaimsAppService = dynamicClaimsAppService; + } + + [HttpGet] + public virtual Task> GetAsync() + { + return DynamicClaimsAppService.GetAsync(); + } +} diff --git a/modules/account/src/Volo.Abp.Account.Web/wwwroot/client-proxies/account-proxy.js b/modules/account/src/Volo.Abp.Account.Web/wwwroot/client-proxies/account-proxy.js index 2e291710d5..d3c29354ef 100644 --- a/modules/account/src/Volo.Abp.Account.Web/wwwroot/client-proxies/account-proxy.js +++ b/modules/account/src/Volo.Abp.Account.Web/wwwroot/client-proxies/account-proxy.js @@ -79,6 +79,21 @@ })(); + // controller volo.abp.account.dynamicClaims + + (function(){ + + abp.utils.createNamespace(window, 'volo.abp.account.dynamicClaims'); + + volo.abp.account.dynamicClaims.get = function(ajaxParams) { + return abp.ajax($.extend(true, { + url: abp.appPath + 'api/account/dynamic-claims', + type: 'GET' + }, ajaxParams)); + }; + + })(); + // controller volo.abp.account.profile (function(){ diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs index 536171837a..354e7e4586 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs @@ -62,11 +62,6 @@ public class AbpIdentityDomainModule : AbpModule }); context.Services.AddAbpDynamicOptions(); - - Configure(options => - { - options.DynamicContributors.Add(); - }); } public override void PostConfigureServices(ServiceConfigurationContext context) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs index 4556723fe9..6572c08b7a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs @@ -1,15 +1,13 @@ using System.Linq; -using System.Security.Claims; using System.Security.Principal; using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; using Volo.Abp.Security.Claims; namespace Volo.Abp.Identity; -public class IdentityDynamicClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency +public class IdentityDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincipalContributorBase { - public virtual async Task ContributeAsync(AbpClaimsPrincipalContributorContext context) + public async override Task ContributeAsync(AbpClaimsPrincipalContributorContext context) { var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); var userId = identity?.FindUserId(); @@ -18,11 +16,10 @@ public class IdentityDynamicClaimsPrincipalContributor : IAbpClaimsPrincipalCont return; } - var cache = context.GetRequiredService(); - var dynamicClaims = await cache.GetAsync(userId.Value, identity.FindTenantId()); - foreach (var claim in dynamicClaims) - { - identity.AddOrReplace(new Claim(claim.Type, claim.Value)); - } + var dynamicClaimsCache = context.GetRequiredService(); + var dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); + + await MapCommonClaimsAsync(identity, dynamicClaims); + await AddDynamicClaims(identity, dynamicClaims); } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs index 9102be79c5..7006a97176 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; -using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using Volo.Abp.Caching; using Volo.Abp.DependencyInjection; @@ -16,45 +16,64 @@ namespace Volo.Abp.Identity; public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependency { - protected IServiceProvider ServiceProvider { get; } + public ILogger Logger { get; set; } - public IdentityDynamicClaimsPrincipalContributorCache(IServiceProvider serviceProvider) + protected IDistributedCache> Cache { get; } + protected ICurrentTenant CurrentTenant { get; } + protected IdentityUserManager UserManager { get; } + protected IUserClaimsPrincipalFactory UserClaimsPrincipalFactory { get; } + protected IOptions AbpClaimsPrincipalFactoryOptions { get; } + protected IOptions CacheOptions { get; } + + public IdentityDynamicClaimsPrincipalContributorCache( + IDistributedCache> cache, + ICurrentTenant currentTenant, + IdentityUserManager userManager, + IUserClaimsPrincipalFactory userClaimsPrincipalFactory, + IOptions abpClaimsPrincipalFactoryOptions, + IOptions cacheOptions) { - this.ServiceProvider = serviceProvider; + Cache = cache; + CurrentTenant = currentTenant; + UserManager = userManager; + UserClaimsPrincipalFactory = userClaimsPrincipalFactory; + AbpClaimsPrincipalFactoryOptions = abpClaimsPrincipalFactoryOptions; + CacheOptions = cacheOptions; + + Logger = NullLogger.Instance; } public virtual async Task> GetAsync(Guid userId, Guid? tenantId = null) { - var logger = ServiceProvider.GetRequiredService>(); - logger.LogDebug($"Get dynamic claims cache for user: {userId}"); - - var cache = ServiceProvider.GetRequiredService>>(); + Logger.LogDebug($"Get dynamic claims cache for user: {userId}"); - return await cache.GetOrAddAsync($"{nameof(IdentityDynamicClaimsPrincipalContributorCache)}_{tenantId}_{userId}", async () => + return await Cache.GetOrAddAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId), async () => { - using (ServiceProvider.GetRequiredService().Change(tenantId)) + using (CurrentTenant.Change(tenantId)) { - logger.LogDebug($"Filling dynamic claims cache for user: {userId}"); - var userManager = ServiceProvider.GetRequiredService(); - var user = await userManager.FindByIdAsync(userId.ToString()); + Logger.LogDebug($"Filling dynamic claims cache for user: {userId}"); + + var user = await UserManager.FindByIdAsync(userId.ToString()); if (user == null) { - logger.LogWarning($"User not found: {userId}"); + Logger.LogWarning($"User not found: {userId}"); return new List(); } - var factory = ServiceProvider.GetRequiredService>(); - var principal = await factory.CreateAsync(user); - var options = ServiceProvider.GetRequiredService>().Value; - return principal.Identities.FirstOrDefault()?.Claims.Where(c => options.DynamicClaims.Contains(c.Type)).Select(c => new AbpClaimCacheItem(c.Type, c.Value)).ToList(); + + var principal = await UserClaimsPrincipalFactory.CreateAsync(user); + return principal.Identities.FirstOrDefault()?.Claims + .Where(c => AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims.Contains(c.Type)) + .Select(c => new AbpClaimCacheItem(c.Type, c.Value)).ToList(); } + }, () => new DistributedCacheEntryOptions + { + AbsoluteExpirationRelativeToNow = CacheOptions.Value.CacheAbsoluteExpiration }); } public virtual async Task ClearAsync(Guid userId, Guid? tenantId = null) { - var cache = ServiceProvider.GetRequiredService>>(); - var logger = ServiceProvider.GetRequiredService>(); - logger.LogDebug($"Clearing dynamic claims cache for user: {userId}"); - await cache.RemoveAsync($"{nameof(IdentityDynamicClaimsPrincipalContributorCache)}_{tenantId}_{userId}"); + Logger.LogDebug($"Clearing dynamic claims cache for user: {userId}"); + await Cache.RemoveAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)); } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCacheOptions.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCacheOptions.cs new file mode 100644 index 0000000000..3387f6cda5 --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCacheOptions.cs @@ -0,0 +1,13 @@ +using System; + +namespace Volo.Abp.Identity; + +public class IdentityDynamicClaimsPrincipalContributorCacheOptions +{ + public TimeSpan CacheAbsoluteExpiration { get; set; } + + public IdentityDynamicClaimsPrincipalContributorCacheOptions() + { + CacheAbsoluteExpiration = TimeSpan.FromHours(1); + } +} diff --git a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory_Tests.cs b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory_Tests.cs index 60a62cda1e..cf9b339cc1 100644 --- a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory_Tests.cs +++ b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory_Tests.cs @@ -2,6 +2,7 @@ using System.Security.Claims; using System.Security.Principal; using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; using Shouldly; using Volo.Abp.DependencyInjection; using Volo.Abp.Security.Claims; @@ -22,6 +23,11 @@ public class AbpUserClaimsPrincipalFactory_Tests : AbpIdentityDomainTestBase _testData = GetRequiredService(); } + protected override void AfterAddApplication(IServiceCollection services) + { + services.AddTransient(); + } + [Fact] public async Task Add_And_Replace_Claims_Test() { @@ -42,7 +48,7 @@ public class AbpUserClaimsPrincipalFactory_Tests : AbpIdentityDomainTestBase }); } - class TestAbpClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency + class TestAbpClaimsPrincipalContributor : IAbpClaimsPrincipalContributor { //https://github.com/dotnet/aspnetcore/blob/v5.0.0/src/Identity/Extensions.Core/src/UserClaimsPrincipalFactory.cs#L79 private static string IdentityAuthenticationType => "Identity.Application"; diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs index 2a5a34c7e5..95b2563438 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs @@ -211,6 +211,7 @@ public class MyProjectNameAuthServerModule : AbpModule app.UseMultiTenancy(); } + app.UseDynamicClaims(); app.UseUnitOfWork(); app.UseAuthorization(); app.UseAuditing(); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs index 04ae40fea8..dd890d4dc6 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs @@ -44,6 +44,7 @@ using Volo.Abp.Identity.Blazor.Server; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.MultiTenancy; +using Volo.Abp.Security.Claims; using Volo.Abp.SettingManagement.Blazor.Server; using Volo.Abp.Swashbuckle; using Volo.Abp.TenantManagement.Blazor.Server; @@ -188,7 +189,7 @@ public class MyProjectNameBlazorModule : AbpModule * This configuration is used when the AuthServer is running on the internal network such as docker or k8s. * Configuring the redirecting URLs for internal network and the web * The login and the logout URLs are configured to redirect to the AuthServer real DNS for browser. - * The token acquired and validated from the the internal network AuthServer URL. + * The token acquired and validated from the the internal network AuthServer URL. */ if (configuration.GetValue("AuthServer:IsContainerized")) { @@ -227,6 +228,11 @@ public class MyProjectNameBlazorModule : AbpModule }; }); } + + context.Services.Configure(options => + { + options.RemoteUrl = configuration["AuthServer:Authority"] + options.RemoteUrl; + }); } private void ConfigureVirtualFileSystem(IWebHostEnvironment hostingEnvironment) @@ -351,7 +357,7 @@ public class MyProjectNameBlazorModule : AbpModule { app.UseMultiTenancy(); } - + app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); app.UseAbpSwaggerUI(options => diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs index e13c32cbf4..0bb20fa36e 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs @@ -265,7 +265,7 @@ public class MyProjectNameBlazorModule : AbpModule { app.UseMultiTenancy(); } - + app.UseDynamicClaims(); app.UseUnitOfWork(); app.UseAuthorization(); app.UseSwagger(); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs index 84abc220c8..a323ff8dcd 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs @@ -15,6 +15,7 @@ using Volo.Abp.AutoMapper; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; using Volo.Abp.Identity.Blazor.WebAssembly; +using Volo.Abp.Security.Claims; using Volo.Abp.SettingManagement.Blazor.WebAssembly; using Volo.Abp.TenantManagement.Blazor.WebAssembly; @@ -80,6 +81,11 @@ public class MyProjectNameBlazorModule : AbpModule options.ProviderOptions.DefaultScopes.Add("email"); options.ProviderOptions.DefaultScopes.Add("phone"); }); + + builder.Services.Configure(options => + { + options.RemoteUrl = builder.Configuration["AuthServer:Authority"] + options.RemoteUrl; + }); } private static void ConfigureUI(WebAssemblyHostBuilder builder) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs index 48a250aa4f..d277aa4039 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs @@ -24,6 +24,7 @@ using Volo.Abp.Autofac; using Volo.Abp.Caching; using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp.DistributedLocking; +using Volo.Abp.Identity; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Swashbuckle; @@ -188,7 +189,7 @@ public class MyProjectNameHttpApiHostModule : AbpModule { app.UseMultiTenancy(); } - + app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs index fe71a42e9a..238339b1cf 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs @@ -198,7 +198,7 @@ public class MyProjectNameHttpApiHostModule : AbpModule { app.UseMultiTenancy(); } - + app.UseDynamicClaims(); app.UseUnitOfWork(); app.UseAuthorization(); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index b59c0bcf08..55a5a4cfdb 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -20,6 +20,7 @@ + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs index fd20023627..01ed6034f8 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs @@ -38,6 +38,7 @@ using Volo.Abp.Identity.Web; using Volo.Abp.Modularity; using Volo.Abp.MultiTenancy; using Volo.Abp.PermissionManagement.Web; +using Volo.Abp.Security.Claims; using Volo.Abp.SettingManagement.Web; using Volo.Abp.Swashbuckle; using Volo.Abp.TenantManagement.Web; @@ -170,7 +171,7 @@ public class MyProjectNameWebModule : AbpModule * This configuration is used when the AuthServer is running on the internal network such as docker or k8s. * Configuring the redirecting URLs for internal network and the web * The login and the logout URLs are configured to redirect to the AuthServer real DNS for browser. - * The token acquired and validated from the the internal network AuthServer URL. + * The token acquired and validated from the the internal network AuthServer URL. */ if (configuration.GetValue("AuthServer:IsContainerized")) { @@ -209,6 +210,11 @@ public class MyProjectNameWebModule : AbpModule }; }); } + + context.Services.Configure(options => + { + options.RemoteUrl = configuration["AuthServer:Authority"] + options.RemoteUrl; + }); } private void ConfigureAutoMapper() @@ -316,6 +322,7 @@ public class MyProjectNameWebModule : AbpModule app.UseMultiTenancy(); } + app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); app.UseAbpSwaggerUI(options => diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs index f9c8d6a1c2..a259540829 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs @@ -230,6 +230,7 @@ public class MyProjectNameWebModule : AbpModule app.UseMultiTenancy(); } + app.UseDynamicClaims(); app.UseUnitOfWork(); app.UseAuthorization(); app.UseSwagger(); From f6e844851e9edba5d1698b2338887f1a88b8593a Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 9 Nov 2023 12:53:48 +0800 Subject: [PATCH 08/93] Update `UserEntityUpdatedEventHandler `. --- ...yDynamicClaimsPrincipalContributorCache.cs | 8 +------- .../Abp/Identity/UserUpdatedEventHandler.cs | 20 ++++++++++++++++--- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs index 7006a97176..51b16aa88f 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs @@ -53,13 +53,7 @@ public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependen { Logger.LogDebug($"Filling dynamic claims cache for user: {userId}"); - var user = await UserManager.FindByIdAsync(userId.ToString()); - if (user == null) - { - Logger.LogWarning($"User not found: {userId}"); - return new List(); - } - + var user = await UserManager.GetByIdAsync(userId); var principal = await UserClaimsPrincipalFactory.CreateAsync(user); return principal.Identities.FirstOrDefault()?.Claims .Where(c => AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims.Contains(c.Type)) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs index 5a0838e281..d4a84c341a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs @@ -1,3 +1,4 @@ +using System; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; @@ -8,7 +9,10 @@ using Volo.Abp.Uow; namespace Volo.Abp.Identity; -public class UserEntityUpdatedEventHandler : ILocalEventHandler>, ITransientDependency +public class UserEntityUpdatedEventHandler : + ILocalEventHandler>, + ILocalEventHandler>, + ITransientDependency { public ILogger Logger { get; set; } @@ -23,8 +27,18 @@ public class UserEntityUpdatedEventHandler : ILocalEventHandler eventData) { - var userId = eventData.Entity.Id; + await ClearAsync(eventData.Entity.Id, eventData.Entity.TenantId); + } + + [UnitOfWork] + public virtual async Task HandleEventAsync(EntityDeletedEventData eventData) + { + await ClearAsync(eventData.Entity.Id, eventData.Entity.TenantId); + } + + protected virtual async Task ClearAsync(Guid userId, Guid? tenantId) + { Logger.LogDebug($"Clearing dynamic claims cache for user: {userId}"); - await _cache.ClearAsync(userId, eventData.Entity.TenantId); + await _cache.ClearAsync(userId, tenantId); } } From abb8cfc9634ebfa07c7218364aabb359df28bbd0 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 9 Nov 2023 13:46:38 +0800 Subject: [PATCH 09/93] Force to clear the claims principal when user is not found. --- .../Claims/AbpDynamicClaimsMiddleware.cs | 2 +- .../Principal/AbpClaimsIdentityExtensions.cs | 2 +- .../AbpClaimsPrincipalContributorContext.cs | 2 +- .../Claims/AbpClaimsPrincipalFactory.cs | 2 +- ...entityDynamicClaimsPrincipalContributor.cs | 19 ++++++++++++++++++- 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs index 6e2a55ab39..33b7b3f16e 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs @@ -15,7 +15,7 @@ public class AbpDynamicClaimsMiddleware : IMiddleware, ITransientDependency if (currentUser.IsAuthenticated) { var abpClaimsPrincipalFactory = context.RequestServices.GetRequiredService(); - await abpClaimsPrincipalFactory.CreateDynamicAsync(context.User); + context.User = await abpClaimsPrincipalFactory.CreateDynamicAsync(context.User); } await next(context); diff --git a/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs b/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs index d8141a31ed..2661298405 100644 --- a/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs +++ b/framework/src/Volo.Abp.Security/System/Security/Principal/AbpClaimsIdentityExtensions.cs @@ -250,6 +250,7 @@ public static class AbpClaimsIdentityExtensions return claimsIdentity; } + public static ClaimsIdentity AddOrReplace(this ClaimsIdentity claimsIdentity, Claim claim) { Check.NotNull(claimsIdentity, nameof(claimsIdentity)); @@ -275,5 +276,4 @@ public static class AbpClaimsIdentityExtensions return principal; } - } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs index 442bcf867e..6b9aff1a66 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalContributorContext.cs @@ -8,7 +8,7 @@ namespace Volo.Abp.Security.Claims; public class AbpClaimsPrincipalContributorContext { [NotNull] - public ClaimsPrincipal ClaimsPrincipal { get; } + public ClaimsPrincipal ClaimsPrincipal { get; set; } [NotNull] public IServiceProvider ServiceProvider { get; } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs index a55be7a82b..77635d72f4 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs @@ -49,7 +49,7 @@ public class AbpClaimsPrincipalFactory : IAbpClaimsPrincipalFactory, ITransientD await contributor.ContributeAsync(context); } - return claimsPrincipal; + return context.ClaimsPrincipal; } } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs index 6572c08b7a..82f5874d63 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs @@ -1,6 +1,11 @@ +using System; +using System.Collections.Generic; using System.Linq; +using System.Security.Claims; using System.Security.Principal; using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Volo.Abp.Domain.Entities; using Volo.Abp.Security.Claims; namespace Volo.Abp.Identity; @@ -17,7 +22,19 @@ public class IdentityDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincip } var dynamicClaimsCache = context.GetRequiredService(); - var dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); + List dynamicClaims; + try + { + dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); + } + catch (EntityNotFoundException e) + { + // In case if user not found, We force to clear the claims principal. + context.ClaimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity()); + var logger = context.GetRequiredService>(); + logger.LogWarning(e, $"User not found: {userId.Value}"); + return; + } await MapCommonClaimsAsync(identity, dynamicClaims); await AddDynamicClaims(identity, dynamicClaims); From 82a283cef30f758fc3a5796f13a43384d0d7cc6f Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Thu, 9 Nov 2023 14:42:23 +0300 Subject: [PATCH 10/93] fix toolbar issue --- npm/ng-packs/packages/components/page/src/page.module.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/components/page/src/page.module.ts b/npm/ng-packs/packages/components/page/src/page.module.ts index 7baec02188..5bb27fbc66 100644 --- a/npm/ng-packs/packages/components/page/src/page.module.ts +++ b/npm/ng-packs/packages/components/page/src/page.module.ts @@ -9,6 +9,7 @@ import { PageToolbarContainerComponent, } from './page-parts.component'; import { PageComponent } from './page.component'; +import {ExtensibleModule} from "@abp/ng.components/extensible"; const exportedDeclarations = [ PageComponent, @@ -20,7 +21,7 @@ const exportedDeclarations = [ @NgModule({ declarations: [...exportedDeclarations], - imports: [CommonModule, CoreModule, ThemeSharedModule], + imports: [CommonModule, CoreModule, ThemeSharedModule, ExtensibleModule], exports: [...exportedDeclarations], }) export class PageModule {} From a0415c26d7af2f8402cf9d0df33538853ad08a35 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 9 Nov 2023 21:00:25 +0800 Subject: [PATCH 11/93] Update IdentityDynamicClaimsPrincipalContributor.cs --- .../Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs index 82f5874d63..94002c15cf 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs @@ -31,7 +31,7 @@ public class IdentityDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincip { // In case if user not found, We force to clear the claims principal. context.ClaimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity()); - var logger = context.GetRequiredService>(); + var logger = context.GetRequiredService>(); logger.LogWarning(e, $"User not found: {userId.Value}"); return; } From 2ea7e79e1b96f463ca391400719bd1aa4cbcda25 Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Thu, 9 Nov 2023 18:58:15 +0300 Subject: [PATCH 12/93] add missing imports and exports --- npm/ng-packs/packages/account/src/lib/account.module.ts | 2 +- .../packages/theme-shared/src/lib/theme-shared.module.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/account/src/lib/account.module.ts b/npm/ng-packs/packages/account/src/lib/account.module.ts index 8c9e1acea8..58df433232 100644 --- a/npm/ng-packs/packages/account/src/lib/account.module.ts +++ b/npm/ng-packs/packages/account/src/lib/account.module.ts @@ -20,7 +20,7 @@ import { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens'; import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token'; import { AccountExtensionsGuard } from './guards/extensions.guard'; import { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.component'; -import {ExtensibleModule} from "@abp/ng.components/extensible"; +import { ExtensibleModule } from "@abp/ng.components/extensible"; const declarations = [ LoginComponent, diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index ce1d5b40fe..71c081c9b2 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -37,7 +37,7 @@ import { DateParserFormatter } from './utils/date-parser-formatter'; import { CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS } from './tokens/confirmation-icons.token'; import { PasswordComponent } from './components/password/password.component'; import { CardModule } from './components/card/card.module'; -import { AbpVisibleDirective } from './directives'; +import { AbpVisibleDirective, DisabledDirective } from './directives'; import { FormInputComponent } from './components/form-input/form-input.component'; import { FormCheckboxComponent } from './components/checkbox/checkbox.component'; import { tenantNotFoundProvider } from './providers/tenant-not-found.provider'; @@ -70,6 +70,7 @@ const declarationsWithExports = [ NgbPaginationModule, EllipsisModule, CardModule, + DisabledDirective ], declarations: [...declarationsWithExports, HttpErrorWrapperComponent], exports: [ @@ -77,6 +78,9 @@ const declarationsWithExports = [ EllipsisModule, NgxValidateCoreModule, CardModule, + DisabledDirective, + NgxDatatableListDirective, + NgxDatatableDefaultDirective, ...declarationsWithExports, ], providers: [DatePipe], From 59a2227ffc9d5bef305509f697778eea3f481774 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 10 Nov 2023 11:43:51 +0800 Subject: [PATCH 13/93] Update `AbpDynamicClaimsPrincipalContributorBase`. --- ...eDynamicClaimsPrincipalContributorCache.cs | 9 ++- .../Abp/Security/Claims/AbpClaimCacheIteam.cs | 4 +- ...bpDynamicClaimsPrincipalContributorBase.cs | 68 +++++++++++-------- .../Volo/Abp/Account/DynamicClaimDto.cs | 6 ++ .../Abp/Account/DynamicClaimsAppService.cs | 20 ++++-- ...yDynamicClaimsPrincipalContributorCache.cs | 19 +++++- 6 files changed, 82 insertions(+), 44 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs index 33a1dfd5f6..400d42349c 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Net.Http; using System.Threading.Tasks; using Microsoft.Extensions.Caching.Distributed; @@ -59,7 +60,7 @@ public class RemoteDynamicClaimsPrincipalContributorCache : ITransientDependency // Use independent cache for remote claims. return (await Cache.GetOrAddAsync($"{nameof(RemoteDynamicClaimsPrincipalContributorCache)}{AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)}", async () => { - var dynamicClaims = new List(); + var dynamicClaims = AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims.Select(claimType => new AbpClaimCacheItem(claimType, null)).ToList(); Logger.LogDebug($"Get dynamic claims for user: {userId} from remote service."); try { @@ -67,7 +68,11 @@ public class RemoteDynamicClaimsPrincipalContributorCache : ITransientDependency var requestMessage = new HttpRequestMessage(HttpMethod.Get, AbpClaimsPrincipalFactoryOptions.Value.RemoteUrl); await HttpClientAuthenticator.Authenticate(new RemoteServiceHttpClientAuthenticateContext(client, requestMessage, new RemoteServiceConfiguration("/"), string.Empty)); var response = await client.SendAsync(requestMessage); - dynamicClaims = JsonSerializer.Deserialize>(await response.Content.ReadAsStringAsync()); + var remoteClaims = JsonSerializer.Deserialize>(await response.Content.ReadAsStringAsync()); + foreach (var claim in dynamicClaims) + { + claim.Value = remoteClaims.FirstOrDefault(c => c.Type == claim.Type)?.Value; + } Logger.LogDebug($"Successfully got {dynamicClaims.Count} remote claims for user: {userId}"); } catch (Exception e) diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs index 02f15e2478..94241284fe 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs @@ -7,9 +7,9 @@ public class AbpClaimCacheItem { public string Type { get; set; } - public string Value { get; set; } + public string? Value { get; set; } - public AbpClaimCacheItem(string type, string value) + public AbpClaimCacheItem(string type, string? value) { Type = type; Value = value; diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs index 55f2dc96a6..71ec0ae7c2 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs @@ -13,41 +13,41 @@ public abstract class AbpDynamicClaimsPrincipalContributorBase : IAbpDynamicClai protected virtual async Task MapCommonClaimsAsync(ClaimsIdentity identity, List dynamicClaims) { - await MapClaimsAsync(identity, dynamicClaims, identity.NameClaimType, "preferred_username"); - await MapClaimsAsync(identity, dynamicClaims, identity.NameClaimType, ClaimTypes.Name); - await MapClaimsAsync(identity, dynamicClaims, identity.RoleClaimType, "role"); - await MapClaimsAsync(identity, dynamicClaims, identity.RoleClaimType, ClaimTypes.Role); - await MapClaimsAsync(identity, dynamicClaims, "email", ClaimTypes.Email); - await MapClaimsAsync(identity, dynamicClaims, "family_name", ClaimTypes.Surname); - await MapClaimsAsync(identity, dynamicClaims, "given_name", ClaimTypes.GivenName); + await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.UserName, "preferred_username", "unique_name", ClaimTypes.Name); + await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.Role, "role", "roles", ClaimTypes.Role); + await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.Email, "email", ClaimTypes.Email); + await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.SurName, "family_name", ClaimTypes.Surname); + await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.Name, "given_name", ClaimTypes.GivenName); } - protected virtual Task MapClaimsAsync(ClaimsIdentity identity, List dynamicClaims, string sourceType, string targetType) + protected virtual Task MapClaimAsync(ClaimsIdentity identity, List dynamicClaims, string abpClaimType, params string[] dynamicClaimTypes) { - if (sourceType == targetType) + var claims = dynamicClaims.Where(c => dynamicClaimTypes.Contains(c.Type)).ToList(); + if (claims.IsNullOrEmpty()) { - return Task.CompletedTask;; + return Task.CompletedTask; } - if (identity.Claims.Any(c => c.Type == sourceType) && dynamicClaims.All(c => c.Type != sourceType)) + foreach (var claimGroup in claims.GroupBy(x => x.Type)) { - var claims = dynamicClaims.Where(c => c.Type == targetType).ToList(); - if (!claims.IsNullOrEmpty()) + var claim = claimGroup.First(); + if (claimGroup.Count() > 1) { - identity.RemoveAll(sourceType); - identity.AddClaims(claims.Select(c => new Claim(sourceType, c.Value))); - dynamicClaims.RemoveAll(c => c.Type == targetType); + dynamicClaims.RemoveAll(c => c.Type == claim.Type && identity.Claims.All(x => x.Type != claim.Type)); + identity.RemoveAll(abpClaimType); + identity.AddClaims(claimGroup.Where(c => c.Value != null).Select(c => new Claim(abpClaimType, c.Value!))); } - } - - if (identity.Claims.Any(c => c.Type == targetType) && dynamicClaims.All(c => c.Type != targetType)) - { - var claims = dynamicClaims.Where(c => c.Type == sourceType).ToList(); - if (!claims.IsNullOrEmpty()) + else { - identity.RemoveAll(targetType); - identity.AddClaims(claims.Select(c => new Claim(targetType, c.Value))); - dynamicClaims.RemoveAll(c => c.Type == sourceType); + dynamicClaims.RemoveAll(c => c.Type == claim.Type && identity.Claims.All(x => x.Type != claim.Type)); + if (claim.Value != null) + { + identity.AddOrReplace(new Claim(abpClaimType, claim.Value)); + } + else + { + identity.RemoveAll(abpClaimType); + } } } @@ -56,16 +56,24 @@ public abstract class AbpDynamicClaimsPrincipalContributorBase : IAbpDynamicClai protected virtual Task AddDynamicClaims(ClaimsIdentity identity, List dynamicClaims) { - foreach (var claims in dynamicClaims.GroupBy(x => x.Type)) + foreach (var claimGroup in dynamicClaims.GroupBy(x => x.Type)) { - if (claims.Count() > 1) + if (claimGroup.Count() > 1) { - identity.RemoveAll(claims.First().Type); - identity.AddClaims(claims.Select(c => new Claim(claims.First().Type, c.Value))); + identity.RemoveAll(claimGroup.First().Type); + identity.AddClaims(claimGroup.Where(c => c.Value != null).Select(c => new Claim(claimGroup.First().Type, c.Value!))); } else { - identity.AddOrReplace(new Claim(claims.First().Type, claims.First().Value)); + var claim = claimGroup.First(); + if (claim.Value != null) + { + identity.AddOrReplace(new Claim(claimGroup.First().Type, claim.Value)); + } + else + { + identity.RemoveAll(claim.Type); + } } } diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/DynamicClaimDto.cs b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/DynamicClaimDto.cs index 896263e08f..ad5ac82678 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/DynamicClaimDto.cs +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/DynamicClaimDto.cs @@ -5,4 +5,10 @@ public class DynamicClaimDto public string Type { get; set; } public string Value { get; set; } + + public DynamicClaimDto(string type, string value) + { + Type = type; + Value = value; + } } diff --git a/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs index ebe9e06cb7..d32d265d4a 100644 --- a/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs +++ b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs @@ -29,14 +29,20 @@ public class DynamicClaimsAppService : IdentityAppServiceBase, IDynamicClaimsApp { var principal = await AbpClaimsPrincipalFactory.CreateAsync(PrincipalAccessor.Principal); - var dynamicClaims = principal.Claims - .Where(c => AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims.Contains(c.Type)) - .Select(c => new DynamicClaimDto + var dynamicClaims = new List(); + foreach (var claimType in AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims) + { + var claims = principal.Claims.Where(x => x.Type == claimType).ToList(); + if (claims.Any()) { - Type = c.Type, - Value = c.Value - }); + dynamicClaims.AddRange(claims.Select(claim => new DynamicClaimDto(claimType, claim.Value))); + } + else + { + dynamicClaims.Add(new DynamicClaimDto(claimType, null)); + } + } - return dynamicClaims.ToList(); + return dynamicClaims; } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs index 51b16aa88f..f3014adfce 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs @@ -55,9 +55,22 @@ public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependen var user = await UserManager.GetByIdAsync(userId); var principal = await UserClaimsPrincipalFactory.CreateAsync(user); - return principal.Identities.FirstOrDefault()?.Claims - .Where(c => AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims.Contains(c.Type)) - .Select(c => new AbpClaimCacheItem(c.Type, c.Value)).ToList(); + + var dynamicClaims = new List(); + foreach (var claimType in AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims) + { + var claims = principal.Claims.Where(x => x.Type == claimType).ToList(); + if (claims.Any()) + { + dynamicClaims.AddRange(claims.Select(claim => new AbpClaimCacheItem(claimType, claim.Value))); + } + else + { + dynamicClaims.Add(new AbpClaimCacheItem(claimType, null)); + } + } + + return dynamicClaims; } }, () => new DistributedCacheEntryOptions { From 7a52c95434d76c81186649bee8eac3018777aa33 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 10 Nov 2023 14:59:04 +0800 Subject: [PATCH 14/93] Set `CacheAbsoluteExpiration ` to 60 seconds. --- .../RemoteDynamicClaimsPrincipalContributorCacheOptions.cs | 2 +- .../Volo/Abp/Identity/UserUpdatedEventHandler.cs | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs index c8e31b1269..ea7afb5dcb 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs @@ -8,6 +8,6 @@ public class RemoteDynamicClaimsPrincipalContributorCacheOptions public RemoteDynamicClaimsPrincipalContributorCacheOptions() { - CacheAbsoluteExpiration = TimeSpan.FromSeconds(5); + CacheAbsoluteExpiration = TimeSpan.FromSeconds(60); } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs index d4a84c341a..9ac8ad4746 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/UserUpdatedEventHandler.cs @@ -14,14 +14,11 @@ public class UserEntityUpdatedEventHandler : ILocalEventHandler>, ITransientDependency { - public ILogger Logger { get; set; } - private readonly IdentityDynamicClaimsPrincipalContributorCache _cache; public UserEntityUpdatedEventHandler(IdentityDynamicClaimsPrincipalContributorCache cache) { _cache = cache; - Logger = NullLogger.Instance; } [UnitOfWork] @@ -38,7 +35,6 @@ public class UserEntityUpdatedEventHandler : protected virtual async Task ClearAsync(Guid userId, Guid? tenantId) { - Logger.LogDebug($"Clearing dynamic claims cache for user: {userId}"); await _cache.ClearAsync(userId, tenantId); } } From 17b027547e4063c8a58a45e9b98374a42f9f1a06 Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Fri, 10 Nov 2023 11:38:33 +0300 Subject: [PATCH 15/93] Fix lint issues. close No Var eslint rule. --- npm/ng-packs/.eslintrc.json | 2 ++ .../extensible/src/lib/utils/typeahead.util.ts | 10 +++++----- npm/ng-packs/packages/oauth/src/lib/oauth.module.ts | 7 ++++++- .../theme-shared/src/lib/adapters/time.adapter.ts | 2 +- .../packages/theme-shared/src/lib/models/nav-item.ts | 2 +- .../src/lib/services/page-alert.service.ts | 2 -- .../src/lib/tests/form-input.component.spec.ts | 1 - .../src/lib/tests/loader-bar.component.spec.ts | 1 - 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/npm/ng-packs/.eslintrc.json b/npm/ng-packs/.eslintrc.json index f77289919b..8649f90b2d 100644 --- a/npm/ng-packs/.eslintrc.json +++ b/npm/ng-packs/.eslintrc.json @@ -28,9 +28,11 @@ "files": ["*.ts", "*.tsx"], "extends": ["plugin:@nx/typescript"], "rules": { + "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-namespace": "off", "@typescript-eslint/no-empty-function": ["warn"], "@typescript-eslint/no-empty-interface": ["warn"] + } }, { diff --git a/npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts b/npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts index b8038b7a69..eec592ad0c 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts @@ -39,11 +39,11 @@ export function createTypeaheadOptions( } export function getTypeaheadType(lookup: ExtensionPropertyUiLookupDto, name: string) { - return Boolean(lookup.url) - ? ePropType.Typeahead - : name.endsWith(TYPEAHEAD_TEXT_SUFFIX) - ? ePropType.Hidden - : undefined; + if (!!lookup.url) { + return ePropType.Typeahead; + } else { + return name.endsWith(TYPEAHEAD_TEXT_SUFFIX) ? ePropType.Hidden : undefined; + } } export function createTypeaheadDisplayNameGenerator( diff --git a/npm/ng-packs/packages/oauth/src/lib/oauth.module.ts b/npm/ng-packs/packages/oauth/src/lib/oauth.module.ts index a222b6327b..3ee3741d04 100644 --- a/npm/ng-packs/packages/oauth/src/lib/oauth.module.ts +++ b/npm/ng-packs/packages/oauth/src/lib/oauth.module.ts @@ -4,6 +4,7 @@ import { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc'; import { AbpLocalStorageService, ApiInterceptor, + AuthGuard, authGuard, AuthService, CHECK_AUTHENTICATION_STATE_FN_KEY, @@ -14,7 +15,7 @@ import { AbpOAuthService } from './services'; import { OAuthConfigurationHandler } from './handlers/oauth-configuration.handler'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { OAuthApiInterceptor } from './interceptors/api.interceptor'; -import { abpOAuthGuard } from './guards/oauth.guard'; +import { AbpOAuthGuard, abpOAuthGuard } from './guards/oauth.guard'; import { NavigateToManageProfileProvider } from './providers'; import { checkAccessToken, pipeToLogin } from './utils'; @@ -30,6 +31,10 @@ export class AbpOAuthModule { provide: AuthService, useClass: AbpOAuthService, }, + { + provide: AuthGuard, + useClass: AbpOAuthGuard, + }, { provide: authGuard, useValue: abpOAuthGuard, diff --git a/npm/ng-packs/packages/theme-shared/src/lib/adapters/time.adapter.ts b/npm/ng-packs/packages/theme-shared/src/lib/adapters/time.adapter.ts index c51650b8dd..de2c47b349 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/adapters/time.adapter.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/adapters/time.adapter.ts @@ -31,5 +31,5 @@ export class TimeAdapter extends NgbTimeAdapter { } function isTimeStr(value: string | Date): value is string { - return /^((2[123])|[01][0-9])(\:[0-5][0-9]){1,2}$/.test(String(value)); + return /^((2[123])|[01][0-9])(:[0-5][0-9]){1,2}$/.test(String(value)); } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/models/nav-item.ts b/npm/ng-packs/packages/theme-shared/src/lib/models/nav-item.ts index 3afce94a0c..dc98726624 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/models/nav-item.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/models/nav-item.ts @@ -1,5 +1,5 @@ import { Injector, Type } from '@angular/core'; -import { Observable, of } from 'rxjs'; +import { Observable } from 'rxjs'; export interface Badge { count?: number | Observable; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/services/page-alert.service.ts b/npm/ng-packs/packages/theme-shared/src/lib/services/page-alert.service.ts index c66d02c004..22346ab78c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/services/page-alert.service.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/services/page-alert.service.ts @@ -16,8 +16,6 @@ export class PageAlertService { alerts$ = this.alerts.sliceState(state => state); - constructor() {} - show(alert: PageAlert) { const newAlert: PageAlert = { ...alert, diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/form-input.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/form-input.component.spec.ts index 660cb72165..cf4eb4aac3 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/form-input.component.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/form-input.component.spec.ts @@ -1,4 +1,3 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { createHostFactory, SpectatorHost } from '@ngneat/spectator/jest'; import { FormInputComponent } from '../components/form-input/form-input.component'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts index 60b9130ece..db468c4a6d 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts @@ -7,7 +7,6 @@ import { LoaderBarComponent } from '../components/loader-bar/loader-bar.componen describe('LoaderBarComponent', () => { let spectator: Spectator; - let router: SpyObject; const events$ = new Subject(); const createComponent = createComponentFactory({ From 21fa81a55070d8a1e514012a7dfb48d9aa20c632 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 10 Nov 2023 19:24:18 +0800 Subject: [PATCH 16/93] Add `AbpDynamicClaimsOpenIddictClaimsPrincipalHandler`. --- .../AbpOpenIddictAspNetCoreModule.cs | 1 + ...icClaimsOpenIddictClaimsPrincipalHandler.cs | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDynamicClaimsOpenIddictClaimsPrincipalHandler.cs diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs index 23f41900b5..71963e43f5 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs @@ -25,6 +25,7 @@ public class AbpOpenIddictAspNetCoreModule : AbpModule Configure(options => { options.ClaimsPrincipalHandlers.Add(); + options.ClaimsPrincipalHandlers.Add(); }); Configure(options => diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDynamicClaimsOpenIddictClaimsPrincipalHandler.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDynamicClaimsOpenIddictClaimsPrincipalHandler.cs new file mode 100644 index 0000000000..ec2d92c870 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDynamicClaimsOpenIddictClaimsPrincipalHandler.cs @@ -0,0 +1,18 @@ +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Security.Claims; + +namespace Volo.Abp.OpenIddict; + +public class AbpDynamicClaimsOpenIddictClaimsPrincipalHandler: IAbpOpenIddictClaimsPrincipalHandler, ITransientDependency +{ + public virtual async Task HandleAsync(AbpOpenIddictClaimsPrincipalHandlerContext context) + { + var abpClaimsPrincipalFactory = context + .ScopeServiceProvider + .GetRequiredService(); + + await abpClaimsPrincipalFactory.CreateDynamicAsync(context.Principal); + } +} From 6b9f65390abdb492df50e32eaf212659152a6281 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 10 Nov 2023 21:16:53 +0800 Subject: [PATCH 17/93] Check if `.Token.expires_at` exists. --- .../CookieAuthenticationOptionsExtensions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs index 28537f5179..15e353431e 100644 --- a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs @@ -28,8 +28,8 @@ public static class CookieAuthenticationOptionsExtensions var logger = principalContext.HttpContext.RequestServices.GetRequiredService>(); - var tokenExpiresAt = principalContext.Properties.Items[".Token.expires_at"]; - if (DateTimeOffset.TryParseExact(tokenExpiresAt, "o", null, DateTimeStyles.RoundtripKind, out var expiresAt) && + var tokenExpiresAt = principalContext.Properties.GetString(".Token.expires_at"); + if (!tokenExpiresAt.IsNullOrWhiteSpace() && DateTimeOffset.TryParseExact(tokenExpiresAt, "o", null, DateTimeStyles.RoundtripKind, out var expiresAt) && expiresAt < DateTimeOffset.UtcNow.Subtract(advance.Value)) { logger.LogInformation("The access_token is expired."); From bb36aec36371c947eff7b044f24c0e56e49baef1 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 10 Nov 2023 21:57:44 +0800 Subject: [PATCH 18/93] Add `AbpDynamicClaimsPrincipalContributorBase_Tests`. --- ...bpDynamicClaimsPrincipalContributorBase.cs | 25 +----- ....cs => AbpClaimsPrincipalFactory_Tests.cs} | 4 +- ...micClaimsPrincipalContributorBase_Tests.cs | 77 +++++++++++++++++++ ...t.cs => CurrentPrincipalAccessor_Tests.cs} | 4 +- 4 files changed, 84 insertions(+), 26 deletions(-) rename framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/{AbpClaimsPrincipalFactory_Test.cs => AbpClaimsPrincipalFactory_Tests.cs} (98%) create mode 100644 framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs rename framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/{CurrentPrincipalAccessor_Test.cs => CurrentPrincipalAccessor_Tests.cs} (91%) diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs index 71ec0ae7c2..407dc8fca8 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs @@ -28,28 +28,9 @@ public abstract class AbpDynamicClaimsPrincipalContributorBase : IAbpDynamicClai return Task.CompletedTask; } - foreach (var claimGroup in claims.GroupBy(x => x.Type)) - { - var claim = claimGroup.First(); - if (claimGroup.Count() > 1) - { - dynamicClaims.RemoveAll(c => c.Type == claim.Type && identity.Claims.All(x => x.Type != claim.Type)); - identity.RemoveAll(abpClaimType); - identity.AddClaims(claimGroup.Where(c => c.Value != null).Select(c => new Claim(abpClaimType, c.Value!))); - } - else - { - dynamicClaims.RemoveAll(c => c.Type == claim.Type && identity.Claims.All(x => x.Type != claim.Type)); - if (claim.Value != null) - { - identity.AddOrReplace(new Claim(abpClaimType, claim.Value)); - } - else - { - identity.RemoveAll(abpClaimType); - } - } - } + dynamicClaims.RemoveAll(claims); + identity.RemoveAll(abpClaimType); + identity.AddClaims(claims.Where(c => c.Value != null).Select(c => new Claim(abpClaimType, c.Value!))); return Task.CompletedTask;; } diff --git a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Tests.cs similarity index 98% rename from framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs rename to framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Tests.cs index 7726c2fe12..b8abaff000 100644 --- a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Test.cs +++ b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory_Tests.cs @@ -9,12 +9,12 @@ using Xunit; namespace Volo.Abp.Security.Claims; -public class AbpClaimsPrincipalFactory_Test : AbpIntegratedTest +public class AbpClaimsPrincipalFactory_Tests : AbpIntegratedTest { private readonly IAbpClaimsPrincipalFactory _abpClaimsPrincipalFactory; private static string TestAuthenticationType => "Identity.Application"; - public AbpClaimsPrincipalFactory_Test() + public AbpClaimsPrincipalFactory_Tests() { _abpClaimsPrincipalFactory = GetRequiredService(); diff --git a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs new file mode 100644 index 0000000000..1e03008498 --- /dev/null +++ b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Claims; +using System.Threading.Tasks; +using Shouldly; +using Volo.Abp.Testing; +using Xunit; + +namespace Volo.Abp.Security.Claims; + +class TestAbpDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincipalContributorBase +{ + public async override Task ContributeAsync(AbpClaimsPrincipalContributorContext context) + { + var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); + Check.NotNull(identity, nameof(identity)); + + await MapCommonClaimsAsync(identity, AbpDynamicClaimsPrincipalContributorBase_Tests.DynamicClaims); + await AddDynamicClaims(identity, AbpDynamicClaimsPrincipalContributorBase_Tests.DynamicClaims); + } +} + +public class AbpDynamicClaimsPrincipalContributorBase_Tests : AbpIntegratedTest +{ + private readonly TestAbpDynamicClaimsPrincipalContributor _dynamicClaimsPrincipalContributorBase = new TestAbpDynamicClaimsPrincipalContributor(); + + public readonly static List DynamicClaims = new List(); + + protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) + { + options.UseAutofac(); + } + + [Fact] + public async Task CreateAsync() + { + var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity()); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.UserName, "test-source-userName")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.Name, "test-source-name")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.SurName, "test-source-surname")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.Role, "test-source-role1")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.Role, "test-source-role2")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.Email, "test-source-email")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.EmailVerified, "test-source-emailVerified")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.PhoneNumber, "test-source-phoneNumber")); + claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.PhoneNumberVerified, "test-source-phoneNumberVerified")); + + claimsPrincipal.Identities.First().AddClaim(new Claim("my-claim", "test-source-my-claim")); + + DynamicClaims.AddRange(new [] + { + new AbpClaimCacheItem("preferred_username", "test-preferred_username"), + new AbpClaimCacheItem(ClaimTypes.GivenName, "test-given_name"), + new AbpClaimCacheItem("family_name", "test-family_name"), + new AbpClaimCacheItem("role", "test-role1"), + new AbpClaimCacheItem("roles", "test-role2"), + new AbpClaimCacheItem(ClaimTypes.Role, "test-role3"), + new AbpClaimCacheItem("email", "test-email"), + new AbpClaimCacheItem(AbpClaimTypes.EmailVerified, "test-email-verified"), + new AbpClaimCacheItem(AbpClaimTypes.PhoneNumberVerified, null), + }); + + await _dynamicClaimsPrincipalContributorBase.ContributeAsync(new AbpClaimsPrincipalContributorContext(claimsPrincipal, GetRequiredService())); + + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.UserName && c.Value == "test-preferred_username"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.SurName && c.Value == "test-family_name"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Name && c.Value == "test-given_name"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Role && c.Value == "test-role1"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Role && c.Value == "test-role2"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Email && c.Value == "test-email"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.EmailVerified && c.Value == "test-email-verified"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.PhoneNumber && c.Value == "test-source-phoneNumber"); + claimsPrincipal.Identities.First().Claims.ShouldNotContain(c => c.Type == AbpClaimTypes.PhoneNumberVerified); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == "my-claim" && c.Value == "test-source-my-claim"); + } +} diff --git a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Test.cs b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Tests.cs similarity index 91% rename from framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Test.cs rename to framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Tests.cs index d7c87148f4..bbc18089be 100644 --- a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Test.cs +++ b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Tests.cs @@ -6,11 +6,11 @@ using Xunit; namespace Volo.Abp.Security.Claims; -public class CurrentPrincipalAccessor_Test : AbpIntegratedTest +public class CurrentPrincipalAccessor_Tests : AbpIntegratedTest { private readonly ICurrentPrincipalAccessor _currentPrincipalAccessor; - public CurrentPrincipalAccessor_Test() + public CurrentPrincipalAccessor_Tests() { _currentPrincipalAccessor = GetRequiredService(); } From fe4129d3e38934a37c3012f23cd461580eaa5bf4 Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 11 Nov 2023 10:52:06 +0800 Subject: [PATCH 19/93] Add `ClaimsMap` to `AbpClaimsPrincipalFactoryOptions`. --- ...RemoteDynamicClaimsPrincipalContributor.cs | 3 +- .../AbpClaimsPrincipalFactoryOptions.cs | 12 +++++ ...bpDynamicClaimsPrincipalContributorBase.cs | 53 ++++++------------- ...micClaimsPrincipalContributorBase_Tests.cs | 7 ++- ...entityDynamicClaimsPrincipalContributor.cs | 3 +- 5 files changed, 34 insertions(+), 44 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs index 38d3b7840a..e1f545a995 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs @@ -24,7 +24,6 @@ public class RemoteDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincipal var dynamicClaimsCache = context.GetRequiredService(); var dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); - await MapCommonClaimsAsync(identity, dynamicClaims); - await AddDynamicClaims(identity, dynamicClaims); + await AddDynamicClaimsAsync(context, identity, dynamicClaims); } } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs index 5f027f6862..f2f422b2a3 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Security.Claims; using Volo.Abp.Collections; namespace Volo.Abp.Security.Claims; @@ -13,6 +14,8 @@ public class AbpClaimsPrincipalFactoryOptions public string RemoteUrl { get; set; } + public Dictionary> ClaimsMap { get; set; } + public AbpClaimsPrincipalFactoryOptions() { Contributors = new TypeList(); @@ -31,5 +34,14 @@ public class AbpClaimsPrincipalFactoryOptions }; RemoteUrl = "/api/account/dynamic-claims"; + + ClaimsMap = new Dictionary>() + { + { AbpClaimTypes.UserName, new List { "preferred_username", "unique_name", ClaimTypes.Name }}, + { AbpClaimTypes.Name, new List { "given_name", ClaimTypes.GivenName }}, + { AbpClaimTypes.SurName, new List { "family_name", ClaimTypes.Surname }}, + { AbpClaimTypes.Role, new List { "role", "roles", ClaimTypes.Role }}, + { AbpClaimTypes.Email, new List { "email", ClaimTypes.Email }}, + }; } } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs index 407dc8fca8..2982018650 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Security.Claims; using System.Security.Principal; using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; namespace Volo.Abp.Security.Claims; @@ -11,52 +12,32 @@ public abstract class AbpDynamicClaimsPrincipalContributorBase : IAbpDynamicClai { public abstract Task ContributeAsync(AbpClaimsPrincipalContributorContext context); - protected virtual async Task MapCommonClaimsAsync(ClaimsIdentity identity, List dynamicClaims) + protected virtual async Task AddDynamicClaimsAsync(AbpClaimsPrincipalContributorContext context, ClaimsIdentity identity, List dynamicClaims) { - await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.UserName, "preferred_username", "unique_name", ClaimTypes.Name); - await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.Role, "role", "roles", ClaimTypes.Role); - await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.Email, "email", ClaimTypes.Email); - await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.SurName, "family_name", ClaimTypes.Surname); - await MapClaimAsync(identity, dynamicClaims, AbpClaimTypes.Name, "given_name", ClaimTypes.GivenName); + var options = context.GetRequiredService>().Value; + foreach (var map in options.ClaimsMap) + { + await MapClaimAsync(identity, dynamicClaims, map.Key, map.Value.ToArray()); + } + + foreach (var claimGroup in dynamicClaims.GroupBy(x => x.Type)) + { + identity.RemoveAll(claimGroup.First().Type); + identity.AddClaims(claimGroup.Where(c => c.Value != null).Select(c => new Claim(claimGroup.First().Type, c.Value!))); + } } - protected virtual Task MapClaimAsync(ClaimsIdentity identity, List dynamicClaims, string abpClaimType, params string[] dynamicClaimTypes) + protected virtual Task MapClaimAsync(ClaimsIdentity identity, List dynamicClaims, string targetClaimType, params string[] sourceClaimTypes) { - var claims = dynamicClaims.Where(c => dynamicClaimTypes.Contains(c.Type)).ToList(); + var claims = dynamicClaims.Where(c => sourceClaimTypes.Contains(c.Type)).ToList(); if (claims.IsNullOrEmpty()) { return Task.CompletedTask; } dynamicClaims.RemoveAll(claims); - identity.RemoveAll(abpClaimType); - identity.AddClaims(claims.Where(c => c.Value != null).Select(c => new Claim(abpClaimType, c.Value!))); - - return Task.CompletedTask;; - } - - protected virtual Task AddDynamicClaims(ClaimsIdentity identity, List dynamicClaims) - { - foreach (var claimGroup in dynamicClaims.GroupBy(x => x.Type)) - { - if (claimGroup.Count() > 1) - { - identity.RemoveAll(claimGroup.First().Type); - identity.AddClaims(claimGroup.Where(c => c.Value != null).Select(c => new Claim(claimGroup.First().Type, c.Value!))); - } - else - { - var claim = claimGroup.First(); - if (claim.Value != null) - { - identity.AddOrReplace(new Claim(claimGroup.First().Type, claim.Value)); - } - else - { - identity.RemoveAll(claim.Type); - } - } - } + identity.RemoveAll(targetClaimType); + identity.AddClaims(claims.Where(c => c.Value != null).Select(c => new Claim(targetClaimType, c.Value!))); return Task.CompletedTask;; } diff --git a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs index 1e03008498..d82ae2803a 100644 --- a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs +++ b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs @@ -16,8 +16,7 @@ class TestAbpDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincipalContri var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); Check.NotNull(identity, nameof(identity)); - await MapCommonClaimsAsync(identity, AbpDynamicClaimsPrincipalContributorBase_Tests.DynamicClaims); - await AddDynamicClaims(identity, AbpDynamicClaimsPrincipalContributorBase_Tests.DynamicClaims); + await AddDynamicClaimsAsync(context, identity, AbpDynamicClaimsPrincipalContributorBase_Tests.DynamicClaims); } } @@ -33,7 +32,7 @@ public class AbpDynamicClaimsPrincipalContributorBase_Tests : AbpIntegratedTest< } [Fact] - public async Task CreateAsync() + public async Task AddDynamicClaimsAsync() { var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity()); claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.UserName, "test-source-userName")); @@ -45,7 +44,6 @@ public class AbpDynamicClaimsPrincipalContributorBase_Tests : AbpIntegratedTest< claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.EmailVerified, "test-source-emailVerified")); claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.PhoneNumber, "test-source-phoneNumber")); claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.PhoneNumberVerified, "test-source-phoneNumberVerified")); - claimsPrincipal.Identities.First().AddClaim(new Claim("my-claim", "test-source-my-claim")); DynamicClaims.AddRange(new [] @@ -68,6 +66,7 @@ public class AbpDynamicClaimsPrincipalContributorBase_Tests : AbpIntegratedTest< claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Name && c.Value == "test-given_name"); claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Role && c.Value == "test-role1"); claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Role && c.Value == "test-role2"); + claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Role && c.Value == "test-role3"); claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.Email && c.Value == "test-email"); claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.EmailVerified && c.Value == "test-email-verified"); claimsPrincipal.Identities.First().Claims.ShouldContain(c => c.Type == AbpClaimTypes.PhoneNumber && c.Value == "test-source-phoneNumber"); diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs index 94002c15cf..45093591b6 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs @@ -36,7 +36,6 @@ public class IdentityDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincip return; } - await MapCommonClaimsAsync(identity, dynamicClaims); - await AddDynamicClaims(identity, dynamicClaims); + await AddDynamicClaimsAsync(context, identity, dynamicClaims); } } From 80b6060f2a93c5e92adcaa57fefda00caf3509e9 Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 11 Nov 2023 10:55:41 +0800 Subject: [PATCH 20/93] Update AbpClaimCacheIteam.cs --- .../Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs index 94241284fe..d87e8634b2 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs @@ -15,10 +15,8 @@ public class AbpClaimCacheItem Value = value; } - public static string CalculateCacheKey(Guid userId, Guid? tenantId) { return $"{tenantId}-{userId}"; } - } From 45ea3fa6f60f05409c7cd9c6aac68f66c90f32d0 Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 11 Nov 2023 10:57:56 +0800 Subject: [PATCH 21/93] Update IDynamicClaimsAppService.cs --- .../Volo/Abp/Account/IDynamicClaimsAppService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs index 3d67e44ac3..8702ef5fcd 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs @@ -4,7 +4,7 @@ using Volo.Abp.Application.Services; namespace Volo.Abp.Account; -public interface IDynamicClaimsAppService: IApplicationService +public interface IDynamicClaimsAppService : IApplicationService { Task> GetAsync(); } From 758bc77fd783e1e27fca68ae1b65a365ff70d825 Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 11 Nov 2023 16:08:12 +0800 Subject: [PATCH 22/93] Change the order of `ClaimsPrincipalHandlers`. --- .../Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs index 71963e43f5..2b890c6067 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs @@ -24,8 +24,8 @@ public class AbpOpenIddictAspNetCoreModule : AbpModule Configure(options => { - options.ClaimsPrincipalHandlers.Add(); options.ClaimsPrincipalHandlers.Add(); + options.ClaimsPrincipalHandlers.Add(); }); Configure(options => From 3b09f26e68174a8c197dee2990d519a3a87ee535 Mon Sep 17 00:00:00 2001 From: maliming Date: Sun, 12 Nov 2023 11:35:58 +0800 Subject: [PATCH 23/93] Update `AbpClaimsPrincipalFactory` system. --- .../Volo/Abp/Security/AbpSecurityModule.cs | 9 ++----- .../Claims/AbpClaimsPrincipalFactory.cs | 24 +++++++++++++------ .../AbpClaimsPrincipalFactoryOptions.cs | 4 ++-- .../IAbpDynamicClaimsPrincipalContributor.cs | 6 +++-- 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs index 9705c1e2e6..5abddbd7a0 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/AbpSecurityModule.cs @@ -63,20 +63,15 @@ public class AbpSecurityModule : AbpModule private static void AutoAddClaimsPrincipalContributors(IServiceCollection services) { var contributorTypes = new List(); + var dynamicContributorTypes = new List(); services.OnRegistered(context => { - if (typeof(IAbpClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType) && - !typeof(IAbpDynamicClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType)) + if (typeof(IAbpClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType)) { contributorTypes.Add(context.ImplementationType); } - }); - - var dynamicContributorTypes = new List(); - services.OnRegistered(context => - { if (typeof(IAbpDynamicClaimsPrincipalContributor).IsAssignableFrom(context.ImplementationType)) { dynamicContributorTypes.Add(context.ImplementationType); diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs index 77635d72f4..b0e9fea653 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactory.cs @@ -2,7 +2,6 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -using Volo.Abp.Collections; using Volo.Abp.DependencyInjection; namespace Volo.Abp.Security.Claims; @@ -24,15 +23,15 @@ public class AbpClaimsPrincipalFactory : IAbpClaimsPrincipalFactory, ITransientD public virtual async Task CreateAsync(ClaimsPrincipal? existsClaimsPrincipal = null) { - return await InternalCreateAsync(Options.Contributors, existsClaimsPrincipal); + return await InternalCreateAsync(Options, existsClaimsPrincipal, false); } public virtual async Task CreateDynamicAsync(ClaimsPrincipal? existsClaimsPrincipal = null) { - return await InternalCreateAsync(Options.DynamicContributors, existsClaimsPrincipal); + return await InternalCreateAsync(Options, existsClaimsPrincipal, true); } - public virtual async Task InternalCreateAsync(ITypeList contributorTypes, ClaimsPrincipal? existsClaimsPrincipal = null) + public virtual async Task InternalCreateAsync(AbpClaimsPrincipalFactoryOptions options, ClaimsPrincipal? existsClaimsPrincipal = null, bool isDynamic = false) { using (var scope = ServiceScopeFactory.CreateScope()) { @@ -43,10 +42,21 @@ public class AbpClaimsPrincipalFactory : IAbpClaimsPrincipalFactory, ITransientD var context = new AbpClaimsPrincipalContributorContext(claimsPrincipal, scope.ServiceProvider); - foreach (var contributorType in contributorTypes) + if (!isDynamic) { - var contributor = (IAbpClaimsPrincipalContributor)scope.ServiceProvider.GetRequiredService(contributorType); - await contributor.ContributeAsync(context); + foreach (var contributorType in options.Contributors) + { + var contributor = (IAbpClaimsPrincipalContributor)scope.ServiceProvider.GetRequiredService(contributorType); + await contributor.ContributeAsync(context); + } + } + else + { + foreach (var contributorType in options.DynamicContributors) + { + var contributor = (IAbpDynamicClaimsPrincipalContributor)scope.ServiceProvider.GetRequiredService(contributorType); + await contributor.ContributeAsync(context); + } } return context.ClaimsPrincipal; diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs index f2f422b2a3..0f5b5cdbd6 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs @@ -8,7 +8,7 @@ public class AbpClaimsPrincipalFactoryOptions { public ITypeList Contributors { get; } - public ITypeList DynamicContributors { get; } + public ITypeList DynamicContributors { get; } public List DynamicClaims { get; } @@ -19,7 +19,7 @@ public class AbpClaimsPrincipalFactoryOptions public AbpClaimsPrincipalFactoryOptions() { Contributors = new TypeList(); - DynamicContributors = new TypeList(); + DynamicContributors = new TypeList(); DynamicClaims = new List { diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs index dde236c363..43f73374d7 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/IAbpDynamicClaimsPrincipalContributor.cs @@ -1,6 +1,8 @@ +using System.Threading.Tasks; + namespace Volo.Abp.Security.Claims; -public interface IAbpDynamicClaimsPrincipalContributor : IAbpClaimsPrincipalContributor +public interface IAbpDynamicClaimsPrincipalContributor { - + Task ContributeAsync(AbpClaimsPrincipalContributorContext context); } From 0a3be97a28da606170f625a8179bad9634000c43 Mon Sep 17 00:00:00 2001 From: maliming Date: Sun, 12 Nov 2023 18:53:58 +0800 Subject: [PATCH 24/93] Clear the dynamic cache when user logs in. --- .../IdentityServerSupportedLoginModel.cs | 14 ++++++------ .../Account/OpenIddictSupportedLoginModel.cs | 5 ++++- .../Account/Controllers/AccountController.cs | 15 ++++++++++++- .../Pages/Account/Login.cshtml.cs | 22 ++++++++++++++++--- .../Pages/Account/Register.cshtml.cs | 11 +++++++++- .../Controllers/TokenController.Password.cs | 4 ++++ 6 files changed, 58 insertions(+), 13 deletions(-) diff --git a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs index d04abee6d9..d60c90ce60 100644 --- a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs +++ b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs @@ -10,7 +10,6 @@ using System; using System.Diagnostics; using System.Linq; using System.Security.Claims; -using System.Security.Principal; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; using Volo.Abp.Account.Settings; @@ -32,14 +31,12 @@ public class IdentityServerSupportedLoginModel : LoginModel public IdentityServerSupportedLoginModel( IAuthenticationSchemeProvider schemeProvider, IOptions accountOptions, + IOptions identityOptions, + IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache, IIdentityServerInteractionService interaction, IClientStore clientStore, - IEventService identityServerEvents, - IOptions identityOptions) - : base( - schemeProvider, - accountOptions, - identityOptions) + IEventService identityServerEvents) + : base(schemeProvider, accountOptions, identityOptions, identityDynamicClaimsPrincipalContributorCache) { Interaction = interaction; ClientStore = clientStore; @@ -177,6 +174,9 @@ public class IdentityServerSupportedLoginModel : LoginModel Debug.Assert(user != null, nameof(user) + " != null"); await IdentityServerEvents.RaiseAsync(new UserLoginSuccessEvent(user.UserName, user.Id.ToString(), user.UserName)); //TODO: Use user's name once implemented + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); + return RedirectSafely(ReturnUrl, ReturnUrlHash); } diff --git a/modules/account/src/Volo.Abp.Account.Web.OpenIddict/Pages/Account/OpenIddictSupportedLoginModel.cs b/modules/account/src/Volo.Abp.Account.Web.OpenIddict/Pages/Account/OpenIddictSupportedLoginModel.cs index 10231a2607..d7998eb826 100644 --- a/modules/account/src/Volo.Abp.Account.Web.OpenIddict/Pages/Account/OpenIddictSupportedLoginModel.cs +++ b/modules/account/src/Volo.Abp.Account.Web.OpenIddict/Pages/Account/OpenIddictSupportedLoginModel.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Mvc; using OpenIddict.Server; using OpenIddict.Server.AspNetCore; using Volo.Abp.DependencyInjection; +using Volo.Abp.Identity; using Volo.Abp.MultiTenancy; using Volo.Abp.OpenIddict; @@ -17,12 +18,14 @@ namespace Volo.Abp.Account.Web.Pages.Account; public class OpenIddictSupportedLoginModel : LoginModel { protected AbpOpenIddictRequestHelper OpenIddictRequestHelper { get; } + public OpenIddictSupportedLoginModel( IAuthenticationSchemeProvider schemeProvider, IOptions accountOptions, IOptions identityOptions, + IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache, AbpOpenIddictRequestHelper openIddictRequestHelper) - : base(schemeProvider, accountOptions, identityOptions) + : base(schemeProvider, accountOptions, identityOptions, identityDynamicClaimsPrincipalContributorCache) { OpenIddictRequestHelper = openIddictRequestHelper; } diff --git a/modules/account/src/Volo.Abp.Account.Web/Areas/Account/Controllers/AccountController.cs b/modules/account/src/Volo.Abp.Account.Web/Areas/Account/Controllers/AccountController.cs index 8e93913176..9caff2c187 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Areas/Account/Controllers/AccountController.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Areas/Account/Controllers/AccountController.cs @@ -29,13 +29,15 @@ public class AccountController : AbpControllerBase protected ISettingProvider SettingProvider { get; } protected IdentitySecurityLogManager IdentitySecurityLogManager { get; } protected IOptions IdentityOptions { get; } + protected IdentityDynamicClaimsPrincipalContributorCache IdentityDynamicClaimsPrincipalContributorCache { get; } public AccountController( SignInManager signInManager, IdentityUserManager userManager, ISettingProvider settingProvider, IdentitySecurityLogManager identitySecurityLogManager, - IOptions identityOptions) + IOptions identityOptions, + IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache) { LocalizationResource = typeof(AccountResource); @@ -44,6 +46,7 @@ public class AccountController : AbpControllerBase SettingProvider = settingProvider; IdentitySecurityLogManager = identitySecurityLogManager; IdentityOptions = identityOptions; + IdentityDynamicClaimsPrincipalContributorCache = identityDynamicClaimsPrincipalContributorCache; } [HttpPost] @@ -69,6 +72,16 @@ public class AccountController : AbpControllerBase UserName = login.UserNameOrEmailAddress }); + if (signInResult.Succeeded) + { + var user = await UserManager.FindByNameAsync(login.UserNameOrEmailAddress); + if (user != null) + { + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); + } + } + return GetAbpLoginResult(signInResult); } diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs index d4bb0dbc5e..7b7d4a2b94 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs @@ -52,17 +52,19 @@ public class LoginModel : AccountPageModel protected IAuthenticationSchemeProvider SchemeProvider { get; } protected AbpAccountOptions AccountOptions { get; } protected IOptions IdentityOptions { get; } - + protected IdentityDynamicClaimsPrincipalContributorCache IdentityDynamicClaimsPrincipalContributorCache { get; } public bool ShowCancelButton { get; set; } public LoginModel( IAuthenticationSchemeProvider schemeProvider, IOptions accountOptions, - IOptions identityOptions) + IOptions identityOptions, + IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache) { SchemeProvider = schemeProvider; IdentityOptions = identityOptions; AccountOptions = accountOptions.Value; + IdentityDynamicClaimsPrincipalContributorCache = identityDynamicClaimsPrincipalContributorCache; } public virtual async Task OnGetAsync() @@ -138,6 +140,9 @@ public class LoginModel : AccountPageModel Debug.Assert(user != null, nameof(user) + " != null"); + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); + return RedirectSafely(ReturnUrl, ReturnUrlHash); } @@ -222,8 +227,16 @@ public class LoginModel : AccountPageModel throw new UserFriendlyException("Cannot proceed because user is not allowed!"); } + IdentityUser user; if (result.Succeeded) { + user = await UserManager.FindByLoginAsync(loginInfo.LoginProvider, loginInfo.ProviderKey); + if (user != null) + { + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); + } + return RedirectSafely(returnUrl, returnUrlHash); } @@ -239,7 +252,7 @@ public class LoginModel : AccountPageModel }); } - var user = await UserManager.FindByEmailAsync(email); + user = await UserManager.FindByEmailAsync(email); if (user == null) { return RedirectToPage("./Register", new { @@ -263,6 +276,9 @@ public class LoginModel : AccountPageModel UserName = user.Name }); + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); + return RedirectSafely(returnUrl, returnUrlHash); } diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs index 322a17e82f..9e0a2c191b 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs @@ -46,13 +46,16 @@ public class RegisterModel : AccountPageModel protected IAuthenticationSchemeProvider SchemeProvider { get; } protected AbpAccountOptions AccountOptions { get; } + protected IdentityDynamicClaimsPrincipalContributorCache IdentityDynamicClaimsPrincipalContributorCache { get; } public RegisterModel( IAccountAppService accountAppService, IAuthenticationSchemeProvider schemeProvider, - IOptions accountOptions) + IOptions accountOptions, + IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache) { SchemeProvider = schemeProvider; + IdentityDynamicClaimsPrincipalContributorCache = identityDynamicClaimsPrincipalContributorCache; AccountAppService = accountAppService; AccountOptions = accountOptions.Value; } @@ -159,6 +162,9 @@ public class RegisterModel : AccountPageModel var user = await UserManager.GetByIdAsync(userDto.Id); await SignInManager.SignInAsync(user, isPersistent: true); + + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); } protected virtual async Task RegisterExternalUserAsync(ExternalLoginInfo externalLoginInfo, string userName, string emailAddress) @@ -185,6 +191,9 @@ public class RegisterModel : AccountPageModel } await SignInManager.SignInAsync(user, isPersistent: true, ExternalLoginAuthSchema); + + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); } protected virtual async Task CheckSelfRegistrationAsync() diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs index 9617d4f409..26f826da7a 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs @@ -31,6 +31,7 @@ public partial class TokenController protected IdentitySecurityLogManager IdentitySecurityLogManager => LazyServiceProvider.LazyGetRequiredService(); protected ISettingProvider SettingProvider => LazyServiceProvider.LazyGetRequiredService(); + protected IdentityDynamicClaimsPrincipalContributorCache IdentityDynamicClaimsPrincipalContributorCache => LazyServiceProvider.LazyGetRequiredService(); [UnitOfWork] protected virtual async Task HandlePasswordAsync(OpenIddictRequest request) @@ -334,6 +335,9 @@ public partial class TokenController protected virtual async Task SetSuccessResultAsync(OpenIddictRequest request, IdentityUser user) { + // Clear the dynamic claims cache. + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(user.Id, user.TenantId); + // Create a new ClaimsPrincipal containing the claims that // will be used to create an id_token, a token or a code. var principal = await SignInManager.CreateUserPrincipalAsync(user); From ec0e70528b82c2705c41a4b7c693694373a5b72c Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 13 Nov 2023 08:54:22 +0800 Subject: [PATCH 25/93] Use `OrdinalIgnoreCase` to compare the urls. --- .../SignalR/AbpAspNetCoreSignalRModule.cs | 2 +- .../Auditing/AbpAuditingMiddleware.cs | 4 ++-- .../Security/AbpSecurityHeadersMiddleware.cs | 20 +++++++++---------- .../AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs | 5 +++-- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpAspNetCoreSignalRModule.cs b/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpAspNetCoreSignalRModule.cs index 90795891f9..541b36aa14 100644 --- a/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpAspNetCoreSignalRModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpAspNetCoreSignalRModule.cs @@ -78,7 +78,7 @@ public class AbpAspNetCoreSignalRModule : AbpModule { foreach (var routePattern in routePatterns) { - options.IgnoredUrls.AddIfNotContains(x => routePattern.StartsWith(x), () => routePattern); + options.IgnoredUrls.AddIfNotContains(x => routePattern.StartsWith(x, StringComparison.OrdinalIgnoreCase), () => routePattern); } }); diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs index 0c797a8dc2..0987a8fd8f 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs @@ -100,12 +100,12 @@ public class AbpAuditingMiddleware : IMiddleware, ITransientDependency } if (!AuditingOptions.IsEnabledForIntegrationServices && - context.Request.Path.Value.StartsWith($"/{AbpAspNetCoreConsts.DefaultIntegrationServiceApiPrefix}/")) + context.Request.Path.Value.StartsWith($"/{AbpAspNetCoreConsts.DefaultIntegrationServiceApiPrefix}/", StringComparison.OrdinalIgnoreCase)) { return true; } - if (AspNetCoreAuditingOptions.IgnoredUrls.Any(x => context.Request.Path.Value.StartsWith(x))) + if (AspNetCoreAuditingOptions.IgnoredUrls.Any(x => context.Request.Path.Value.StartsWith(x, StringComparison.OrdinalIgnoreCase))) { return true; } diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/AbpSecurityHeadersMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/AbpSecurityHeadersMiddleware.cs index aea345159a..ae2e3b173b 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/AbpSecurityHeadersMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/AbpSecurityHeadersMiddleware.cs @@ -33,7 +33,7 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency var requestAcceptTypeHtml = context.Request.Headers["Accept"].Any(x => x!.Contains("text/html") || x.Contains("*/*") || x.Contains("application/xhtml+xml")); - + var endpoint = context.GetEndpoint(); if (endpoint?.Metadata.GetMetadata() != null) @@ -42,11 +42,11 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency return; } - if (!requestAcceptTypeHtml - || !Options.Value.UseContentSecurityPolicyHeader - || await AlwaysIgnoreContentTypes(context) + if (!requestAcceptTypeHtml + || !Options.Value.UseContentSecurityPolicyHeader + || await AlwaysIgnoreContentTypes(context) || endpoint == null - || Options.Value.IgnoredScriptNoncePaths.Any(x => context.Request.Path.StartsWithSegments(x.EnsureStartsWith('/')))) + || Options.Value.IgnoredScriptNoncePaths.Any(x => context.Request.Path.StartsWithSegments(x.EnsureStartsWith('/'), StringComparison.OrdinalIgnoreCase))) { AddOtherHeaders(context); await next.Invoke(context); @@ -71,7 +71,7 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency { return Task.CompletedTask; } - + if (context.Response.StatusCode is < 200 or > 299) { return Task.CompletedTask; @@ -85,7 +85,7 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency AddOtherHeaders(context); await next.Invoke(context); } - + private async Task AlwaysIgnoreContentTypes(HttpContext context) { foreach (var selector in Options.Value.IgnoredScriptNonceSelectors) @@ -95,7 +95,7 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency return true; } } - + return false; } @@ -130,7 +130,7 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency var newScriptSrcValue = scriptSrcValue + nonceStr; return Options.Value.ContentSecurityPolicyValue!.Replace(scriptSrcValue!, newScriptSrcValue); } - + protected virtual void AddHeader(HttpContext context, string key, string value, bool overrideIfExists = false) { @@ -142,4 +142,4 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency context.Response.Headers.AddIfNotContains(new KeyValuePair(key, value)); } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs index 894595e2b7..186501b4ac 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Options; @@ -38,6 +39,6 @@ public class AbpUnitOfWorkMiddleware : IMiddleware, ITransientDependency private bool IsIgnoredUrl(HttpContext context) { return context.Request.Path.Value != null && - _options.IgnoredUrls.Any(x => context.Request.Path.Value.StartsWith(x)); + _options.IgnoredUrls.Any(x => context.Request.Path.Value.StartsWith(x, StringComparison.OrdinalIgnoreCase)); } } From bdc0e92f33a5db02c686d4e6b9e38d8923445841 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 13 Nov 2023 09:40:54 +0800 Subject: [PATCH 26/93] Add `SkiaSharp`'s linux and macos assets. --- Directory.Packages.props | 2 ++ .../Volo.Abp.Imaging.SkiaSharp.csproj | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Directory.Packages.props b/Directory.Packages.props index 8a2b1c786c..a6d8cfdc4f 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -141,6 +141,8 @@ + + diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj index 1ebb168c84..857cb0f92f 100644 --- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo.Abp.Imaging.SkiaSharp.csproj @@ -21,6 +21,8 @@ + + From 2d05d9b68de1918064e9936b7c5349ceb1830b92 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 13 Nov 2023 10:39:47 +0800 Subject: [PATCH 27/93] Make `IAbpDaprClientFactory` async. Resolve #18090 --- .../src/Volo.Abp.Dapr/Volo.Abp.Dapr.csproj | 4 ++- .../Volo/Abp/Dapr/AbpDaprClientFactory.cs | 31 ++++++++++++++++--- .../Volo/Abp/Dapr/AbpDaprModule.cs | 14 ++++----- .../Volo/Abp/Dapr/IAbpDaprClientFactory.cs | 5 +-- .../Dapr/DaprAbpDistributedLock.cs | 2 +- .../EventBus/Dapr/DaprDistributedEventBus.cs | 2 +- 6 files changed, 42 insertions(+), 16 deletions(-) diff --git a/framework/src/Volo.Abp.Dapr/Volo.Abp.Dapr.csproj b/framework/src/Volo.Abp.Dapr/Volo.Abp.Dapr.csproj index 34a505110c..3d1a6e9532 100644 --- a/framework/src/Volo.Abp.Dapr/Volo.Abp.Dapr.csproj +++ b/framework/src/Volo.Abp.Dapr/Volo.Abp.Dapr.csproj @@ -11,12 +11,14 @@ + - + + diff --git a/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs index 92a2961cd4..d78b65b5af 100644 --- a/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs +++ b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs @@ -3,9 +3,13 @@ using System.Globalization; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Json; +using System.Threading.Tasks; using Dapr.Client; +using IdentityModel.Client; using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.Authentication; using Volo.Abp.Json.SystemTextJson; using Volo.Abp.MultiTenancy; using Volo.Abp.Tracing; @@ -20,23 +24,26 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency protected ICurrentTenant CurrentTenant { get; } protected ICorrelationIdProvider CorrelationIdProvider { get; } protected IOptions AbpCorrelationIdOptions { get; } + protected IRemoteServiceHttpClientAuthenticator RemoteServiceHttpClientAuthenticator { get; } public AbpDaprClientFactory( IOptions options, IOptions systemTextJsonSerializerOptions, IDaprApiTokenProvider daprApiTokenProvider, ICurrentTenant currentTenant, ICorrelationIdProvider correlationIdProvider, - IOptions abpCorrelationIdOptions) + IOptions abpCorrelationIdOptions, + IRemoteServiceHttpClientAuthenticator remoteServiceHttpClientAuthenticator) { DaprApiTokenProvider = daprApiTokenProvider; CurrentTenant = currentTenant; CorrelationIdProvider = correlationIdProvider; AbpCorrelationIdOptions = abpCorrelationIdOptions; + RemoteServiceHttpClientAuthenticator = remoteServiceHttpClientAuthenticator; DaprOptions = options.Value; JsonSerializerOptions = CreateJsonSerializerOptions(systemTextJsonSerializerOptions.Value); } - public virtual DaprClient Create(Action? builderAction = null) + public virtual Task CreateAsync(Action? builderAction = null) { var builder = new DaprClientBuilder() .UseJsonSerializationOptions(JsonSerializerOptions); @@ -59,10 +66,10 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency builderAction?.Invoke(builder); - return builder.Build(); + return Task.FromResult(builder.Build()); } - public virtual HttpClient CreateHttpClient( + public virtual async Task CreateHttpClientAsync( string? appId = null, string? daprEndpoint = null, string? daprApiToken = null) @@ -81,6 +88,22 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency AddHeaders(httpClient); + var request = new HttpRequestMessage(); + await RemoteServiceHttpClientAuthenticator.Authenticate( + new RemoteServiceHttpClientAuthenticateContext( + httpClient, + request, + new RemoteServiceConfiguration("/"), + string.Empty + ) + ); + + var bearerToken = request.Headers.Authorization?.Parameter; + if (!bearerToken.IsNullOrWhiteSpace()) + { + httpClient.SetBearerToken(bearerToken); + } + return httpClient; } diff --git a/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs index 65605bc342..06c8c0c4bc 100644 --- a/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs +++ b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs @@ -2,13 +2,19 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Volo.Abp.Http.Client; using Volo.Abp.Json; using Volo.Abp.Modularity; using Volo.Abp.MultiTenancy; +using Volo.Abp.RemoteServices; namespace Volo.Abp.Dapr; -[DependsOn(typeof(AbpJsonModule), typeof(AbpMultiTenancyAbstractionsModule))] +[DependsOn( + typeof(AbpJsonModule), + typeof(AbpMultiTenancyAbstractionsModule), + typeof(AbpHttpClientModule) +)] public class AbpDaprModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) @@ -16,12 +22,6 @@ public class AbpDaprModule : AbpModule var configuration = context.Services.GetConfiguration(); ConfigureDaprOptions(configuration); - - context.Services.TryAddSingleton( - serviceProvider => serviceProvider - .GetRequiredService() - .Create() - ); } private void ConfigureDaprOptions(IConfiguration configuration) diff --git a/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs index bbf074af6c..0fdb05ea6d 100644 --- a/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs +++ b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs @@ -1,14 +1,15 @@ using System; using System.Net.Http; +using System.Threading.Tasks; using Dapr.Client; namespace Volo.Abp.Dapr; public interface IAbpDaprClientFactory { - DaprClient Create(Action? builderAction = null); + Task CreateAsync(Action? builderAction = null); - HttpClient CreateHttpClient( + Task CreateHttpClientAsync( string? appId = null, string? daprEndpoint = null, string? daprApiToken = null diff --git a/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs b/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs index 100fece989..335fd3d930 100644 --- a/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs +++ b/framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs @@ -31,7 +31,7 @@ public class DaprAbpDistributedLock : IAbpDistributedLock, ITransientDependency { name = DistributedLockKeyNormalizer.NormalizeKey(name); - var daprClient = DaprClientFactory.Create(); + var daprClient = await DaprClientFactory.CreateAsync(); var lockResponse = await daprClient.Lock( DistributedLockDaprOptions.StoreName, name, diff --git a/framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs b/framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs index f4c3e6242f..ce6dee2cfc 100644 --- a/framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs +++ b/framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs @@ -255,7 +255,7 @@ public class DaprDistributedEventBus : DistributedEventBusBase, ISingletonDepend protected virtual async Task PublishToDaprAsync(string eventName, object eventData, Guid? messageId = null, string? correlationId = null) { - var client = DaprClientFactory.Create(); + var client = await DaprClientFactory.CreateAsync(); var data = new AbpDaprEventData(DaprEventBusOptions.PubSubName, eventName, (messageId ?? GuidGenerator.Create()).ToString("N"), Serializer.SerializeToString(eventData), correlationId); await client.PublishEventAsync(pubsubName: DaprEventBusOptions.PubSubName, topicName: eventName, data: data); } From 2c1fedba4c77ddea86966b490cb24440ea186628 Mon Sep 17 00:00:00 2001 From: selman koc <64414348+skoc10@users.noreply.github.com> Date: Mon, 13 Nov 2023 09:34:47 +0300 Subject: [PATCH 28/93] Update version to release 7.4.2 --- common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.props b/common.props index b2e66d8dd0..e7ecc39b83 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 7.4.1 + 7.4.2 $(NoWarn);CS1591;CS0436 https://abp.io/assets/abp_nupkg.png https://abp.io/ From 7668ba2aa3b4c3c0e9a8f1b28d06c04e09f30ded Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 13 Nov 2023 14:39:19 +0800 Subject: [PATCH 29/93] Update `Dapr` document. --- docs/en/Dapr/Index.md | 30 +++--------------------------- docs/zh-Hans/Dapr/Index.md | 30 +++--------------------------- 2 files changed, 6 insertions(+), 54 deletions(-) diff --git a/docs/en/Dapr/Index.md b/docs/en/Dapr/Index.md index 060b31aac3..464b56ea30 100644 --- a/docs/en/Dapr/Index.md +++ b/docs/en/Dapr/Index.md @@ -60,29 +60,6 @@ Alternatively, you can configure the options in the `Dapr` section of your `apps } ```` -### Injecting DaprClient - -ABP registers the `DaprClient` class to the [dependency injection](../Dependency-Injection.md) system. So, you can inject and use it whenever you need: - -````csharp -public class MyService : ITransientDependency -{ - private readonly DaprClient _daprClient; - - public MyService(DaprClient daprClient) - { - _daprClient = daprClient; - } - - public async Task DoItAsync() - { - // TODO: Use the injected _daprClient object - } -} -```` - -Injecting `DaprClient` is the recommended way of using it in your application code. When you inject it, the `IAbpDaprClientFactory` service is used to create it, which is explained in the next section. - ### IAbpDaprClientFactory `IAbpDaprClientFactory` can be used to create `DaprClient` or `HttpClient` objects to perform operations on Dapr. It uses `AbpDaprOptions`, so you can configure the settings in a central place. @@ -113,15 +90,14 @@ public class MyService : ITransientDependency }); // Create an HttpClient object - HttpClient httpClient = await _daprClientFactory - .CreateHttpClientAsync("target-app-id"); + HttpClient httpClient = await _daprClientFactory.CreateHttpClientAsync("target-app-id"); } } ```` `CreateHttpClientAsync` method also gets optional `daprEndpoint` and `daprApiToken` parameters. -> ABP uses `IAbpDaprClientFactory` when it needs to create a Dapr client. You can also use Dapr API to create client objects in your application. Using `IAbpDaprClientFactory` is recommended, but not required. +> You can use Dapr API to create client objects in your application. Using `IAbpDaprClientFactory` is recommended, but not required. ## C# API Client Proxies Integration @@ -412,7 +388,7 @@ Or you can set it in your `appsettings.json` file: } ```` -Once you set it, it is used when you inject `DaprClient` or use `IAbpDaprClientFactory`. If you need that value in your application, you can inject `IDaprApiTokenProvider` and use its `GetDaprApiToken()` method. +Once you set it, it is used when you use `IAbpDaprClientFactory`. If you need that value in your application, you can inject `IDaprApiTokenProvider` and use its `GetDaprApiToken()` method. ### App API Token diff --git a/docs/zh-Hans/Dapr/Index.md b/docs/zh-Hans/Dapr/Index.md index 64a9451737..a5237cbb71 100644 --- a/docs/zh-Hans/Dapr/Index.md +++ b/docs/zh-Hans/Dapr/Index.md @@ -60,29 +60,6 @@ Configure(options => } ```` -### 注入DaprClient - -ABP 将 `DaprClient` 类注册到 [依赖注入](../Dependency-Injection.md) 系统中.因此,你可以在需要时注入并使用它: - -````csharp -public class MyService : ITransientDependency -{ - private readonly DaprClient _daprClient; - - public MyService(DaprClient daprClient) - { - _daprClient = daprClient; - } - - public async Task DoItAsync() - { - // TODO: Use the injected _daprClient object - } -} -```` - -注入 `DaprClient` 是在应用程序代码中使用它的推荐方法.当你注入它时,将使用 `IAbpDaprClientFactory` 服务创建它,这会在下一节中将进行说明. - ### IAbpDaprClientFactory `IAbpDaprClientFactory` 可用于创建 `DaprClient` 或 `HttpClient` 对象来执行对 Dapr 的操作.它使用 `AbpDaprOptions`,因此你可以配置设置. @@ -113,15 +90,14 @@ public class MyService : ITransientDependency }); // Create an HttpClient object - HttpClient httpClient = await _daprClientFactory - .CreateHttpClientAsync("target-app-id"); + HttpClient httpClient = await _daprClientFactory.CreateHttpClientAsync("target-app-id"); } } ```` `CreateHttpClientAsync` 方法还获取可选的 `daprEndpoint` 和 `daprApiToken` 参数. -> ABP使用`IAbpDaprClientFactory`创建Dapr客户端.你也可以在应用程序中使用Dapr API创建客户端对象.推荐使用`IAbpDaprClientFactory`,但不是必需的. +> 你可以在应用程序中使用Dapr API创建客户端对象.推荐使用`IAbpDaprClientFactory`,但不是必需的. ## C# API 客户端代理集成 @@ -412,7 +388,7 @@ Configure(options => } ```` -一旦你设置了它,它就会在你注入`DaprClient`或使用`IAbpDaprClientFactory`时使用.如果你需要在应用程序中使用该值,你可以注入`IDaprApiTokenProvider`并使用其`GetDaprApiToken()`方法. +一旦你设置了它,它就会在使用`IAbpDaprClientFactory`时使用.如果你需要在应用程序中使用该值,你可以注入`IDaprApiTokenProvider`并使用其`GetDaprApiToken()`方法. ### App API Token From 2cddfe1b78bd612651775e50d33975d409302030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sinan=20=C3=96zt=C3=BCrk?= Date: Mon, 13 Nov 2023 09:54:43 +0300 Subject: [PATCH 30/93] update packages via nx --- npm/ng-packs/.gitignore | 2 + npm/ng-packs/.prettierignore | 3 +- npm/ng-packs/apps/dev-app-e2e/project.json | 2 +- npm/ng-packs/apps/dev-app/project.json | 11 +- npm/ng-packs/migrations.json | 152 ++++++++++-------- npm/ng-packs/nx.json | 38 +++-- npm/ng-packs/package.json | 89 +++++----- .../packages/account-core/project.json | 5 +- npm/ng-packs/packages/account/project.json | 5 +- npm/ng-packs/packages/components/project.json | 5 +- npm/ng-packs/packages/core/project.json | 5 +- .../packages/feature-management/project.json | 5 +- npm/ng-packs/packages/generators/project.json | 11 +- npm/ng-packs/packages/identity/project.json | 5 +- npm/ng-packs/packages/oauth/project.json | 5 +- .../permission-management/project.json | 5 +- npm/ng-packs/packages/schematics/project.json | 5 +- .../packages/setting-management/project.json | 5 +- .../packages/tenant-management/project.json | 5 +- .../packages/theme-basic/project.json | 5 +- .../packages/theme-shared/project.json | 5 +- 21 files changed, 187 insertions(+), 186 deletions(-) diff --git a/npm/ng-packs/.gitignore b/npm/ng-packs/.gitignore index b542c2b12d..f15a862742 100644 --- a/npm/ng-packs/.gitignore +++ b/npm/ng-packs/.gitignore @@ -56,3 +56,5 @@ Thumbs.db *.internal.* .angular + +.nx/cache \ No newline at end of file diff --git a/npm/ng-packs/.prettierignore b/npm/ng-packs/.prettierignore index ab46b38bd5..1d94f2ad3d 100644 --- a/npm/ng-packs/.prettierignore +++ b/npm/ng-packs/.prettierignore @@ -7,4 +7,5 @@ /node_modules /scripts /tools -/source-code-requirements \ No newline at end of file +/source-code-requirements +/.nx/cache \ No newline at end of file diff --git a/npm/ng-packs/apps/dev-app-e2e/project.json b/npm/ng-packs/apps/dev-app-e2e/project.json index da264535ee..22fe26e24b 100644 --- a/npm/ng-packs/apps/dev-app-e2e/project.json +++ b/npm/ng-packs/apps/dev-app-e2e/project.json @@ -18,7 +18,7 @@ } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": ["apps/dev-app-e2e/**/*.{js,ts}"] }, diff --git a/npm/ng-packs/apps/dev-app/project.json b/npm/ng-packs/apps/dev-app/project.json index 30fed19de1..72759f38ad 100644 --- a/npm/ng-packs/apps/dev-app/project.json +++ b/npm/ng-packs/apps/dev-app/project.json @@ -151,10 +151,10 @@ "executor": "@angular-devkit/build-angular:dev-server", "configurations": { "production": { - "browserTarget": "dev-app:build:production" + "buildTarget": "dev-app:build:production" }, "development": { - "browserTarget": "dev-app:build:development" + "buildTarget": "dev-app:build:development" } }, "defaultConfiguration": "development" @@ -162,11 +162,11 @@ "extract-i18n": { "executor": "@angular-devkit/build-angular:extract-i18n", "options": { - "browserTarget": "dev-app:build" + "buildTarget": "dev-app:build" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": ["apps/dev-app/src/**/*.ts", "apps/dev-app/src/**/*.html"] } @@ -175,8 +175,7 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/apps/dev-app"], "options": { - "jestConfig": "apps/dev-app/jest.config.ts", - "passWithNoTests": true + "jestConfig": "apps/dev-app/jest.config.ts" } } } diff --git a/npm/ng-packs/migrations.json b/npm/ng-packs/migrations.json index 0e2ed93d08..e0969ee412 100644 --- a/npm/ng-packs/migrations.json +++ b/npm/ng-packs/migrations.json @@ -2,115 +2,131 @@ "migrations": [ { "cli": "nx", - "version": "16.6.0-beta.6", - "description": "Prefix outputs with {workspaceRoot}/{projectRoot} if needed", - "implementation": "./src/migrations/update-15-0-0/prefix-outputs", + "version": "17.0.0-beta.1", + "description": "Updates the default cache directory to .nx/cache", + "implementation": "./src/migrations/update-17-0-0/move-cache-directory", "package": "nx", - "name": "16.6.0-prefix-outputs" + "name": "17.0.0-move-cache-directory" }, { "cli": "nx", - "version": "16.8.0-beta.3", - "description": "Escape $ in env variables", - "implementation": "./src/migrations/update-16-8-0/escape-dollar-sign-env-variables", + "version": "17.0.0-beta.3", + "description": "Use minimal config for tasksRunnerOptions", + "implementation": "./src/migrations/update-17-0-0/use-minimal-config-for-tasks-runner-options", "package": "nx", - "name": "16.8.0-escape-dollar-sign-env" + "name": "17.0.0-use-minimal-config-for-tasks-runner-options" }, { - "version": "16.8.0", - "description": "update-16-8-0-add-ignored-files", - "implementation": "./src/migrations/update-16-8-0-add-ignored-files/update-16-8-0-add-ignored-files", - "package": "@nx/linter", - "name": "update-16-8-0-add-ignored-files" + "version": "17.0.0-rc.1", + "description": "Migration for v17.0.0-rc.1", + "implementation": "./src/migrations/update-17-0-0/rm-default-collection-npm-scope", + "package": "nx", + "name": "rm-default-collection-npm-scope" }, { "cli": "nx", - "version": "16.9.0-beta.1", - "description": "Replace imports of Module Federation utils frm @nx/devkit to @nx/webpack", - "implementation": "./src/migrations/update-16-9-0/migrate-mf-util-usage", - "package": "@nx/devkit", - "name": "update-16-9-0-migrate-mf-usage-to-webpack" + "version": "17.0.2", + "description": "Remove deprecated build options", + "implementation": "./src/migrations/update-17-0-0/remove-deprecated-build-options", + "package": "@nx/js", + "name": "update-17-0-0-remove-deprecated-build-options" + }, + { + "version": "17.0.0-beta.7", + "description": "update-17-0-0-rename-to-eslint", + "implementation": "./src/migrations/update-17-0-0-rename-to-eslint/update-17-0-0-rename-to-eslint", + "package": "@nx/eslint", + "name": "update-17-0-0-rename-to-eslint" + }, + { + "version": "17.1.0-beta.1", + "description": "Updates for @typescript-utils/utils v6.9.1+", + "implementation": "./src/migrations/update-17-1-0/update-typescript-eslint", + "package": "@nx/eslint", + "name": "update-typescript-eslint" + }, + { + "version": "17.1.0-beta.2", + "description": "Move jest executor options to nx.json targetDefaults", + "implementation": "./src/migrations/update-17-1-0/move-options-to-target-defaults", + "package": "@nx/jest", + "name": "move-options-to-target-defaults" }, { "cli": "nx", - "version": "16.4.0-beta.6", + "version": "17.1.0-beta.5", "requires": { - "@angular-eslint/eslint-plugin-template": ">=16.0.0" + "@angular/core": ">=17.0.0" }, - "description": "Remove the 'accessibility-' prefix from '@angular-eslint/eslint-plugin-template' rules.", - "factory": "./src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules", + "description": "Update the @angular/cli package version to ~17.0.0.", + "factory": "./src/migrations/update-17-1-0/update-angular-cli", "package": "@nx/angular", - "name": "rename-angular-eslint-accesibility-rules" + "name": "update-angular-cli-version-17-0-0" }, { "cli": "nx", - "version": "16.4.0-beta.11", + "version": "17.1.0-beta.5", "requires": { - "@angular/core": ">=16.1.0" + "@angular/core": ">=17.0.0" }, - "description": "Update the @angular/cli package version to ~16.1.0.", - "factory": "./src/migrations/update-16-4-0/update-angular-cli", + "description": "Rename 'browserTarget' to 'buildTarget'.", + "factory": "./src/migrations/update-17-1-0/browser-target-to-build-target", "package": "@nx/angular", - "name": "update-angular-cli-version-16-1-0" + "name": "rename-browser-target-to-build-target" }, { "cli": "nx", - "version": "16.6.0-beta.0", - "description": "Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.", - "factory": "./src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps", + "version": "17.1.0-beta.5", + "requires": { + "@angular/core": ">=17.0.0" + }, + "description": "Replace usages of '@nguniversal/builders' with '@angular-devkit/build-angular'.", + "factory": "./src/migrations/update-17-1-0/replace-nguniversal-builders", "package": "@nx/angular", - "name": "explicitly-set-projects-to-update-buildable-deps" + "name": "replace-nguniversal-builders" }, { "cli": "nx", - "version": "16.7.0-beta.6", + "version": "17.1.0-beta.5", "requires": { - "@angular/core": ">=16.2.0" + "@angular/core": ">=17.0.0" }, - "description": "Update the @angular/cli package version to ~16.2.0.", - "factory": "./src/migrations/update-16-7-0/update-angular-cli", + "description": "Replace usages of '@nguniversal/' packages with '@angular/ssr'.", + "factory": "./src/migrations/update-17-1-0/replace-nguniversal-engines", "package": "@nx/angular", - "name": "update-angular-cli-version-16-2-0" + "name": "replace-nguniversal-engines" }, { "cli": "nx", - "version": "16.4.0-beta.10", - "description": "Remove tsconfig.e2e.json and add settings to project tsconfig.json. tsConfigs executor option is now deprecated. The project level tsconfig.json file should be used instead.", - "implementation": "./src/migrations/update-16-4-0/tsconfig-sourcemaps", - "package": "@nx/cypress", - "name": "update-16-3-0-remove-old-tsconfigs" - }, - { - "cli": "nx", - "version": "16.8.0-beta.4", - "description": "Update to Cypress v13. Most noteable change is video recording is off by default. This migration will only update if the workspace is already on Cypress v12. https://docs.cypress.io/guides/references/migration-guide#Migrating-to-Cypress-130", - "implementation": "./src/migrations/update-16-8-0/cypress-13", - "package": "@nx/cypress", - "name": "update-16-8-0-cypress-13" + "version": "17.1.0-beta.5", + "requires": { + "@angular/core": ">=17.0.0" + }, + "description": "Replace the deep imports from 'zone.js/dist/zone' and 'zone.js/dist/zone-testing' with 'zone.js' and 'zone.js/testing'.", + "factory": "./src/migrations/update-17-1-0/update-zone-js-deep-import", + "package": "@nx/angular", + "name": "update-zone-js-deep-import" }, { - "cli": "nx", - "version": "16.5.0-beta.2", - "description": "Add test-setup.ts to ignored files in production input", - "implementation": "./src/migrations/update-16-5-0/add-test-setup-to-inputs-ignore", - "package": "@nx/jest", - "name": "add-test-setup-to-inputs-ignore" + "version": "17.0.0", + "description": "Angular v17 introduces a new control flow syntax that uses the @ and } characters. This migration replaces the existing usages with their corresponding HTML entities.", + "factory": "./migrations/block-template-entities/bundle", + "package": "@angular/core", + "name": "block-template-entities" }, { - "cli": "nx", - "version": "16.6.0-beta.0", - "description": "Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.", - "factory": "./src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps", - "package": "@nx/js", - "name": "explicitly-set-projects-to-update-buildable-deps" + "version": "17.0.0", + "description": "CompilerOption.useJit and CompilerOption.missingTranslation are unused under Ivy. This migration removes their usage", + "factory": "./migrations/compiler-options/bundle", + "package": "@angular/core", + "name": "migration-v17-compiler-options" }, { - "cli": "nx", - "version": "16.8.2-beta.0", - "description": "Remove invalid options (strict, noInterop) for ES6 type modules.", - "factory": "./src/migrations/update-16-8-2/update-swcrc", - "package": "@nx/js", - "name": "16-8-2-update-swcrc" + "version": "17.0.0", + "description": "Updates `TransferState`, `makeStateKey`, `StateKey` imports from `@angular/platform-browser` to `@angular/core`.", + "factory": "./migrations/transfer-state/bundle", + "package": "@angular/core", + "name": "migration-transfer-state" } ] } diff --git a/npm/ng-packs/nx.json b/npm/ng-packs/nx.json index 3897fa16f1..abc2990227 100644 --- a/npm/ng-packs/nx.json +++ b/npm/ng-packs/nx.json @@ -1,17 +1,7 @@ { - "npmScope": "abp", "affected": { "defaultBase": "dev" }, - "tasksRunnerOptions": { - "default": { - "runner": "nx/tasks-runners/default", - "options": { - "cacheableOperations": ["build", "lint", "test", "e2e"], - "parallel": 3 - } - } - }, "workspaceLayout": { "libsDir": "packages", "appsDir": "" @@ -51,16 +41,29 @@ "targetDefaults": { "build": { "dependsOn": ["^build"], - "inputs": ["production", "^production"] + "inputs": ["production", "^production"], + "cache": true }, "e2e": { - "inputs": ["default", "^production"] - }, - "test": { - "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"] + "inputs": ["default", "^production"], + "cache": true }, "lint": { - "inputs": ["default", "{workspaceRoot}/.eslintrc.json"] + "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], + "cache": true + }, + "@nx/jest:jest": { + "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"], + "cache": true, + "options": { + "passWithNoTests": true + }, + "configurations": { + "ci": { + "ci": true, + "codeCoverage": true + } + } } }, "namedInputs": { @@ -73,5 +76,6 @@ "!{projectRoot}/jest.config.[jt]s", "!{projectRoot}/.eslintrc.json" ] - } + }, + "parallel": 3 } diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index e9e2105e1b..89249cdec8 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -46,46 +46,45 @@ "devDependencies": { "@abp/ng.theme.lepton-x": "~2.4.1", "@abp/utils": "~7.4.1", - "@angular-devkit/build-angular": "~16.2.0", - "@angular-devkit/core": "~16.2.0", - "@angular-devkit/schematics": "~16.2.0", - "@angular-devkit/schematics-cli": "~16.2.0", - "@angular-eslint/eslint-plugin": "~16.2.0", - "@angular-eslint/eslint-plugin-template": "~16.2.0", - "@angular-eslint/template-parser": "~16.2.0", - "@angular/animations": "~16.2.0", - "@angular/cli": "~16.2.0", - "@angular/common": "~16.2.0", - "@angular/compiler": "~16.2.0", - "@angular/compiler-cli": "~16.2.0", - "@angular/core": "~16.2.0", - "@angular/forms": "~16.2.0", - "@angular/language-service": "~16.2.0", - "@angular/localize": "~16.2.0", - "@angular/platform-browser": "~16.2.0", - "@angular/platform-browser-dynamic": "~16.2.0", - "@angular/router": "~16.2.0", - "@fortawesome/fontawesome-free": "^5.0.0", + "@angular-devkit/build-angular": "~17.0.0", + "@angular-devkit/core": "~17.0.0", + "@angular-devkit/schematics": "~17.0.0", + "@angular-devkit/schematics-cli": "~17.0.0", + "@angular-eslint/eslint-plugin": "~17.0.0", + "@angular-eslint/eslint-plugin-template": "~17.0.0", + "@angular-eslint/template-parser": "~17.0.0", + "@angular/animations": "~17.0.0", + "@angular/cli": "~17.0.0", + "@angular/common": "~17.0.0", + "@angular/compiler": "~17.0.0", + "@angular/compiler-cli": "~17.0.0", + "@angular/core": "~17.0.0", + "@angular/forms": "~17.0.0", + "@angular/language-service": "~17.0.0", + "@angular/localize": "~17.0.0", + "@angular/platform-browser": "~17.0.0", + "@angular/platform-browser-dynamic": "~17.0.0", + "@angular/router": "~17.0.0", + "@fortawesome/fontawesome-free": "^6.0.0", "@ng-bootstrap/ng-bootstrap": "^15.0.0", - "@ngneat/spectator": "^10.0.0", + "@ngneat/spectator": "^15.0.0", "@ngx-validate/core": "^0.2.0", - "@nx/angular": "16.9.0", - "@nx/cypress": "16.9.0", - "@nx/eslint-plugin": "16.9.0", - "@nx/jest": "16.9.0", - "@nx/js": "16.9.0", - "@nx/linter": "16.9.0", - "@nx/workspace": "16.9.0", + "@nx/angular": "17.1.1", + "@nx/cypress": "17.1.1", + "@nx/eslint-plugin": "17.1.1", + "@nx/jest": "17.1.1", + "@nx/js": "17.1.1", + "@nx/workspace": "17.1.1", "@popperjs/core": "~2.11.0", - "@schematics/angular": "~16.2.0", - "@swc-node/register": "~1.4.0", + "@schematics/angular": "17.0.0", + "@swc-node/register": "1.6.8", "@swc/cli": "~0.1.0", "@swc/core": "1.3.94", "@swimlane/ngx-datatable": "^20.0.0", "@types/jest": "29.4.4", "@types/node": "20.2.5", - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", + "@typescript-eslint/eslint-plugin": "6.9.1", + "@typescript-eslint/parser": "6.9.1", "angular-oauth2-oidc": "^15.0.0", "bootstrap": "^5.0.0", "bootstrap-icons": "^1.0.0", @@ -93,23 +92,22 @@ "cypress": "^7.0.0", "dotenv": "10.0.0", "eslint": "8.46.0", - "eslint-config-prettier": "8.1.0", - "eslint-plugin-cypress": "2.15.1", - "got": "^11.0.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-cypress": "^2.10.3", - "jest": "^29.0.0", + "got": "^11.0.0", + "jest": "^29.0.0", "jest-canvas-mock": "^2.0.0", "jest-environment-jsdom": "^29.0.0", - "jest-preset-angular": "13.1.0", + "jest-preset-angular": "13.1.3", "jsonc-eslint-parser": "^2.0.0", "jsonc-parser": "^2.0.0", "just-clone": "^6.0.0", "just-compare": "^2.0.0", "lerna": "^4.0.0", "lint-staged": "^13.0.0", - "ng-packagr": "~16.2.0", - "ng-zorro-antd": "^16.0.0", - "nx": "16.9.0", + "ng-packagr": "17.0.0", + "ng-zorro-antd": "^15.0.0", + "nx": "17.1.1", "perfect-scrollbar": "^1.0.0", "postcss": "^8.0.0", "postcss-import": "14.1.0", @@ -124,11 +122,12 @@ "ts-toolbelt": "6.15.4", "tslib": "^2.0.0", "tslint": "~6.1.0", - "typescript": "5.1.6", - "zone.js": "~0.13.0", - "@nx/devkit": "16.9.0", - "@nx/plugin": "16.9.0", - "@swc/helpers": "0.5.3" + "typescript": "~5.2.0", + "zone.js": "0.14.2", + "@nx/devkit": "17.1.1", + "@nx/plugin": "17.1.1", + "@swc/helpers": "0.5.3", + "@nx/eslint": "17.1.1" }, "lint-staged": { "**/*.{js,jsx,ts,tsx,html,css,scss}": [ diff --git a/npm/ng-packs/packages/account-core/project.json b/npm/ng-packs/packages/account-core/project.json index fe5e34ea61..8767a7a69b 100644 --- a/npm/ng-packs/packages/account-core/project.json +++ b/npm/ng-packs/packages/account-core/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/account-core"], "options": { - "jestConfig": "packages/account-core/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/account-core/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/account-core/src/**/*.ts", diff --git a/npm/ng-packs/packages/account/project.json b/npm/ng-packs/packages/account/project.json index 8b20413f23..40ae20799d 100644 --- a/npm/ng-packs/packages/account/project.json +++ b/npm/ng-packs/packages/account/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/account"], "options": { - "jestConfig": "packages/account/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/account/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": ["packages/account/src/**/*.ts", "packages/account/src/**/*.html"] }, diff --git a/npm/ng-packs/packages/components/project.json b/npm/ng-packs/packages/components/project.json index fc73649c65..e7a8a502d3 100644 --- a/npm/ng-packs/packages/components/project.json +++ b/npm/ng-packs/packages/components/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/components"], "options": { - "jestConfig": "packages/components/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/components/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/components/src/**/*.ts", diff --git a/npm/ng-packs/packages/core/project.json b/npm/ng-packs/packages/core/project.json index 7afb4b248c..720be6a23c 100644 --- a/npm/ng-packs/packages/core/project.json +++ b/npm/ng-packs/packages/core/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/core"], "options": { - "jestConfig": "packages/core/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/core/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": ["packages/core/src/**/*.ts", "packages/core/src/**/*.html"] }, diff --git a/npm/ng-packs/packages/feature-management/project.json b/npm/ng-packs/packages/feature-management/project.json index 6770a0e8d3..ff8f8b8850 100644 --- a/npm/ng-packs/packages/feature-management/project.json +++ b/npm/ng-packs/packages/feature-management/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/feature-management"], "options": { - "jestConfig": "packages/feature-management/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/feature-management/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/feature-management/src/**/*.ts", diff --git a/npm/ng-packs/packages/generators/project.json b/npm/ng-packs/packages/generators/project.json index 8d8f2cc545..3c928ae754 100644 --- a/npm/ng-packs/packages/generators/project.json +++ b/npm/ng-packs/packages/generators/project.json @@ -41,7 +41,7 @@ "dependsOn": ["build"] }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": [ @@ -55,14 +55,7 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "packages/generators/jest.config.ts", - "passWithNoTests": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } + "jestConfig": "packages/generators/jest.config.ts" } } }, diff --git a/npm/ng-packs/packages/identity/project.json b/npm/ng-packs/packages/identity/project.json index 6efcfce40a..c840ec36c9 100644 --- a/npm/ng-packs/packages/identity/project.json +++ b/npm/ng-packs/packages/identity/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/identity"], "options": { - "jestConfig": "packages/identity/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/identity/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": ["packages/identity/src/**/*.ts", "packages/identity/src/**/*.html"] }, diff --git a/npm/ng-packs/packages/oauth/project.json b/npm/ng-packs/packages/oauth/project.json index 6cb66f8b9a..ab39878c0c 100644 --- a/npm/ng-packs/packages/oauth/project.json +++ b/npm/ng-packs/packages/oauth/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "packages/oauth/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/oauth/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": ["packages/oauth/**/*.ts", "packages/oauth/**/*.html"] } diff --git a/npm/ng-packs/packages/permission-management/project.json b/npm/ng-packs/packages/permission-management/project.json index f75b3db322..9bd2b22c66 100644 --- a/npm/ng-packs/packages/permission-management/project.json +++ b/npm/ng-packs/packages/permission-management/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/permission-management"], "options": { - "jestConfig": "packages/permission-management/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/permission-management/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/permission-management/src/**/*.ts", diff --git a/npm/ng-packs/packages/schematics/project.json b/npm/ng-packs/packages/schematics/project.json index 9455c9ce14..d39db5cdca 100644 --- a/npm/ng-packs/packages/schematics/project.json +++ b/npm/ng-packs/packages/schematics/project.json @@ -9,12 +9,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/schematics"], "options": { - "jestConfig": "packages/schematics/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/schematics/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": ["packages/schematics/src/**/*.ts", "packages/schematics/src/**/*.html"] }, diff --git a/npm/ng-packs/packages/setting-management/project.json b/npm/ng-packs/packages/setting-management/project.json index 2e597ad383..f4728a6844 100644 --- a/npm/ng-packs/packages/setting-management/project.json +++ b/npm/ng-packs/packages/setting-management/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/setting-management"], "options": { - "jestConfig": "packages/setting-management/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/setting-management/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/setting-management/src/**/*.ts", diff --git a/npm/ng-packs/packages/tenant-management/project.json b/npm/ng-packs/packages/tenant-management/project.json index 944722d8df..efa30dcfb7 100644 --- a/npm/ng-packs/packages/tenant-management/project.json +++ b/npm/ng-packs/packages/tenant-management/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/tenant-management"], "options": { - "jestConfig": "packages/tenant-management/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/tenant-management/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/tenant-management/src/**/*.ts", diff --git a/npm/ng-packs/packages/theme-basic/project.json b/npm/ng-packs/packages/theme-basic/project.json index 653c109edd..bf3ac88449 100644 --- a/npm/ng-packs/packages/theme-basic/project.json +++ b/npm/ng-packs/packages/theme-basic/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/theme-basic"], "options": { - "jestConfig": "packages/theme-basic/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/theme-basic/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/theme-basic/src/**/*.ts", diff --git a/npm/ng-packs/packages/theme-shared/project.json b/npm/ng-packs/packages/theme-shared/project.json index 71a02e2be4..53649cfcc0 100644 --- a/npm/ng-packs/packages/theme-shared/project.json +++ b/npm/ng-packs/packages/theme-shared/project.json @@ -25,12 +25,11 @@ "executor": "@nx/jest:jest", "outputs": ["{workspaceRoot}/coverage/packages/theme-shared"], "options": { - "jestConfig": "packages/theme-shared/jest.config.ts", - "passWithNoTests": true + "jestConfig": "packages/theme-shared/jest.config.ts" } }, "lint": { - "executor": "@nx/linter:eslint", + "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/theme-shared/src/**/*.ts", From 11f5b0539d735b8b4ede5c5ad0b254e4c1c701ee Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Mon, 13 Nov 2023 10:11:56 +0300 Subject: [PATCH 31/93] remove dot on html of manage-profile --- .../lib/components/manage-profile/manage-profile.component.html | 1 - 1 file changed, 1 deletion(-) diff --git a/npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.html b/npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.html index 4537749bd5..19758029e5 100644 --- a/npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.html +++ b/npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.html @@ -1,5 +1,4 @@
-.
From 0c0a3c7a4bc47aa0a41bdcef997abb9f797eb9f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sinan=20=C3=96zt=C3=BCrk?= Date: Mon, 13 Nov 2023 11:51:55 +0300 Subject: [PATCH 32/93] add nx to gitignore --- npm/ng-packs/.gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/npm/ng-packs/.gitignore b/npm/ng-packs/.gitignore index b542c2b12d..a13172ed2f 100644 --- a/npm/ng-packs/.gitignore +++ b/npm/ng-packs/.gitignore @@ -56,3 +56,6 @@ Thumbs.db *.internal.* .angular + +.nx/ +.nx/cache \ No newline at end of file From 9294a70c73bc01d3b821abcd9b93bf7d667ec52f Mon Sep 17 00:00:00 2001 From: Salih Date: Mon, 13 Nov 2023 12:19:41 +0300 Subject: [PATCH 33/93] Fix replaceOne error --- .../PrismjsStyleBundleContributorDocsExtension.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs index eb0436c5ff..8ea15229f7 100644 --- a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs +++ b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs @@ -7,10 +7,19 @@ namespace Volo.Docs.Bundling { public override void ConfigureBundle(BundleConfigurationContext context) { - context.Files.ReplaceOne("/libs/prismjs/themes/prism.css","/libs/prismjs/themes/prism-okaidia.css"); + ReplaceOne(context.Files, "/libs/prismjs/themes/prism.css","/libs/prismjs/themes/prism-okaidia.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/line-highlight/prism-line-highlight.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/diff-highlight/prism-diff-highlight.css"); } + + private static void ReplaceOne(List files, string oldFile, string newFile) + { + var index = files.FindIndex(x => x.FileName == oldFile); + if (index >= 0) + { + files[index] = new BundleFile(newFile); + } + } } } From 4081351b230c1c03e1e45b791827b5cf5a52b128 Mon Sep 17 00:00:00 2001 From: Salih Date: Mon, 13 Nov 2023 12:28:27 +0300 Subject: [PATCH 34/93] Update PrismjsStyleBundleContributorDocsExtension.cs --- ...PrismjsStyleBundleContributorDocsExtension.cs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs index 8ea15229f7..f23f4bb803 100644 --- a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs +++ b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; namespace Volo.Docs.Bundling @@ -7,19 +8,14 @@ namespace Volo.Docs.Bundling { public override void ConfigureBundle(BundleConfigurationContext context) { - ReplaceOne(context.Files, "/libs/prismjs/themes/prism.css","/libs/prismjs/themes/prism-okaidia.css"); + var prismCss = context.Files.FirstOrDefault(x => x.FileName == "/libs/prismjs/themes/prism.css"); + if (prismCss != null) + { + prismCss.FileName = "/libs/prismjs/themes/prism-okaidia.css"; + } context.Files.AddIfNotContains("/libs/prismjs/plugins/line-highlight/prism-line-highlight.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/diff-highlight/prism-diff-highlight.css"); } - - private static void ReplaceOne(List files, string oldFile, string newFile) - { - var index = files.FindIndex(x => x.FileName == oldFile); - if (index >= 0) - { - files[index] = new BundleFile(newFile); - } - } } } From 179d0703adf81b63741a82202a8789fd83f42b2c Mon Sep 17 00:00:00 2001 From: voloagent Date: Mon, 13 Nov 2023 13:13:28 +0300 Subject: [PATCH 35/93] Update_NPM_Packages --- .../package.json | 2 +- .../package.json | 4 +- .../yarn.lock | 280 ++++++------- .../app/Volo.BloggingTestApp/package.json | 4 +- .../app/Volo.BloggingTestApp/yarn.lock | 318 +++++++------- .../Volo.ClientSimulation.Demo/package.json | 2 +- .../demo/Volo.ClientSimulation.Demo/yarn.lock | 258 ++++++------ modules/cms-kit/angular/package.json | 10 +- .../angular/projects/cms-kit/package.json | 4 +- .../Volo.CmsKit.IdentityServer/package.json | 2 +- .../host/Volo.CmsKit.IdentityServer/yarn.lock | 258 ++++++------ .../host/Volo.CmsKit.Web.Host/package.json | 2 +- .../host/Volo.CmsKit.Web.Host/yarn.lock | 258 ++++++------ .../host/Volo.CmsKit.Web.Unified/package.json | 4 +- .../host/Volo.CmsKit.Web.Unified/yarn.lock | 392 +++++++++--------- modules/docs/app/VoloDocs.Web/package.json | 4 +- modules/docs/app/VoloDocs.Web/yarn.lock | 318 +++++++------- .../app/OpenIddict.Demo.Server/package.json | 2 +- modules/openiddict/app/angular/package.json | 20 +- .../package.json | 2 +- .../yarn.lock | 258 ++++++------ .../package.json | 4 +- .../yarn.lock | 292 ++++++------- npm/lerna.json | 2 +- npm/ng-packs/package.json | 4 +- .../packages/account-core/package.json | 6 +- npm/ng-packs/packages/account/package.json | 6 +- npm/ng-packs/packages/components/package.json | 6 +- npm/ng-packs/packages/core/package.json | 4 +- .../packages/feature-management/package.json | 4 +- npm/ng-packs/packages/generators/package.json | 2 +- npm/ng-packs/packages/identity/package.json | 8 +- npm/ng-packs/packages/oauth/package.json | 6 +- .../permission-management/package.json | 4 +- npm/ng-packs/packages/schematics/package.json | 2 +- .../packages/setting-management/package.json | 6 +- .../packages/tenant-management/package.json | 6 +- .../packages/theme-basic/package.json | 6 +- .../packages/theme-shared/package.json | 4 +- npm/packs/anchor-js/package.json | 4 +- .../package.json | 4 +- .../package.json | 6 +- .../package.json | 4 +- .../package.json | 34 +- npm/packs/aspnetcore.mvc.ui/package-lock.json | 2 +- npm/packs/aspnetcore.mvc.ui/package.json | 2 +- npm/packs/blogging/package.json | 10 +- npm/packs/bootstrap-datepicker/package.json | 2 +- .../bootstrap-daterangepicker/package.json | 2 +- npm/packs/bootstrap/package.json | 4 +- npm/packs/chart.js/package.json | 2 +- npm/packs/clipboard/package.json | 4 +- npm/packs/cms-kit.admin/package.json | 12 +- npm/packs/cms-kit.public/package.json | 6 +- npm/packs/cms-kit/package.json | 6 +- npm/packs/codemirror/package.json | 4 +- npm/packs/core/package.json | 4 +- npm/packs/cropperjs/package.json | 4 +- npm/packs/datatables.net-bs4/package.json | 4 +- npm/packs/datatables.net-bs5/package.json | 4 +- npm/packs/datatables.net/package.json | 4 +- npm/packs/docs/package.json | 12 +- npm/packs/flag-icon-css/package.json | 2 +- npm/packs/flag-icons/package.json | 2 +- npm/packs/font-awesome/package.json | 4 +- npm/packs/highlight.js/package.json | 4 +- npm/packs/jquery-form/package.json | 4 +- .../package.json | 4 +- npm/packs/jquery-validation/package.json | 4 +- npm/packs/jquery/package.json | 4 +- npm/packs/jstree/package.json | 4 +- npm/packs/lodash/package.json | 4 +- npm/packs/luxon/package.json | 4 +- .../package.json | 4 +- npm/packs/markdown-it/package.json | 4 +- npm/packs/moment/package.json | 2 +- npm/packs/owl.carousel/package.json | 4 +- npm/packs/popper.js/package.json | 4 +- npm/packs/prismjs/package.json | 6 +- npm/packs/qrcode/package.json | 4 +- npm/packs/select2/package.json | 4 +- npm/packs/signalr/package.json | 4 +- npm/packs/slugify/package.json | 2 +- npm/packs/star-rating-svg/package.json | 4 +- npm/packs/sweetalert2/package.json | 4 +- npm/packs/timeago/package.json | 4 +- npm/packs/toastr/package.json | 4 +- npm/packs/tui-editor/package.json | 6 +- npm/packs/uppy/package.json | 4 +- npm/packs/utils/package.json | 2 +- npm/packs/vee-validate/package.json | 4 +- npm/packs/virtual-file-explorer/package.json | 6 +- npm/packs/vue/package.json | 2 +- .../Volo.Abp.Account.SourceCode.zip | Bin 217050 -> 217053 bytes .../Volo.Abp.AuditLogging.SourceCode.zip | Bin 77415 -> 77415 bytes .../Volo.Abp.BackgroundJobs.SourceCode.zip | Bin 63354 -> 63353 bytes .../Volo.Abp.BasicTheme.SourceCode.zip | Bin 492275 -> 492273 bytes ...lo.Abp.BlobStoring.Database.SourceCode.zip | Bin 67563 -> 67563 bytes .../Volo.Abp.FeatureManagement.SourceCode.zip | Bin 186003 -> 186006 bytes .../Volo.Abp.Identity.SourceCode.zip | Bin 372205 -> 372214 bytes .../Volo.Abp.IdentityServer.SourceCode.zip | Bin 163023 -> 163024 bytes .../Volo.Abp.OpenIddict.SourceCode.zip | Bin 2261236 -> 2261237 bytes ...lo.Abp.PermissionManagement.SourceCode.zip | Bin 177177 -> 177177 bytes .../Volo.Abp.SettingManagement.SourceCode.zip | Bin 274444 -> 274445 bytes .../Volo.Abp.TenantManagement.SourceCode.zip | Bin 163189 -> 163190 bytes .../Volo.Abp.Users.SourceCode.zip | Bin 32631 -> 32632 bytes ...olo.Abp.VirtualFileExplorer.SourceCode.zip | Bin 89352 -> 89344 bytes .../Volo.Blogging.SourceCode.zip | Bin 396711 -> 396708 bytes .../Volo.ClientSimulation.SourceCode.zip | Bin 81361 -> 81358 bytes .../Volo.CmsKit.SourceCode.zip | Bin 892880 -> 892868 bytes .../Volo.Docs.SourceCode.zip | Bin 678764 -> 678760 bytes templates/app-nolayers/angular/package.json | 20 +- .../package.json | 4 +- .../package.json | 4 +- .../Server.Mongo/package.json | 2 +- .../Server/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- templates/app/angular/package.json | 20 +- .../package.json | 2 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- templates/module/angular/package.json | 20 +- .../projects/my-project-name/package.json | 4 +- .../package.json | 2 +- .../package.json | 4 +- .../package.json | 2 +- .../package.json | 2 +- 133 files changed, 1571 insertions(+), 1571 deletions(-) diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json index dd3cc1b622..10c19fa8ef 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json @@ -3,7 +3,7 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~7.4.1", + "@abp/aspnetcore.mvc.ui.theme.shared": "~7.4.2", "@abp/prismjs": "^~7.3.2", "@abp/highlight.js": "^~7.3.2" }, diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json index 715a290a18..821542e442 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json @@ -3,8 +3,8 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1", - "@abp/prismjs": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2", + "@abp/prismjs": "~7.4.2" }, "devDependencies": {} } diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock index ec4f519955..d3f9b5d9b6 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,175 +43,175 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/clipboard@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.1.tgz#31329ad4565b5075b486e9ca63fb0ff8a070ff9e" - integrity sha512-/+ylBPs/TEZdwywSSTnj96WoRJPwQnR6vlI+sX7h9wDfSDbMwuSSdETSnDVT21lkl8gonPONFZTL8D1u/KKAhg== +"@abp/clipboard@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.2.tgz#e9c3361edb3aa22bfb5667f99605a26752843e91" + integrity sha512-KQRgMfvvtMS9StvHk0k15RB3UY6Z/5IN1CqjC/WSlHbn9SXNorEzkJ0gi1xoy/Hs0DTyPm74xnvd6GdQUShLQg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" clipboard "^2.0.8" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/prismjs@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.1.tgz#df4387dbc2f0c77ddb9b6bd0ade9a5db29b9cee2" - integrity sha512-bI7pEKWy32aRYSb2ZziiH6Teebyd8km+1TXADy1yks9i9G5eLWe4/CSdwWpI4M+8ggM8CsdhrZ6/U+55BpXPQA== +"@abp/prismjs@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.2.tgz#41c9c847c8b6f89a7c126e346a020c494ddb74e9" + integrity sha512-ap9bifcEzIXaM10reSEhOrdpJS+ZvNXk7R+Nl/malvJjxeUlln/bRVROtidFp9RP1eFYecDywQE86gfdSmBtTg== dependencies: - "@abp/clipboard" "~7.4.1" - "@abp/core" "~7.4.1" + "@abp/clipboard" "~7.4.2" + "@abp/core" "~7.4.2" prismjs "^1.26.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/blogging/app/Volo.BloggingTestApp/package.json b/modules/blogging/app/Volo.BloggingTestApp/package.json index 1239d9b938..12064a0559 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/package.json +++ b/modules/blogging/app/Volo.BloggingTestApp/package.json @@ -3,7 +3,7 @@ "name": "volo.blogtestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1", - "@abp/blogging": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2", + "@abp/blogging": "~7.4.2" } } diff --git a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock index db39937c38..03ce157c26 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock +++ b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,201 +43,201 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/blogging@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-7.4.1.tgz#b2a781f154c98fe69ce2c2948b422f2aaca6fd12" - integrity sha512-OHEw0tiQsJb6y1S3YbRSnw438sZx/msu4vxsJPYKeigyxubyyN8Ndl0NKP6BukrslmtLbnYwh/e/7Kpi+/Bs1g== +"@abp/blogging@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-7.4.2.tgz#9e59b50bf3d31318504e6c7100c49194450979d3" + integrity sha512-jrsCUNWiLlG4CaYdGd8YmepE/iZD5BxqKFewSAPKGP/u/FZPJKPPOIUIRd34wewDcNcyvElkLAPFotjkxjFPxA== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - "@abp/owl.carousel" "~7.4.1" - "@abp/prismjs" "~7.4.1" - "@abp/tui-editor" "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + "@abp/owl.carousel" "~7.4.2" + "@abp/prismjs" "~7.4.2" + "@abp/tui-editor" "~7.4.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/clipboard@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.1.tgz#31329ad4565b5075b486e9ca63fb0ff8a070ff9e" - integrity sha512-/+ylBPs/TEZdwywSSTnj96WoRJPwQnR6vlI+sX7h9wDfSDbMwuSSdETSnDVT21lkl8gonPONFZTL8D1u/KKAhg== +"@abp/clipboard@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.2.tgz#e9c3361edb3aa22bfb5667f99605a26752843e91" + integrity sha512-KQRgMfvvtMS9StvHk0k15RB3UY6Z/5IN1CqjC/WSlHbn9SXNorEzkJ0gi1xoy/Hs0DTyPm74xnvd6GdQUShLQg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" clipboard "^2.0.8" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/owl.carousel@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-7.4.1.tgz#9db15032e4639a1b50e08aa7eaaf779f2cf30f6c" - integrity sha512-GNktio3GJqWsu4CrynbTkLucOG97W2rB8LnDxhvINcGow6hrDP3RzcExCqeh+miU6I44VvtC4uySyIYaXJoQ3A== +"@abp/owl.carousel@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-7.4.2.tgz#6dca81976c99679fd48b21777e4f7e6ac0233714" + integrity sha512-3bReHl/eg722cIWGXHYy3Z9TEolYKbHhhayN4ALyy9kE0scMy5n5CPto4Nwx1po51mL50D8Ws/lhtlGfcmZ0zw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" owl.carousel "^2.3.4" -"@abp/prismjs@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.1.tgz#df4387dbc2f0c77ddb9b6bd0ade9a5db29b9cee2" - integrity sha512-bI7pEKWy32aRYSb2ZziiH6Teebyd8km+1TXADy1yks9i9G5eLWe4/CSdwWpI4M+8ggM8CsdhrZ6/U+55BpXPQA== +"@abp/prismjs@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.2.tgz#41c9c847c8b6f89a7c126e346a020c494ddb74e9" + integrity sha512-ap9bifcEzIXaM10reSEhOrdpJS+ZvNXk7R+Nl/malvJjxeUlln/bRVROtidFp9RP1eFYecDywQE86gfdSmBtTg== dependencies: - "@abp/clipboard" "~7.4.1" - "@abp/core" "~7.4.1" + "@abp/clipboard" "~7.4.2" + "@abp/core" "~7.4.2" prismjs "^1.26.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/tui-editor@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-7.4.1.tgz#4adaffcc3d62c7f2159d6acbca71e14780270277" - integrity sha512-0wiLq03+EB6or9uBbz1ZEWnOAoUjJqqFDONVEv2LtuqWlaiDwzILrSMxihTyFsLGrSAUdezfk2L83DoJT6SsVg== +"@abp/tui-editor@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-7.4.2.tgz#9fdbc681ad6f1a1934336b09677dd15561f948e2" + integrity sha512-MTF/BC6/clPccc13FbqgMuaIluBJ3Qs5sPov8z7/f8nns49/nTsli0MHG8oHA59+pYg8T9xWEWleZYxJ8FxmDg== dependencies: - "@abp/jquery" "~7.4.1" - "@abp/prismjs" "~7.4.1" + "@abp/jquery" "~7.4.2" + "@abp/prismjs" "~7.4.2" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json index 9e72809edd..2b789782c1 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json @@ -3,6 +3,6 @@ "name": "client-simulation-web", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock index 8c3619aab1..94cc459e47 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,158 +43,158 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/cms-kit/angular/package.json b/modules/cms-kit/angular/package.json index ac8ba74119..ede7c32b96 100644 --- a/modules/cms-kit/angular/package.json +++ b/modules/cms-kit/angular/package.json @@ -15,11 +15,11 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~7.4.1", - "@abp/ng.identity": "~7.4.1", - "@abp/ng.setting-management": "~7.4.1", - "@abp/ng.tenant-management": "~7.4.1", - "@abp/ng.theme.basic": "~7.4.1", + "@abp/ng.account": "~7.4.2", + "@abp/ng.identity": "~7.4.2", + "@abp/ng.setting-management": "~7.4.2", + "@abp/ng.tenant-management": "~7.4.2", + "@abp/ng.theme.basic": "~7.4.2", "@angular/animations": "~10.0.0", "@angular/common": "~10.0.0", "@angular/compiler": "~10.0.0", diff --git a/modules/cms-kit/angular/projects/cms-kit/package.json b/modules/cms-kit/angular/projects/cms-kit/package.json index 384a49000e..775099d5d3 100644 --- a/modules/cms-kit/angular/projects/cms-kit/package.json +++ b/modules/cms-kit/angular/projects/cms-kit/package.json @@ -4,8 +4,8 @@ "peerDependencies": { "@angular/common": "^9.1.11", "@angular/core": "^9.1.11", - "@abp/ng.core": ">=7.4.1", - "@abp/ng.theme.shared": ">=7.4.1" + "@abp/ng.core": ">=7.4.2", + "@abp/ng.theme.shared": ">=7.4.2" }, "dependencies": { "tslib": "^2.0.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json index afc96007fd..e3371c654e 100644 --- a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } diff --git a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock index 8c3619aab1..94cc459e47 100644 --- a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,158 +43,158 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json b/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json index 212b67b1c1..ef4a2dea54 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock index 8c3619aab1..94cc459e47 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,158 +43,158 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json index 6d059608f6..1cc2e235b9 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1", - "@abp/cms-kit": "7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2", + "@abp/cms-kit": "7.4.2" } } diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock index 8e20f36041..b9803e35cf 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,257 +43,257 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/clipboard@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.1.tgz#31329ad4565b5075b486e9ca63fb0ff8a070ff9e" - integrity sha512-/+ylBPs/TEZdwywSSTnj96WoRJPwQnR6vlI+sX7h9wDfSDbMwuSSdETSnDVT21lkl8gonPONFZTL8D1u/KKAhg== +"@abp/clipboard@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.2.tgz#e9c3361edb3aa22bfb5667f99605a26752843e91" + integrity sha512-KQRgMfvvtMS9StvHk0k15RB3UY6Z/5IN1CqjC/WSlHbn9SXNorEzkJ0gi1xoy/Hs0DTyPm74xnvd6GdQUShLQg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" clipboard "^2.0.8" -"@abp/cms-kit.admin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-7.4.1.tgz#aab06e7741b5cd5717ca2d1b4966a3ac1882646e" - integrity sha512-6mNdNp1m8dt/LK6HBDbaLs0DUnrAgWZVYWGGAc/ajrQPoZhw0gptqf4raAYnt0yDx+/30/Lw2cwsQQl5uAr5mw== +"@abp/cms-kit.admin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-7.4.2.tgz#71b3c1b9787977f65a241bebac12bbe02d81bde2" + integrity sha512-BZBy1qPY3pKsjT+OaXsJmFuhypAukj5/7HqCaQ3pYltqBkEYWjc+jq09hdz+x7RikzfIhrEkJqbQTY1JWSpcvw== dependencies: - "@abp/codemirror" "~7.4.1" - "@abp/jstree" "~7.4.1" - "@abp/slugify" "~7.4.1" - "@abp/tui-editor" "~7.4.1" - "@abp/uppy" "~7.4.1" + "@abp/codemirror" "~7.4.2" + "@abp/jstree" "~7.4.2" + "@abp/slugify" "~7.4.2" + "@abp/tui-editor" "~7.4.2" + "@abp/uppy" "~7.4.2" -"@abp/cms-kit.public@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-7.4.1.tgz#b140eb556985f18e2482cd9422b262fdcad5e6d1" - integrity sha512-5sPirQw6dtnKYTdZuMV9+rH1/W4ZUu3Apo3DwzCLs+VDw6KyaA3TlgYBmtwzXzaAU/e1MDMDjtTumMZos7DeeQ== +"@abp/cms-kit.public@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-7.4.2.tgz#1c4b7f77332cb1375e9cd2d3238044a96cfaa0d6" + integrity sha512-/ZzWuNWRe5D8M0098sZIRGdkXfQgG0uRUDOlzBR7EEl2j0lACR3q6R/1x0M8+IC4LFly1LOVjs2o2X+maCxaKQ== dependencies: - "@abp/highlight.js" "~7.4.1" - "@abp/star-rating-svg" "~7.4.1" + "@abp/highlight.js" "~7.4.2" + "@abp/star-rating-svg" "~7.4.2" -"@abp/cms-kit@7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-7.4.1.tgz#d04ceb79c8593dcd478df0c7293e4f31076250c6" - integrity sha512-VfInnERSq2o5nTvX6VRaFlWIx/tkz31ObRe1XRUU2tafK2W3CWgT85OXft9X0+CeSTyg3LTId9Gy8vtJ2yHm8w== +"@abp/cms-kit@7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-7.4.2.tgz#75886b7fc3982981ec25e0d65d3b1c88a6ae1fdf" + integrity sha512-w9gX0vF0YuANpSQGvKWXEigOr2G2wJWbVsmqQuskD60prV9oJ5pdl4enoKgYMIHxVs14Xg/a2pAaxEzMHHKGkw== dependencies: - "@abp/cms-kit.admin" "~7.4.1" - "@abp/cms-kit.public" "~7.4.1" + "@abp/cms-kit.admin" "~7.4.2" + "@abp/cms-kit.public" "~7.4.2" -"@abp/codemirror@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-7.4.1.tgz#ed501eaa95ad81bc83336eaff244fc2f70e8b133" - integrity sha512-EyxMJb3puv9jA4xMfQjRe6ZfsupZgQRg7+gxNXWEM8HyTbvrCPgRgrxlbN0KM9jeSAO8GiKgrOPhGpAeZks7sw== +"@abp/codemirror@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-7.4.2.tgz#a0bef7cfedd8ee3db6636a8ad9e3b4be31802b2b" + integrity sha512-woX0oVS18TZiH3+DU7/dIxHuIcZHZpW8iyHWVx5fyqg6RW49ie6Mv5Wo9q+qF7lneS7GDhSF09Zc3hdeqvK/pA== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" codemirror "^5.65.1" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/highlight.js@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-7.4.1.tgz#33417a919b2bb1e5d0e001cade3441ef956a29a0" - integrity sha512-pCU6zORLDzOv4GS7+SMyXYR0yUaZXwkioBnLim5+FLGYoeXn4/Jus4wAGMTiMd0kq+oimMPzHlelUPqSzx92ZQ== +"@abp/highlight.js@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-7.4.2.tgz#cf5cd146511e10a347d410591026de50178dda4b" + integrity sha512-dk1/WXLJl9wvKBFPi0o1lKP03m47qGSYrEG3tOnQyl5YCbB7p2xdFZlFwbcQwr1kkNzypJfkCZtULEgG1RAXyw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@highlightjs/cdn-assets" "~11.4.0" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/jstree@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-7.4.1.tgz#43dea84e32c07a29e4a7d770fedf03b2e6d0b07d" - integrity sha512-yf1r5vUF2bDl3MBW8ONY1COFYsLk0NMVS3XJzwVsaT99I+BfQ6Ll3EjWGYaieKNwWqzJfG2d8cJH/6Psn+MB0w== +"@abp/jstree@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-7.4.2.tgz#4ea359e7ce743a1fd1ecb5aed5646bef549c8064" + integrity sha512-TWfB/fZEFr9dsdvka/f9zo41Pg9ocjfGe29xiBIzDOYeO7RzymTu69QZ0GDn7t26mwv6cal6aGDjGd8U49DPwQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jstree "^3.3.12" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/prismjs@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.1.tgz#df4387dbc2f0c77ddb9b6bd0ade9a5db29b9cee2" - integrity sha512-bI7pEKWy32aRYSb2ZziiH6Teebyd8km+1TXADy1yks9i9G5eLWe4/CSdwWpI4M+8ggM8CsdhrZ6/U+55BpXPQA== +"@abp/prismjs@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.2.tgz#41c9c847c8b6f89a7c126e346a020c494ddb74e9" + integrity sha512-ap9bifcEzIXaM10reSEhOrdpJS+ZvNXk7R+Nl/malvJjxeUlln/bRVROtidFp9RP1eFYecDywQE86gfdSmBtTg== dependencies: - "@abp/clipboard" "~7.4.1" - "@abp/core" "~7.4.1" + "@abp/clipboard" "~7.4.2" + "@abp/core" "~7.4.2" prismjs "^1.26.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/slugify@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-7.4.1.tgz#6d3d64cb84cd9d9d2e2a9846aa5ea057df631630" - integrity sha512-aXB+N7TfqdJlTWYO79UmowCohB4k02QK0BWB0XUHyoBjqMDs2+776+ETNxGdvmPg+Xql48+YT9GS8dSwA+VBkg== +"@abp/slugify@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-7.4.2.tgz#41235e18bb02dccae6e70b1647f80e66f298795f" + integrity sha512-hjZ1O42JfA3iTWzwy1j5V08Ev4iFq3DaFWqz8UZkdXUFa+ZoYNPLSfimRUTSuMRUM54pywvB9jOIFrj1/nw/Ow== dependencies: slugify "^1.6.5" -"@abp/star-rating-svg@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-7.4.1.tgz#ac8fe734e5395fd2fb0079ca4ad1170a5e345a3c" - integrity sha512-avIu/3wTIHCkJiWBBA1Mfr70PuSu9ebnrp9igWdm3PdR6vlM8OI9Nfk+3YKuAAiHyDkL9WniQL0f50tY1ToI0Q== +"@abp/star-rating-svg@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-7.4.2.tgz#95c1c7ca79beb0ba891164805d6d17dadd8b8e74" + integrity sha512-xmbew+jJXKMtRQcP1XxWki1Ho08AOFy6/vrrtlzdx/whH8kc10BzjHmWIJHZm1APskstCFV7jO07uvZKbo2wJg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" star-rating-svg "^3.5.0" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/tui-editor@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-7.4.1.tgz#4adaffcc3d62c7f2159d6acbca71e14780270277" - integrity sha512-0wiLq03+EB6or9uBbz1ZEWnOAoUjJqqFDONVEv2LtuqWlaiDwzILrSMxihTyFsLGrSAUdezfk2L83DoJT6SsVg== +"@abp/tui-editor@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-7.4.2.tgz#9fdbc681ad6f1a1934336b09677dd15561f948e2" + integrity sha512-MTF/BC6/clPccc13FbqgMuaIluBJ3Qs5sPov8z7/f8nns49/nTsli0MHG8oHA59+pYg8T9xWEWleZYxJ8FxmDg== dependencies: - "@abp/jquery" "~7.4.1" - "@abp/prismjs" "~7.4.1" + "@abp/jquery" "~7.4.2" + "@abp/prismjs" "~7.4.2" -"@abp/uppy@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-7.4.1.tgz#84f906e48711f28552f430239a5735184e589275" - integrity sha512-oCOxAzdYpc1QkwL2h+jBxL9xGF0aAYxcrmvzzYqHCyXC8NG/xEtLFCJvek6cCnSGS5W+v62ZuuyzM03N9ucGNg== +"@abp/uppy@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-7.4.2.tgz#b62045550edfd5fae928d0bb0856fa2cff7cdbdb" + integrity sha512-uJ4f8JCk82swcKsPSDx3KC0bY1i8HhVUNqdPlQwNNDi3VMKzNLHOrfuty+tbXh/9VbKLXOLXOt8wutlK8dA4CA== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" uppy "^1.16.1" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/docs/app/VoloDocs.Web/package.json b/modules/docs/app/VoloDocs.Web/package.json index 9e3818c9b6..daa085e8a0 100644 --- a/modules/docs/app/VoloDocs.Web/package.json +++ b/modules/docs/app/VoloDocs.Web/package.json @@ -3,7 +3,7 @@ "name": "volo.docstestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1", - "@abp/docs": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2", + "@abp/docs": "~7.4.2" } } diff --git a/modules/docs/app/VoloDocs.Web/yarn.lock b/modules/docs/app/VoloDocs.Web/yarn.lock index 7c29d5a62d..f37e3f7965 100644 --- a/modules/docs/app/VoloDocs.Web/yarn.lock +++ b/modules/docs/app/VoloDocs.Web/yarn.lock @@ -2,47 +2,47 @@ # yarn lockfile v1 -"@abp/anchor-js@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-7.4.1.tgz#d9323f8c943e6f02268b55daa0072294ef54b96d" - integrity sha512-72tE6OmE8aUeERGtgktF9bdZ6CFMc33obX8KMU5WL8FynzsJYCbLsggTUc8WCfi/AxuFAtqqxKU1TTjypWs2SQ== +"@abp/anchor-js@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-7.4.2.tgz#818bb6bc0fd5fead3ccbcfbb83bd18f196e84ab2" + integrity sha512-rMBLQoUTgzyOSIZrTcPG8KhWeSp9nQEf49YaHPPY5ey8TZIkAqSWduaf4dAOz3VqVM32veDXM1xwB6TiWClQUg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" anchor-js "^4.3.1" -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -51,194 +51,194 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/clipboard@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.1.tgz#31329ad4565b5075b486e9ca63fb0ff8a070ff9e" - integrity sha512-/+ylBPs/TEZdwywSSTnj96WoRJPwQnR6vlI+sX7h9wDfSDbMwuSSdETSnDVT21lkl8gonPONFZTL8D1u/KKAhg== +"@abp/clipboard@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.2.tgz#e9c3361edb3aa22bfb5667f99605a26752843e91" + integrity sha512-KQRgMfvvtMS9StvHk0k15RB3UY6Z/5IN1CqjC/WSlHbn9SXNorEzkJ0gi1xoy/Hs0DTyPm74xnvd6GdQUShLQg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" clipboard "^2.0.8" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/docs@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-7.4.1.tgz#3dc2d04612baa7b414e9927853b8c50b5757553f" - integrity sha512-qaGvzmxiS0d1S9OOsCTK6qHeC+umKgCWS58F877eUHGOZWnnE7+ifChB27W1Y79Y87sQkqBYTOFIkq8iAXxwXg== +"@abp/docs@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-7.4.2.tgz#0e7ff46faf2700e431d12cfeb2f0390043b01a38" + integrity sha512-LSI46EEkn+aGhVGz3T0yEMeVJCa032EcrhxSjZwI6ZAE0gjq/zi1vV4vKkWSmP1pboucFL0tyOBmbDCbTn5rVw== dependencies: - "@abp/anchor-js" "~7.4.1" - "@abp/clipboard" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/popper.js" "~7.4.1" - "@abp/prismjs" "~7.4.1" + "@abp/anchor-js" "~7.4.2" + "@abp/clipboard" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/popper.js" "~7.4.2" + "@abp/prismjs" "~7.4.2" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/popper.js@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-7.4.1.tgz#db9ae010e87b0f2eb39cd277487100ffd4d08fd1" - integrity sha512-/tcVasfC5Tr0o2yBge7jxP2hfVcVYZoHjNnGAuIsFCvP4zpq65HkVam181QOoJXWMS6ibHJO6tRbYtIZ4ye4lQ== +"@abp/popper.js@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-7.4.2.tgz#abc4e8af05e604397f726d7e165e45e8ce452db6" + integrity sha512-k0TTmaF/A3dzvmT0keJmS6hafwGsYfaGw0hETPEoLGpr+3JCLc7Qni6AFabmFJTcbOqkSUHenMvXxYuGPu3yAw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@popperjs/core" "^2.11.2" -"@abp/prismjs@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.1.tgz#df4387dbc2f0c77ddb9b6bd0ade9a5db29b9cee2" - integrity sha512-bI7pEKWy32aRYSb2ZziiH6Teebyd8km+1TXADy1yks9i9G5eLWe4/CSdwWpI4M+8ggM8CsdhrZ6/U+55BpXPQA== +"@abp/prismjs@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.2.tgz#41c9c847c8b6f89a7c126e346a020c494ddb74e9" + integrity sha512-ap9bifcEzIXaM10reSEhOrdpJS+ZvNXk7R+Nl/malvJjxeUlln/bRVROtidFp9RP1eFYecDywQE86gfdSmBtTg== dependencies: - "@abp/clipboard" "~7.4.1" - "@abp/core" "~7.4.1" + "@abp/clipboard" "~7.4.2" + "@abp/core" "~7.4.2" prismjs "^1.26.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/openiddict/app/OpenIddict.Demo.Server/package.json b/modules/openiddict/app/OpenIddict.Demo.Server/package.json index 212b67b1c1..ef4a2dea54 100644 --- a/modules/openiddict/app/OpenIddict.Demo.Server/package.json +++ b/modules/openiddict/app/OpenIddict.Demo.Server/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } diff --git a/modules/openiddict/app/angular/package.json b/modules/openiddict/app/angular/package.json index 67fe60fb32..b1894382f6 100644 --- a/modules/openiddict/app/angular/package.json +++ b/modules/openiddict/app/angular/package.json @@ -12,15 +12,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~7.4.1", - "@abp/ng.components": "~7.4.1", - "@abp/ng.core": "~7.4.1", - "@abp/ng.oauth": "~7.4.1", - "@abp/ng.identity": "~7.4.1", - "@abp/ng.setting-management": "~7.4.1", - "@abp/ng.tenant-management": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", - "@abp/ng.theme.lepton-x": "~2.4.1", + "@abp/ng.account": "~7.4.2", + "@abp/ng.components": "~7.4.2", + "@abp/ng.core": "~7.4.2", + "@abp/ng.oauth": "~7.4.2", + "@abp/ng.identity": "~7.4.2", + "@abp/ng.setting-management": "~7.4.2", + "@abp/ng.tenant-management": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", + "@abp/ng.theme.lepton-x": "~2.4.2", "@angular/animations": "^15.0.1", "@angular/common": "^15.0.1", "@angular/compiler": "^15.0.1", @@ -36,7 +36,7 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@abp/ng.schematics": "~7.4.1", + "@abp/ng.schematics": "~7.4.2", "@angular-devkit/build-angular": "^15.0.1", "@angular-eslint/builder": "~15.1.0", "@angular-eslint/eslint-plugin": "~15.1.0", diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json index c8343aff2a..c42dc3df05 100644 --- a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json @@ -3,6 +3,6 @@ "name": "demo-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock index 8c3619aab1..94cc459e47 100644 --- a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,158 +43,158 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json index f051a7f998..09c73635f0 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1", - "@abp/virtual-file-explorer": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2", + "@abp/virtual-file-explorer": "~7.4.2" } } diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock index bb5e53de55..dc32903927 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.1.tgz#62df78aab8a0b374817fdbab6c6363529b43f925" - integrity sha512-KaPmBlwNjOl1+vwLj5O8J11YHBSRg4y0IIxtgZiculXQNFPHbYAXm8sfTw6Wcsx00STrhvUVJQxYMePNnOTCTg== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.1.tgz#8f8679f5cf80137324ddbec9fcaa67332783e708" - integrity sha512-0uUKuTsi/ikLFUUNEqvrn7KimgsvuK+7m1yZD4o47FQlgGxTyt1zQY9w3K6YyhyC3lsT6qCwiAPIoFOzPkIg/Q== - dependencies: - "@abp/aspnetcore.mvc.ui" "~7.4.1" - "@abp/bootstrap" "~7.4.1" - "@abp/bootstrap-datepicker" "~7.4.1" - "@abp/bootstrap-daterangepicker" "~7.4.1" - "@abp/datatables.net-bs5" "~7.4.1" - "@abp/font-awesome" "~7.4.1" - "@abp/jquery-form" "~7.4.1" - "@abp/jquery-validation-unobtrusive" "~7.4.1" - "@abp/lodash" "~7.4.1" - "@abp/luxon" "~7.4.1" - "@abp/malihu-custom-scrollbar-plugin" "~7.4.1" - "@abp/moment" "~7.4.1" - "@abp/select2" "~7.4.1" - "@abp/sweetalert2" "~7.4.1" - "@abp/timeago" "~7.4.1" - "@abp/toastr" "~7.4.1" - -"@abp/aspnetcore.mvc.ui@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.1.tgz#49c13718a17569f97b71f978b50f367dff67b8f7" - integrity sha512-EvYrfk0mpSt1jAMZmfFcHoNWEJskzResKp0bflOYsYPsZPuJ5WraKsk4IEEpesYHCyHW5AAb5HBJHeoSbVLh4Q== +"@abp/aspnetcore.mvc.ui.theme.basic@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-7.4.2.tgz#326aecf0f99bd5644b4d97e9f0583b4b7b3dc9bd" + integrity sha512-ZfsOmPbKfUl4revDpmz7wowWlpdBUQqFh/MTp4gpaWEfqKkFtqn3U0Ckg7cnxkHau9ME9TSOjbe05HT71/JOow== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~7.4.2" + +"@abp/aspnetcore.mvc.ui.theme.shared@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-7.4.2.tgz#78d51e65bcfe8f0a50e801810bcb77ae947863ee" + integrity sha512-y/fPI4vCpaEKH6VVuM93EIJ1/bi8XiXoS4KdPQWX4Wzpi1G4mzyedtV2UH2xzmWLpX3zPAttXiWOyRpovwImIg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~7.4.2" + "@abp/bootstrap" "~7.4.2" + "@abp/bootstrap-datepicker" "~7.4.2" + "@abp/bootstrap-daterangepicker" "~7.4.2" + "@abp/datatables.net-bs5" "~7.4.2" + "@abp/font-awesome" "~7.4.2" + "@abp/jquery-form" "~7.4.2" + "@abp/jquery-validation-unobtrusive" "~7.4.2" + "@abp/lodash" "~7.4.2" + "@abp/luxon" "~7.4.2" + "@abp/malihu-custom-scrollbar-plugin" "~7.4.2" + "@abp/moment" "~7.4.2" + "@abp/select2" "~7.4.2" + "@abp/sweetalert2" "~7.4.2" + "@abp/timeago" "~7.4.2" + "@abp/toastr" "~7.4.2" + +"@abp/aspnetcore.mvc.ui@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-7.4.2.tgz#ff734f986f6cf981332701b2ba035ee19fb09898" + integrity sha512-Hd/tspsCCK22k5sJwEzDLm8+TTjcMwqyMFbfkKjc+VcUSLT5ygsfxqROUbQGT5MNAsKH2Z8EiA9M7lnXB2BuAQ== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -43,185 +43,185 @@ merge-stream "^2.0.0" micromatch "^4.0.2" -"@abp/bootstrap-datepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.1.tgz#f8f35d0edf71368faaae4e40a72fa846b0084f9b" - integrity sha512-hsu8ty6c2oOevsNoyFTQ4yJAu27qnz82MgRNVS8MRfdzo05/LhBhy/tKFm+PFYJqZULYlpQ1GXUF2+uGyazIeg== +"@abp/bootstrap-datepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-7.4.2.tgz#5a2f23dae73115a1213178eabe2527d721db5dcf" + integrity sha512-0tYeKWUTTL+2SKhFrodI1GibrkRUingySaYwEhwpXZGBuiMNWVeRcuBeFVTTKbnIxpgaAZnmGrpwmI5H0LdX7g== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap-daterangepicker@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.1.tgz#b133cefdbed0fa1b8f1bda916a9d46952237238a" - integrity sha512-NpmbsO4Xg48Zmr8OOlf1fxuNMnFIqmRrkHiKp9lP5c8am64+7rRzCwATw2UY0Ud+4n8/ws+Iki1dwPQF6db1zw== +"@abp/bootstrap-daterangepicker@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-7.4.2.tgz#b95c17fe69da8332bdb63586179e406eef0df5ab" + integrity sha512-/9pQqh8tsBzN8jR9Dn9f3iDoMQdbmf/KMjdb/IYP6+Z41f1GPBuCa5KtYb/mSfigIb+NKE63ZZftwWiiHDSQ1w== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.1.tgz#b34a2fcc80e04212865652ee7f4f5498a6a61f6d" - integrity sha512-/qCgfrtNWZ2jui2iL6wd6MLrcxALSEFVBypaz1JK3WjEe7DvFAYvKLl7DugIv039/Sx3mbx/PJiQhx8CVZMsEA== +"@abp/bootstrap@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-7.4.2.tgz#3a0f318e33057f1c3526c833b23b122d9c86fda9" + integrity sha512-QdAI7GMpvWYFXbWjk/lzvt4j7KEGYcbi3YBQp+wW21Ia0khvqvSxYSKOkHlSeYyWXQFcR0cV07DVPELOXU9IVQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" bootstrap "^5.1.3" -"@abp/clipboard@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.1.tgz#31329ad4565b5075b486e9ca63fb0ff8a070ff9e" - integrity sha512-/+ylBPs/TEZdwywSSTnj96WoRJPwQnR6vlI+sX7h9wDfSDbMwuSSdETSnDVT21lkl8gonPONFZTL8D1u/KKAhg== +"@abp/clipboard@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-7.4.2.tgz#e9c3361edb3aa22bfb5667f99605a26752843e91" + integrity sha512-KQRgMfvvtMS9StvHk0k15RB3UY6Z/5IN1CqjC/WSlHbn9SXNorEzkJ0gi1xoy/Hs0DTyPm74xnvd6GdQUShLQg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" clipboard "^2.0.8" -"@abp/core@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.1.tgz#1d14899ad16aac038806504eb0a5be9318cdcc0c" - integrity sha512-p0BAe2kCtgZmq8pilahmuxmye8DeRXt2KmnFRbmYE3j4d0uComFZpC72QOD1iro8bkmbsHfsHJpiVg4Sp4licw== +"@abp/core@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-7.4.2.tgz#d3ff88ef571edfa00357d1bdceb1f5c56391421e" + integrity sha512-LKZj8Brfvv+FI754LRD4cpxOE/jgRB/mmo2bb3lLRpCmrh5qS1PAA0KGEavEioT0YzQVAi1cog7m6yBl53h63A== dependencies: - "@abp/utils" "~7.4.1" + "@abp/utils" "~7.4.2" -"@abp/datatables.net-bs5@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.1.tgz#821ee4c5db116f9810d65184855cea1fa7d47360" - integrity sha512-jpUzb65lCGYAxs/1qV3pRP8agHwIgZA9gDrudvR8S/3X3kNQWtmeKoFDZ93mhnl3aWPjWFKVrT2LeQeJw5XO5A== +"@abp/datatables.net-bs5@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-7.4.2.tgz#37de0409b34ada6ae9264b1bbdbd1963866dfe16" + integrity sha512-/po/W4h95dJ7ubeK35GQWeAf6F/o4cxrIHej0mwe5WTNvY+AH2dpP8vneHAg/rwHhxPSXHPfsCZ9nQwE3pUHjg== dependencies: - "@abp/datatables.net" "~7.4.1" + "@abp/datatables.net" "~7.4.2" datatables.net-bs5 "^1.11.4" -"@abp/datatables.net@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.1.tgz#a4501e92e9995da0759b9ce55756fe92c4e8db59" - integrity sha512-BZOOZLH7XrGlX3aFK97cwV9+npsTzALSBo87OgwO2U6UpeFq7yAOvmC0+L9dmIUDISeORn5IFc/zTsSSIQnpHQ== +"@abp/datatables.net@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-7.4.2.tgz#bd1a457b7063ea31eb96d809e0c20aae5913b7e2" + integrity sha512-iWKdKIegM3M029HpMG+qRTzkjsKtn8JzMcVzDqogVfBhDDGzn1E20Lop9gYw4bzKVkmGE+8hvb5hmu4h2FNLgA== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" datatables.net "^1.11.4" -"@abp/font-awesome@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.1.tgz#f6175a989aa64367830723f1dd9c607906716296" - integrity sha512-/ybaz4KROwFdG4Xv0yMTUMXOreDmKy1lKQuntqHEUnIorhXmkgcd5AQQ5AolJ4NmNdPNt1VYrRcTEmdz3nw+FA== +"@abp/font-awesome@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-7.4.2.tgz#f3d81c5a4e5f5a83921f9c4d659674391b727ecd" + integrity sha512-8fBQu6qI8ZvO+6344aoiMA1YKoEHv3g/lguyTFqzPgz1ROUeruVnZ1d3FuWYYTGSXJpAF+o+mJ5J7I66KZKfYg== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" "@fortawesome/fontawesome-free" "^5.15.4" -"@abp/jquery-form@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.1.tgz#67978c41cda204b4c2027d81fc66844379313fa6" - integrity sha512-JZ1D47s/kpTlfMcpD4Jrlh98bhEDsIlWJauvAYaS0EBPIU9V2zHGQ+h9GPFbSPrXe4sYxPSREcsc8KUVMhT5MQ== +"@abp/jquery-form@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-7.4.2.tgz#cdd14db05ffb133ca01ec622fb2e02994f724171" + integrity sha512-JENpQk9V8gHF3QG3NsjLkzN+RQEgjm9Xd79cKHXvaYTAGMMTdFQj/Y6UqEiGpCay++cHKnUdXbLy4J15R8d8aw== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.1.tgz#fe5c90ade419e83505884dd50dd5988d766f177b" - integrity sha512-oHHV/ukap+vDvQ8CnEWnOrrsLkHXIcMk+SjNKe/dyK5VzOVLDpMatRFmloLs2igYVXTqDGjmDlTswTFdJUarcQ== +"@abp/jquery-validation-unobtrusive@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-7.4.2.tgz#5ba608171e5c5b24c237283b7ccc614e485e2279" + integrity sha512-dFMB32Kio0rTxZIVi6UXZK+fW1GpyGgT7qj/mDeuXmnetWSKEAoHm53mECeqlq0LxGwBEiiEeIsh/9I6BJOisQ== dependencies: - "@abp/jquery-validation" "~7.4.1" + "@abp/jquery-validation" "~7.4.2" jquery-validation-unobtrusive "^3.2.12" -"@abp/jquery-validation@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.1.tgz#c2c06bc28770832a9ad73eac000586faed3bdbe3" - integrity sha512-A5iFT2EWfGHXrBb/ov5f0grZ2o2xkDaYtps/FnDUwBYdIdD8E7bbJsWp6ytvZDciO0XmEqAoVOxmiij7ue/SOg== +"@abp/jquery-validation@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-7.4.2.tgz#875eb5a7cbac26a08fc501536986e5074c02dde1" + integrity sha512-wkTROjMgCXPCk0GQ+u3BA94cy4AWsedbFzbNjFuzIJzg0erzlj7cHBKQ9ZztknkMFVNBMz3cM+tMQtoqUfz8KQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" jquery-validation "^1.19.3" -"@abp/jquery@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.1.tgz#b5e16834e6c7871ad6392612ac8e2de8617eb353" - integrity sha512-X3RcovvRYISHcsb6W3U3iVsofw6yomoiouoB1tSIy2/tvUbu9n7N/3MM0CUujFm/xib7s3z1tVxFssS9smT7sw== +"@abp/jquery@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-7.4.2.tgz#123fb0ad0c15e56cb1d6f355cfaa081008e00d1e" + integrity sha512-DZlQWI48tgk8JtepPviWz0Ils+kDD8xOXG6rZ2+eE0u4Cg2coqrkZzzz2t73kDNZ4s56NzO+w5Dl8BVEuPNzAQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" jquery "~3.6.0" -"@abp/lodash@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.1.tgz#d0f84b7b9cbd989d59ebde594ed7acb8bc720b61" - integrity sha512-RFjZCyAPZnpvT0SJbxXzzmMYbuocSWBlezvjAVA8MiTrOXdZO4VyaTFjIuQcAdSrZhtpFGeYWxAjHshVplxMbw== +"@abp/lodash@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-7.4.2.tgz#1f33f7b06c1e4ad386b126e2a25440ecfa4d987e" + integrity sha512-uOrf9r6Bsh09dWQ2gLycaCHuCrUPe3q1XaSIe/f0PKQGObaQEDzEEqsXMXpYJgCXn2CDCgQtsQZSo+PGescj1g== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" lodash "^4.17.21" -"@abp/luxon@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.1.tgz#e0c0947d2b77f98b9cdaf7d1143025879361c3c9" - integrity sha512-k1wh8tT1529MtNC2gSXEIKdimBXBwubXeLisgpIPx6lkJo1Op6pAz2ERwFXeyktqGdYyuFcnewJIxmS7EPtWhg== +"@abp/luxon@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-7.4.2.tgz#cf8340e781906506117f917667fc8963f3134317" + integrity sha512-2yrji0gSuF2Rayc0EA/G1bWAFEirf8ZFgH8guC9PTlb5ZmWw5hUv8DoLwY5H1iRRPJj00LSSqNg0cT65bw8grw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" luxon "^2.3.0" -"@abp/malihu-custom-scrollbar-plugin@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.1.tgz#aa7ec247197a258277549052780b38fd9e748c6c" - integrity sha512-pm/wIaiRSgGxelOf8AiL4JKFNZOQ6s2WbR6pULiP2HSNCgCpWYJ2s8fvj7VP3lAHIa98v3m8PSMSUhqaANxZ/Q== +"@abp/malihu-custom-scrollbar-plugin@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-7.4.2.tgz#6e16a5b15f8d24f3ce1d3449908210deda8a38eb" + integrity sha512-+xfnwjOVLPoSeIQZzIaSPD9sf0yIqf+umUUR2EjcdheOLqrLDYF9xLBiOnoRkj7w4zkCwQk4k3PQ1o6BYMwo+Q== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.1.tgz#1c28ccb13eecdd13695edf8641ca9867b318e37d" - integrity sha512-7vRJyAK5ER9z+LV1xUSAAtWlPlhv8yhM/nHjhC+IQSP/+V1D7VLA6EKxAEexGw7wX6HY8oMOWP9HxDHMb5hKQA== +"@abp/moment@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-7.4.2.tgz#04a4dddb21147e02ebe8f008d39e25fe35c76478" + integrity sha512-VnyW6ZWSpOSVY3KIuw8tw7RZcpQo5tEDUszQQD9+uB2pBA/QXVdGT7msY50mAa2MYEsSrQ1P5Zqpvwpma7EysA== dependencies: moment "^2.9.0" -"@abp/prismjs@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.1.tgz#df4387dbc2f0c77ddb9b6bd0ade9a5db29b9cee2" - integrity sha512-bI7pEKWy32aRYSb2ZziiH6Teebyd8km+1TXADy1yks9i9G5eLWe4/CSdwWpI4M+8ggM8CsdhrZ6/U+55BpXPQA== +"@abp/prismjs@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-7.4.2.tgz#41c9c847c8b6f89a7c126e346a020c494ddb74e9" + integrity sha512-ap9bifcEzIXaM10reSEhOrdpJS+ZvNXk7R+Nl/malvJjxeUlln/bRVROtidFp9RP1eFYecDywQE86gfdSmBtTg== dependencies: - "@abp/clipboard" "~7.4.1" - "@abp/core" "~7.4.1" + "@abp/clipboard" "~7.4.2" + "@abp/core" "~7.4.2" prismjs "^1.26.0" -"@abp/select2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.1.tgz#d7ea53cfec285a06278db362131b7510d5b73900" - integrity sha512-0S66iy7HuB74qqOSDraoF7UvXqz2PrnOKy+3EYMTMskOn4pWaq03JMR8xxEgZ8CtmsrqlE1a4wt1Yt9b3FIc0w== +"@abp/select2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-7.4.2.tgz#262cfff6d4a1a1d5010c1d81884f41ec22fc8d89" + integrity sha512-+R11EaFHg1JOHMvt9MGXP05k6LxtKUql/ywB9UoZ193N2/DKZ0dvc9mSplh4ZqgD4AhHae3frPs/f5ySPoMtJw== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" select2 "^4.0.13" -"@abp/sweetalert2@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.1.tgz#6722a40e5115cc341b7543aa0fa3b5a7ae9515b2" - integrity sha512-9jAHrYqCp5qykYfNNbqgESL6egixofVwonjZlb+lLWHAkIX+gQ2ApUNDFSXPtKUh2n9sXhSfF8SSg+BHP/bkCA== +"@abp/sweetalert2@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-7.4.2.tgz#4952f763b9fe9b26270fe85dfcf3bee440d92058" + integrity sha512-9HL6DwXIxXYbvF77bJMztVrbb+DKe7YTDGt90Q9JtJjTddUSiEPxLAUf6IRcjCCRuTdyywMIIhVptWmCQ4uQHQ== dependencies: - "@abp/core" "~7.4.1" + "@abp/core" "~7.4.2" sweetalert2 "^11.3.6" -"@abp/timeago@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.1.tgz#243d342ba131878ae7f892909c9cae07cf54902b" - integrity sha512-a0Vl2NFwTxzRmH5akWo8BRUxa6sK72z8OoXwUFkZOUqMWBCHK7ffNiN1/fbSgA+7HpSZdDvIthjYwBt57DxLdQ== +"@abp/timeago@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-7.4.2.tgz#2b5fd37ef6eac335dd6988162e7423ac241b3b43" + integrity sha512-GMfWVmNxyOO5NQWHe6CnKOXfiUZC/ph6/iT8+q+SWlhSQ7oVI4DyKnT9dAobq4fl5zUfQdVl3g3Gb9TP0mzZLg== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" timeago "^1.6.7" -"@abp/toastr@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.1.tgz#345545a41b6145e54477c6c376193a6dbd62bdda" - integrity sha512-OLCvPJYSrcT2spcq9nO838Q22VhJ63Kdzasz1HugdVNqgcFCCSsqaoXrJGUcf5GrZx7PNloz7uf1I3txYMeZtA== +"@abp/toastr@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-7.4.2.tgz#d8a640d31f59ac61613fd0b6339559228d630bd5" + integrity sha512-g00qHTY8KTlHfrYvrrXp50xHe6KulYmxtqVchJgZnCp4F0UsEap05KPAoZWI9Yes07DjD2FrruUHdSD2OHbXRQ== dependencies: - "@abp/jquery" "~7.4.1" + "@abp/jquery" "~7.4.2" toastr "^2.1.4" -"@abp/utils@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.1.tgz#2ce4c4d659c2ae9bc23b71b79fa3c6e120eaecaf" - integrity sha512-eFeoOXcz9cVkDKpOfd2VWmpAojASfsqfvACZqi1UmF16OcjsFIkxmIvhh1fpbT4A+eQLbaFFLIsf6gYb//tXhg== +"@abp/utils@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-7.4.2.tgz#7bbb3fa0e9570f3ed71d40ab038c8122089133a6" + integrity sha512-bTIoOvAldL7LHtOtWWY47mQ10VL5HHYWV5nwVyCMWlMRBv9zf5VP3IZvLNxPaPbkeMzJmoQ11ds5GU3POJfxzQ== dependencies: just-compare "^2.3.0" -"@abp/virtual-file-explorer@~7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@abp/virtual-file-explorer/-/virtual-file-explorer-7.4.1.tgz#f08e4d397749c44c0d7e2cbfd6e26641a9c77904" - integrity sha512-Rx10rm9cBtqP7VWWFhIeYO0/gZED6XphxUoN58OLZzKpTHrkNW4gf1P0emVVuxWD/j7M933rXjzSV8CT0Vtt+Q== +"@abp/virtual-file-explorer@~7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@abp/virtual-file-explorer/-/virtual-file-explorer-7.4.2.tgz#9a4587374a6658a7ceab6efa496f539ea9d0bd80" + integrity sha512-EXmEAVvJ6TNPF3nyN0G65qBnqjrkuPpY1W1Jtn0eRhxSpgDm3DiBv7h8YP1Qb1M0Iw78rOMvEXJezWRVS7op/w== dependencies: - "@abp/clipboard" "~7.4.1" - "@abp/prismjs" "~7.4.1" + "@abp/clipboard" "~7.4.2" + "@abp/prismjs" "~7.4.2" "@fortawesome/fontawesome-free@^5.15.4": version "5.15.4" diff --git a/npm/lerna.json b/npm/lerna.json index b5395f7a89..7303950895 100644 --- a/npm/lerna.json +++ b/npm/lerna.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "packages": [ "packs/*" ], diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 429c80552c..e00d2afaa2 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -44,8 +44,8 @@ }, "private": true, "devDependencies": { - "@abp/ng.theme.lepton-x": "~2.4.1", - "@abp/utils": "~7.4.1", + "@abp/ng.theme.lepton-x": "~2.4.2", + "@abp/utils": "~7.4.2", "@angular-devkit/build-angular": "~16.2.0", "@angular-devkit/core": "~16.2.0", "@angular-devkit/schematics": "~16.2.0", diff --git a/npm/ng-packs/packages/account-core/package.json b/npm/ng-packs/packages/account-core/package.json index b4bf728796..a488a9046b 100644 --- a/npm/ng-packs/packages/account-core/package.json +++ b/npm/ng-packs/packages/account-core/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.account.core", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "peerDependencies": { - "@abp/ng.core": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.core": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", "@angular/common": ">=12.0.0", "@angular/core": ">=12.0.0" }, diff --git a/npm/ng-packs/packages/account/package.json b/npm/ng-packs/packages/account/package.json index b3b2528d23..6ab28baec7 100644 --- a/npm/ng-packs/packages/account/package.json +++ b/npm/ng-packs/packages/account/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.account", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.account.core": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.account.core": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/components/package.json b/npm/ng-packs/packages/components/package.json index e9084eb9c0..3f7d5147dc 100644 --- a/npm/ng-packs/packages/components/package.json +++ b/npm/ng-packs/packages/components/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.components", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "peerDependencies": { - "@abp/ng.core": ">=7.4.1", - "@abp/ng.theme.shared": ">=7.4.1" + "@abp/ng.core": ">=7.4.2", + "@abp/ng.theme.shared": ">=7.4.2" }, "dependencies": { "chart.js": "^3.5.1", diff --git a/npm/ng-packs/packages/core/package.json b/npm/ng-packs/packages/core/package.json index 214e672d8f..cdf1228007 100644 --- a/npm/ng-packs/packages/core/package.json +++ b/npm/ng-packs/packages/core/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.core", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/utils": "~7.4.1", + "@abp/utils": "~7.4.2", "angular-oauth2-oidc": "^15.0.1", "just-clone": "^6.1.1", "just-compare": "^2.3.0", diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index de497ea449..f7d99b5bd4 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.feature-management", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.theme.shared": "~7.4.2", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/generators/package.json b/npm/ng-packs/packages/generators/package.json index eefbafd941..30feb068af 100644 --- a/npm/ng-packs/packages/generators/package.json +++ b/npm/ng-packs/packages/generators/package.json @@ -1,6 +1,6 @@ { "name": "@abp/nx.generators", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "generators": "./generators.json", "type": "commonjs", diff --git a/npm/ng-packs/packages/identity/package.json b/npm/ng-packs/packages/identity/package.json index 8df039e253..2935c6f9d9 100644 --- a/npm/ng-packs/packages/identity/package.json +++ b/npm/ng-packs/packages/identity/package.json @@ -1,15 +1,15 @@ { "name": "@abp/ng.identity", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.components": "~7.4.1", - "@abp/ng.permission-management": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.components": "~7.4.2", + "@abp/ng.permission-management": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/oauth/package.json b/npm/ng-packs/packages/oauth/package.json index b9dda531bb..5a5ea285ef 100644 --- a/npm/ng-packs/packages/oauth/package.json +++ b/npm/ng-packs/packages/oauth/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.oauth", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.core": "~7.4.1", - "@abp/utils": "~7.4.1", + "@abp/ng.core": "~7.4.2", + "@abp/utils": "~7.4.2", "angular-oauth2-oidc": "^15.0.1", "just-clone": "^6.1.1", "just-compare": "^2.3.0", diff --git a/npm/ng-packs/packages/permission-management/package.json b/npm/ng-packs/packages/permission-management/package.json index ee9c2ebfaa..862514882f 100644 --- a/npm/ng-packs/packages/permission-management/package.json +++ b/npm/ng-packs/packages/permission-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.permission-management", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.theme.shared": "~7.4.2", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/schematics/package.json b/npm/ng-packs/packages/schematics/package.json index 7d613dee16..65352d5ac7 100644 --- a/npm/ng-packs/packages/schematics/package.json +++ b/npm/ng-packs/packages/schematics/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.schematics", - "version": "7.4.1", + "version": "7.4.2", "author": "", "schematics": "./collection.json", "dependencies": { diff --git a/npm/ng-packs/packages/setting-management/package.json b/npm/ng-packs/packages/setting-management/package.json index 919d96f13d..dd41a094ff 100644 --- a/npm/ng-packs/packages/setting-management/package.json +++ b/npm/ng-packs/packages/setting-management/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.setting-management", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.components": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.components": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/tenant-management/package.json b/npm/ng-packs/packages/tenant-management/package.json index 7b98e6c2af..c52c71d13d 100644 --- a/npm/ng-packs/packages/tenant-management/package.json +++ b/npm/ng-packs/packages/tenant-management/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.tenant-management", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.feature-management": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.feature-management": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-basic/package.json b/npm/ng-packs/packages/theme-basic/package.json index 66fb3a6686..3ff8b596a7 100644 --- a/npm/ng-packs/packages/theme-basic/package.json +++ b/npm/ng-packs/packages/theme-basic/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.theme.basic", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.account.core": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.account.core": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index b3118175e5..ba54517fbb 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.theme.shared", - "version": "7.4.1", + "version": "7.4.2", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.core": "~7.4.1", + "@abp/ng.core": "~7.4.2", "@fortawesome/fontawesome-free": "^5.15.4", "@ng-bootstrap/ng-bootstrap": "^15.0.0", "@ngx-validate/core": "^0.2.0", diff --git a/npm/packs/anchor-js/package.json b/npm/packs/anchor-js/package.json index 1784f53c7a..233d813d3d 100644 --- a/npm/packs/anchor-js/package.json +++ b/npm/packs/anchor-js/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/anchor-js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "anchor-js": "^4.3.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/aspnetcore.components.server.basictheme/package.json b/npm/packs/aspnetcore.components.server.basictheme/package.json index 13bac6c467..19d8f1eaa9 100644 --- a/npm/packs/aspnetcore.components.server.basictheme/package.json +++ b/npm/packs/aspnetcore.components.server.basictheme/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/aspnetcore.components.server.basictheme", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.components.server.theming": "~7.4.1" + "@abp/aspnetcore.components.server.theming": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.components.server.theming/package.json b/npm/packs/aspnetcore.components.server.theming/package.json index 4086c1969b..bb9f071af9 100644 --- a/npm/packs/aspnetcore.components.server.theming/package.json +++ b/npm/packs/aspnetcore.components.server.theming/package.json @@ -1,12 +1,12 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/aspnetcore.components.server.theming", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/bootstrap": "~7.4.1", - "@abp/font-awesome": "~7.4.1" + "@abp/bootstrap": "~7.4.2", + "@abp/font-awesome": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json index 00cb45e009..4dc71d8f87 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/aspnetcore.mvc.ui.theme.basic", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.shared": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json index 6cf45992d6..67efdcfb75 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/aspnetcore.mvc.ui.theme.shared", "repository": { "type": "git", @@ -10,22 +10,22 @@ "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui": "~7.4.1", - "@abp/bootstrap": "~7.4.1", - "@abp/bootstrap-datepicker": "~7.4.1", - "@abp/bootstrap-daterangepicker": "~7.4.1", - "@abp/datatables.net-bs5": "~7.4.1", - "@abp/font-awesome": "~7.4.1", - "@abp/jquery-form": "~7.4.1", - "@abp/jquery-validation-unobtrusive": "~7.4.1", - "@abp/lodash": "~7.4.1", - "@abp/luxon": "~7.4.1", - "@abp/malihu-custom-scrollbar-plugin": "~7.4.1", - "@abp/moment": "~7.4.1", - "@abp/select2": "~7.4.1", - "@abp/sweetalert2": "~7.4.1", - "@abp/timeago": "~7.4.1", - "@abp/toastr": "~7.4.1" + "@abp/aspnetcore.mvc.ui": "~7.4.2", + "@abp/bootstrap": "~7.4.2", + "@abp/bootstrap-datepicker": "~7.4.2", + "@abp/bootstrap-daterangepicker": "~7.4.2", + "@abp/datatables.net-bs5": "~7.4.2", + "@abp/font-awesome": "~7.4.2", + "@abp/jquery-form": "~7.4.2", + "@abp/jquery-validation-unobtrusive": "~7.4.2", + "@abp/lodash": "~7.4.2", + "@abp/luxon": "~7.4.2", + "@abp/malihu-custom-scrollbar-plugin": "~7.4.2", + "@abp/moment": "~7.4.2", + "@abp/select2": "~7.4.2", + "@abp/sweetalert2": "~7.4.2", + "@abp/timeago": "~7.4.2", + "@abp/toastr": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.mvc.ui/package-lock.json b/npm/packs/aspnetcore.mvc.ui/package-lock.json index ea60b590ab..62e9b4bd28 100644 --- a/npm/packs/aspnetcore.mvc.ui/package-lock.json +++ b/npm/packs/aspnetcore.mvc.ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "@abp/aspnetcore.mvc.ui", - "version": "7.4.1", + "version": "7.4.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/npm/packs/aspnetcore.mvc.ui/package.json b/npm/packs/aspnetcore.mvc.ui/package.json index 00113c20bb..8bf858306d 100644 --- a/npm/packs/aspnetcore.mvc.ui/package.json +++ b/npm/packs/aspnetcore.mvc.ui/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/aspnetcore.mvc.ui", "repository": { "type": "git", diff --git a/npm/packs/blogging/package.json b/npm/packs/blogging/package.json index 237ebc11c3..ecd9a007ec 100644 --- a/npm/packs/blogging/package.json +++ b/npm/packs/blogging/package.json @@ -1,14 +1,14 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/blogging", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~7.4.1", - "@abp/owl.carousel": "~7.4.1", - "@abp/prismjs": "~7.4.1", - "@abp/tui-editor": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.shared": "~7.4.2", + "@abp/owl.carousel": "~7.4.2", + "@abp/prismjs": "~7.4.2", + "@abp/tui-editor": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/bootstrap-datepicker/package.json b/npm/packs/bootstrap-datepicker/package.json index 7d29b8b0a3..37d034ff7e 100644 --- a/npm/packs/bootstrap-datepicker/package.json +++ b/npm/packs/bootstrap-datepicker/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/bootstrap-datepicker", "repository": { "type": "git", diff --git a/npm/packs/bootstrap-daterangepicker/package.json b/npm/packs/bootstrap-daterangepicker/package.json index d92025f1bd..90d8edce2a 100644 --- a/npm/packs/bootstrap-daterangepicker/package.json +++ b/npm/packs/bootstrap-daterangepicker/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/bootstrap-daterangepicker", "repository": { "type": "git", diff --git a/npm/packs/bootstrap/package.json b/npm/packs/bootstrap/package.json index 09787d790b..2584ec42ec 100644 --- a/npm/packs/bootstrap/package.json +++ b/npm/packs/bootstrap/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/bootstrap", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "bootstrap": "^5.1.3" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/chart.js/package.json b/npm/packs/chart.js/package.json index 39a4844efd..b5de7793b2 100644 --- a/npm/packs/chart.js/package.json +++ b/npm/packs/chart.js/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/chart.js", "publishConfig": { "access": "public" diff --git a/npm/packs/clipboard/package.json b/npm/packs/clipboard/package.json index 069870a9f9..a508cf5e67 100644 --- a/npm/packs/clipboard/package.json +++ b/npm/packs/clipboard/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/clipboard", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "clipboard": "^2.0.8" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/cms-kit.admin/package.json b/npm/packs/cms-kit.admin/package.json index 316d70c1e2..5e829f3885 100644 --- a/npm/packs/cms-kit.admin/package.json +++ b/npm/packs/cms-kit.admin/package.json @@ -1,15 +1,15 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/cms-kit.admin", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/codemirror": "~7.4.1", - "@abp/jstree": "~7.4.1", - "@abp/slugify": "~7.4.1", - "@abp/tui-editor": "~7.4.1", - "@abp/uppy": "~7.4.1" + "@abp/codemirror": "~7.4.2", + "@abp/jstree": "~7.4.2", + "@abp/slugify": "~7.4.2", + "@abp/tui-editor": "~7.4.2", + "@abp/uppy": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/cms-kit.public/package.json b/npm/packs/cms-kit.public/package.json index 2a37ba8b99..763fd1d49c 100644 --- a/npm/packs/cms-kit.public/package.json +++ b/npm/packs/cms-kit.public/package.json @@ -1,12 +1,12 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/cms-kit.public", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/highlight.js": "~7.4.1", - "@abp/star-rating-svg": "~7.4.1" + "@abp/highlight.js": "~7.4.2", + "@abp/star-rating-svg": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/cms-kit/package.json b/npm/packs/cms-kit/package.json index 91d48ce1f8..8280b36280 100644 --- a/npm/packs/cms-kit/package.json +++ b/npm/packs/cms-kit/package.json @@ -1,12 +1,12 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/cms-kit", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/cms-kit.admin": "~7.4.1", - "@abp/cms-kit.public": "~7.4.1" + "@abp/cms-kit.admin": "~7.4.2", + "@abp/cms-kit.public": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/codemirror/package.json b/npm/packs/codemirror/package.json index 0ecb2d825f..d0987442f9 100644 --- a/npm/packs/codemirror/package.json +++ b/npm/packs/codemirror/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/codemirror", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "codemirror": "^5.65.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/core/package.json b/npm/packs/core/package.json index db2a5f8eba..0a686f93cb 100644 --- a/npm/packs/core/package.json +++ b/npm/packs/core/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/core", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/utils": "~7.4.1" + "@abp/utils": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/cropperjs/package.json b/npm/packs/cropperjs/package.json index 1c3adff63b..7290058593 100644 --- a/npm/packs/cropperjs/package.json +++ b/npm/packs/cropperjs/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/cropperjs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "cropperjs": "^1.5.12" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/datatables.net-bs4/package.json b/npm/packs/datatables.net-bs4/package.json index 6139027d97..cc30cb06a5 100644 --- a/npm/packs/datatables.net-bs4/package.json +++ b/npm/packs/datatables.net-bs4/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/datatables.net-bs4", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/datatables.net": "~7.4.1", + "@abp/datatables.net": "~7.4.2", "datatables.net-bs4": "^1.11.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/datatables.net-bs5/package.json b/npm/packs/datatables.net-bs5/package.json index 4ef0aa47c9..ce0b475ce3 100644 --- a/npm/packs/datatables.net-bs5/package.json +++ b/npm/packs/datatables.net-bs5/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/datatables.net-bs5", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/datatables.net": "~7.4.1", + "@abp/datatables.net": "~7.4.2", "datatables.net-bs5": "^1.11.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/datatables.net/package.json b/npm/packs/datatables.net/package.json index c40a7549cb..a5a9a4e526 100644 --- a/npm/packs/datatables.net/package.json +++ b/npm/packs/datatables.net/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/datatables.net", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", + "@abp/jquery": "~7.4.2", "datatables.net": "^1.11.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/docs/package.json b/npm/packs/docs/package.json index c6b03d5474..b15289eaa4 100644 --- a/npm/packs/docs/package.json +++ b/npm/packs/docs/package.json @@ -1,15 +1,15 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/docs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/anchor-js": "~7.4.1", - "@abp/clipboard": "~7.4.1", - "@abp/malihu-custom-scrollbar-plugin": "~7.4.1", - "@abp/popper.js": "~7.4.1", - "@abp/prismjs": "~7.4.1" + "@abp/anchor-js": "~7.4.2", + "@abp/clipboard": "~7.4.2", + "@abp/malihu-custom-scrollbar-plugin": "~7.4.2", + "@abp/popper.js": "~7.4.2", + "@abp/prismjs": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/flag-icon-css/package.json b/npm/packs/flag-icon-css/package.json index 904fa65c97..26615d0fbb 100644 --- a/npm/packs/flag-icon-css/package.json +++ b/npm/packs/flag-icon-css/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/flag-icon-css", "publishConfig": { "access": "public" diff --git a/npm/packs/flag-icons/package.json b/npm/packs/flag-icons/package.json index 026485667e..9fe55ff11b 100644 --- a/npm/packs/flag-icons/package.json +++ b/npm/packs/flag-icons/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/flag-icons", "publishConfig": { "access": "public" diff --git a/npm/packs/font-awesome/package.json b/npm/packs/font-awesome/package.json index 770e319e26..54af3c51ba 100644 --- a/npm/packs/font-awesome/package.json +++ b/npm/packs/font-awesome/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/font-awesome", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "@fortawesome/fontawesome-free": "^5.15.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/highlight.js/package.json b/npm/packs/highlight.js/package.json index acc04e595a..0f0228e5fb 100644 --- a/npm/packs/highlight.js/package.json +++ b/npm/packs/highlight.js/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/highlight.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "@highlightjs/cdn-assets": "~11.4.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery-form/package.json b/npm/packs/jquery-form/package.json index 910dda8881..a00ceacce2 100644 --- a/npm/packs/jquery-form/package.json +++ b/npm/packs/jquery-form/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/jquery-form", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", + "@abp/jquery": "~7.4.2", "jquery-form": "^4.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery-validation-unobtrusive/package.json b/npm/packs/jquery-validation-unobtrusive/package.json index 795087d7dd..585891dbcc 100644 --- a/npm/packs/jquery-validation-unobtrusive/package.json +++ b/npm/packs/jquery-validation-unobtrusive/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/jquery-validation-unobtrusive", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery-validation": "~7.4.1", + "@abp/jquery-validation": "~7.4.2", "jquery-validation-unobtrusive": "^3.2.12" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery-validation/package.json b/npm/packs/jquery-validation/package.json index 5178919e18..82684903b5 100644 --- a/npm/packs/jquery-validation/package.json +++ b/npm/packs/jquery-validation/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/jquery-validation", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", + "@abp/jquery": "~7.4.2", "jquery-validation": "^1.19.3" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery/package.json b/npm/packs/jquery/package.json index 631e7c0cb4..b6937e4892 100644 --- a/npm/packs/jquery/package.json +++ b/npm/packs/jquery/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/jquery", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "jquery": "~3.6.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jstree/package.json b/npm/packs/jstree/package.json index 2d94ce38b8..01dce3d150 100644 --- a/npm/packs/jstree/package.json +++ b/npm/packs/jstree/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/jstree", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", + "@abp/jquery": "~7.4.2", "jstree": "^3.3.12" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/lodash/package.json b/npm/packs/lodash/package.json index e253bf5026..def4a9e5d0 100644 --- a/npm/packs/lodash/package.json +++ b/npm/packs/lodash/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/lodash", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "lodash": "^4.17.21" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/luxon/package.json b/npm/packs/luxon/package.json index 3cc35bc828..df9d411e78 100644 --- a/npm/packs/luxon/package.json +++ b/npm/packs/luxon/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/luxon", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "luxon": "^2.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/malihu-custom-scrollbar-plugin/package.json b/npm/packs/malihu-custom-scrollbar-plugin/package.json index 72b953d34b..f82e24ad1f 100644 --- a/npm/packs/malihu-custom-scrollbar-plugin/package.json +++ b/npm/packs/malihu-custom-scrollbar-plugin/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/malihu-custom-scrollbar-plugin", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "malihu-custom-scrollbar-plugin": "^3.1.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/markdown-it/package.json b/npm/packs/markdown-it/package.json index 21409a9704..d97353801a 100644 --- a/npm/packs/markdown-it/package.json +++ b/npm/packs/markdown-it/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/markdown-it", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "markdown-it": "^12.3.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/moment/package.json b/npm/packs/moment/package.json index 56d5123a88..9a3e0a707d 100644 --- a/npm/packs/moment/package.json +++ b/npm/packs/moment/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/moment", "repository": { "type": "git", diff --git a/npm/packs/owl.carousel/package.json b/npm/packs/owl.carousel/package.json index cbba8f8c5b..c40173a001 100644 --- a/npm/packs/owl.carousel/package.json +++ b/npm/packs/owl.carousel/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/owl.carousel", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "owl.carousel": "^2.3.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/popper.js/package.json b/npm/packs/popper.js/package.json index 5aa46044ea..0e9d9c6a9b 100644 --- a/npm/packs/popper.js/package.json +++ b/npm/packs/popper.js/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/popper.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "@popperjs/core": "^2.11.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/prismjs/package.json b/npm/packs/prismjs/package.json index a76d8b4d48..7e218c8bb5 100644 --- a/npm/packs/prismjs/package.json +++ b/npm/packs/prismjs/package.json @@ -1,12 +1,12 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/prismjs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~7.4.1", - "@abp/core": "~7.4.1", + "@abp/clipboard": "~7.4.2", + "@abp/core": "~7.4.2", "prismjs": "^1.26.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/qrcode/package.json b/npm/packs/qrcode/package.json index 83cdc72c28..244a641640 100644 --- a/npm/packs/qrcode/package.json +++ b/npm/packs/qrcode/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/qrcode", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1" + "@abp/core": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/select2/package.json b/npm/packs/select2/package.json index da628403c1..28ffcc1af3 100644 --- a/npm/packs/select2/package.json +++ b/npm/packs/select2/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/select2", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "select2": "^4.0.13" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/signalr/package.json b/npm/packs/signalr/package.json index 7934a12406..f0967aa432 100644 --- a/npm/packs/signalr/package.json +++ b/npm/packs/signalr/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/signalr", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "@microsoft/signalr": "~6.0.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/slugify/package.json b/npm/packs/slugify/package.json index 5a66ee22f5..7a608b1b7f 100644 --- a/npm/packs/slugify/package.json +++ b/npm/packs/slugify/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/slugify", "publishConfig": { "access": "public" diff --git a/npm/packs/star-rating-svg/package.json b/npm/packs/star-rating-svg/package.json index a7923aadc7..227ac3d2b5 100644 --- a/npm/packs/star-rating-svg/package.json +++ b/npm/packs/star-rating-svg/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/star-rating-svg", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", + "@abp/jquery": "~7.4.2", "star-rating-svg": "^3.5.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/sweetalert2/package.json b/npm/packs/sweetalert2/package.json index 7508409375..002dbd1f24 100644 --- a/npm/packs/sweetalert2/package.json +++ b/npm/packs/sweetalert2/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/sweetalert2", "publishConfig": { "access": "public" @@ -10,7 +10,7 @@ "directory": "npm/packs/sweetalert2" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "sweetalert2": "^11.3.6" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/timeago/package.json b/npm/packs/timeago/package.json index 828a8a2ba4..894cb145db 100644 --- a/npm/packs/timeago/package.json +++ b/npm/packs/timeago/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/timeago", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", + "@abp/jquery": "~7.4.2", "timeago": "^1.6.7" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/toastr/package.json b/npm/packs/toastr/package.json index 7a9fb784cd..31046eb01d 100644 --- a/npm/packs/toastr/package.json +++ b/npm/packs/toastr/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/toastr", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", + "@abp/jquery": "~7.4.2", "toastr": "^2.1.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/tui-editor/package.json b/npm/packs/tui-editor/package.json index ea66914086..c22bb19e48 100644 --- a/npm/packs/tui-editor/package.json +++ b/npm/packs/tui-editor/package.json @@ -1,12 +1,12 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/tui-editor", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~7.4.1", - "@abp/prismjs": "~7.4.1" + "@abp/jquery": "~7.4.2", + "@abp/prismjs": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/uppy/package.json b/npm/packs/uppy/package.json index 0a914395c4..cc66e05da8 100644 --- a/npm/packs/uppy/package.json +++ b/npm/packs/uppy/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/uppy", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~7.4.1", + "@abp/core": "~7.4.2", "uppy": "^1.16.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/utils/package.json b/npm/packs/utils/package.json index fa6dbe0af0..7e75dd7e6a 100644 --- a/npm/packs/utils/package.json +++ b/npm/packs/utils/package.json @@ -1,6 +1,6 @@ { "name": "@abp/utils", - "version": "7.4.1", + "version": "7.4.2", "scripts": { "prepublishOnly": "yarn install --ignore-scripts && node prepublish.js", "ng": "ng", diff --git a/npm/packs/vee-validate/package.json b/npm/packs/vee-validate/package.json index acc479df3f..12c4440bf2 100644 --- a/npm/packs/vee-validate/package.json +++ b/npm/packs/vee-validate/package.json @@ -1,11 +1,11 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/vee-validate", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/vue": "~7.4.1", + "@abp/vue": "~7.4.2", "vee-validate": "~3.4.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/virtual-file-explorer/package.json b/npm/packs/virtual-file-explorer/package.json index 4c33fd06e8..c3809880f0 100644 --- a/npm/packs/virtual-file-explorer/package.json +++ b/npm/packs/virtual-file-explorer/package.json @@ -1,12 +1,12 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/virtual-file-explorer", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~7.4.1", - "@abp/prismjs": "~7.4.1" + "@abp/clipboard": "~7.4.2", + "@abp/prismjs": "~7.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/vue/package.json b/npm/packs/vue/package.json index 3c5fcad26f..1045c73c95 100644 --- a/npm/packs/vue/package.json +++ b/npm/packs/vue/package.json @@ -1,5 +1,5 @@ { - "version": "7.4.1", + "version": "7.4.2", "name": "@abp/vue", "publishConfig": { "access": "public" diff --git a/source-code/Volo.Abp.Account.SourceCode/Volo.Abp.Account.SourceCode.zip b/source-code/Volo.Abp.Account.SourceCode/Volo.Abp.Account.SourceCode.zip index 84f047a17cff837d06b634d66bf72c0a47da27d2..f3194b3c52dc83516a3da09632b56668078bb37e 100644 GIT binary patch delta 14249 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 delta 14444 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 diff --git a/source-code/Volo.Abp.AuditLogging.SourceCode/Volo.Abp.AuditLogging.SourceCode.zip b/source-code/Volo.Abp.AuditLogging.SourceCode/Volo.Abp.AuditLogging.SourceCode.zip index 159c8e04fdef9b288b76201145585c3ef65f2134..c089587ae9c9905eb0d6c38ce4c6d10488156fe5 100644 GIT binary patch delta 2435 zcmYL}dt6Of6vxl%-rVZet*DTz=ta7vBFSrR@+QKEB9C(On5H+9kwM5?Y0IewBQz5R z)yWu-hUVk(5vC-jNuN)il@a-r*F?;@Yn?mu*Z!X0dhNZ=-m9rz-c&EQ2$?LC+i)Cb z!UfHX-D9yxRz4@TIH}c0CVmQ0vTeo)uT2Jn9#}uKt=8fiIx;{1O0=BgrrL8{PZnvZ z7V6Db$kBJEWgYo?TQ{KZtHf#fDkF|tWz2EjEYQW7ZR=DCsgCwkB+llI0&_1`rG856`_Ag^b_;LZ zKQ*}dK=*N`Cw}xkcOlJRw!eH+Q$y69xXDlbH>^02ne)u~cKeIy;?@e?$B8@ZK0NU} zSasO6EqhP!>7t0CT%{t~r183{vF!M#ywX!U(~Zv@_AMH&-0}Coc$)nahE|PgTIO0Kr9U8GyLmVTh1-X4Ysb#s&yh`7K)2(NnXM@-- z8OuN7%Mx7tVKystNmeA!X?k_^;xXpxdIwYemaf0ffw@#v;rStM4%3EEAv&moYdl0#EZ&J(0j3vASd>Ev=1hA37Umf zgw!z}1jol((V@!5|3#2H=@Pb72%kENl>H$|bl0tC)zZORLa~8DO_(*gG|!b$zE|NF zNcnjI?O)gyF_KI-A~OiWb&dpUqh`>qADw?}^j_TYZ1HR{EOKd#FlC9Hd}c1)K=9`> zKLX3>Qv{d4Sw%1`wvxa+-iJV&5JZrk=uL1g>46FMfL{|!uUxUgj7&CZ7ib$Vj-AfC zAU@qdGme{y&C{l-1^Z2p=t!T_oiUQR>};{n-`l*CSpg2>mUXP*rDOo?cpR+l#kO1_CDE5;PGr7!O2En>ga9< zb!L!)$sZmzxzuXP8l5ZoM$Lr^%-T0p%W+h#$bv)Yvex;KRcs&^WKk?*YtLO!$+ zjP2-wz#={l(T{SL`%#N8tp4L5T)Tdnf@`F-7JV9n-|s(#;5w-@9M?i=?eaMlzc+tg z@&9m!FVQH*eOZL-U0Sn;!gl?4_En%st{-FkGyr_$d_a6$2D>r6 zep>OBGT4OjY&k4II4i<`^N8z9prr zv|nvENJr&HH{cO;HgE#L+7>bqj@m*VLZF@GTwy2Gn$aEBp{b@j;1B0#_K=D`=^+(e z(o?F{WPoM%kc?4}>?PBpUea+M_maYs)Kd6cwPae^TY|R+Sm|I;46xGCpg2n5DSag6 zg8@?d8WaPhI6)fjr_%sw&TtSFXBQ|%sB?i+2s>OQlg179qjJ*?vJrIs=pys4`@vRJ x*7S#M2nu(pV;Syn4wcCRpa7wL031Qc^^o%TXrv~HlVt~*rg=&i?VcxO{R;z4XAb}X delta 2435 zcmYL}c|28V7{|}!UarV46*r1YBR5HDF_Xa?-)H`54ox za9SqSq?wkf=9Bi3H0?1nDnqMMbMEt;JM-83J-=sr-{-vV)6p*NXqOrU&yYyX8HUki zGTfs!8!VJWOp0nqf2k!AKKVFFkv2lN?s!lGJ5sOEL|DT-tE&8jxkVwh}ghH+uN6?SY5_y1)9%jC}rgrcaue$<5AJ zHMj;|S6ueGlG;1G^J?F*+!=XcJsVy63U7zTUGmMz+|j|c?;5agO}%CRr41GfF5W&k zzH|Fv-vRpHD@{e+UbAnUufV&P`ezA}fvxUF8!I=KD)o#O$H1U+EYBH6}&XFCXlg;_h<<8Wr5$IeZb4>@{mHo?v`fNP z*SNB&iir@x?olk0{ZW7A-t;?ltiAm;O!eNr3sZGEET&Ym9m^zWd8Vwu?k{a>UeP7| z;94PFl+gWQY_NwJTY6QSvyy_6?H+9m-Yhsj#h^c(Z(_RUF>zY>FWk1(C9_J`MOsJW zc-D0c?eg5X2k5nDd;}HMo>+>&R!m-pMZGTiWxNrJ9v6!GVo{fg4s4pc1(>mg?y0hS z&0Q}7uK2N^-E*++iZ6F#IWwo73f9r%8?fRVJRGQ6n`a4DOY{=&)pQjV$-O7(PY?vfWe0Vp4@qC|2QD zPIV&KH_ez1b;|D!L1n;cY$+cZm{CZVl#@UAdyAb&I5gj_l!B$V$(W!%$cvjpyMEa8Nb9YzdGct3tNt5@7K-YQ#QIv@jBO@e;%AD zVVLv!!gZeASe8fq%r7sIVwnE*8woi=*dg}XnK|47Ymo6-RRz@Iz8#eWTWj`dqqpC@ zhrzZQZ+_?Aab&+$S3!{4c#F>C|KmAQj87dVxNznuLH_wJf|Sb-q`r#Rq0*uQ%P>Mcinu@-B%*v$2H&Bq zo;2J7UD%9ruP&@XSUy0E?;8Ni(NR5RxLiF*LHlz($UunIhh&7C`jC$hHc*7Nfsl^M zECWbFIBg(CxfzNlJ81}MXmT-vJcN29SdO4HhII&sjm5@|F@cS!oHh|lOfiKOq?n5P zRhhwhR4$qUhY)KH`w>hAK`FxbgP;n*+d_1{WFgj?GZE>X-AI^mg5sN+^A{Jdd zRIJsZfp|+;hEWeKMbknn@i>pH#PD>v82(x=nzDw8@LB^|)*3|vSvDHQMhwpxE-LRd zkTXJ~XduTH3UELD8Yr-X9jMqT;4ng)0uCY++lwZp18hU(vICSO#Eztk%yo~1LR50U vfFcB$qu8+$M>vkkj8RaF&^roh5GtL-JY$t&6NJf9jHX$m#fx@pG?e`dQb1z% diff --git a/source-code/Volo.Abp.BackgroundJobs.SourceCode/Volo.Abp.BackgroundJobs.SourceCode.zip b/source-code/Volo.Abp.BackgroundJobs.SourceCode/Volo.Abp.BackgroundJobs.SourceCode.zip index 26fe756069c4e3cf9e80432c782b7dd53aa52201..d04d27d82e2eba9d2716dc44b54e85f93ef91f22 100644 GIT binary patch delta 5397 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 delta 5519 zcmZ`+2|QL=8-HE0WS1znvSf+ZE=*)AQ3|0fDM_d%YcoxzP53NHg{Ler6RjU5-j&=Ilt%q*f030Ur=)CVnHE!4u>Pk z`N_gBO)@}m#SebxHVsgM=#v*HxO)O#42q@-FbjyAxCaBW;xfW`p)T7>BtnyJW1xQ0 zT4HRfkclO{dPRMVq$`EVA|GD7sizMg6X0;Hg*Y51=rq&>m7A(?^`D&r?brdDTO<(CweEGkmTy&`z@ zx1UZeyjWN1V%mOPYDn{dzhn1-#^NC>p^+txNABu|?2j*h5xYmSzEjq?L1jXeiFS=n ze8siMB%l14o5evApCr!@T(})$qpsLp``60>v&Fh;_R-u0M`{A97TgN7ud5!6*35KC zx7?ZC_OvE7A+mQ$w6WC}pZ(gZ_3a<`t=W_2uD-KV>7GqZl3|UcWnJ+3%dbcK>fK`h zI_934T=Bwb>ex{pVGQ5e!;3lw@Y0Y)|~%ZI^8a3YPs#_ zq}i7vPf9Zd78|QDZ;GZoq0&IBfKb`2txn;(%)fTxC@KkuLeDBx7cG#{F@+FaIV^px zI=EL3RV@OEz4=mo=+;#baN~W}6(>%`^l7rtGAIzh^#~I0E%-8?SN!YG_>IST!m=vJn0kSD+-qt%KL70g@}3+x5jHHat!kHd^VZ8X9IL zSsGclyKj1=USC$$_f`Ep`}{(wRVSwCkhL!%k zYnRAqH|?mGnoFJZ=5dca-O;in*11KDH}iOSyK~BssH~W;apA$g^d0IE`R(7KkGns8 zewjrr5AamBoRp@2Pu=-I*|PRfd5gf0p93wn#E(#`2hwh&ZEuYAm&s}6we4<_y6E6z zm^+wxQ7qn3jJhhMzb^RgCz+Ewa&vay{r!AoOTt1=SJ?!qX@wybX4~e5UfH4@RTf*h zDsE$5m89qGmq)L@KVy}d^~&l(V4Ku$ziK%YRcUo^4fCsA*51_Ox&+pQevLO85oFzj zu*0<&mMTDO1|TMt(+8%&43Ak**CY)7UeW>z z5aEUS17GhZ>}?%3rSDCZS!&Tqt;uE2C>Zn#V3kBlr_evO`jApJ#uq#)1GY*O-r6!Tw9oL5W4UgXEfq_W z+egHj<&HZy9r21*%AOLWz0)CUQ<2=T;+nvdcT1yg?$Yn#p1jPfOcuP-S1|LUO;i@Q z^-0Q{clL>*;=RkeMmNOmv(9;^-C)SI@lg1hHPm-rbKM4`7a^arliMrxYV|eUR~jr; z=*pNsy8W{dt72ZOr1q*!LqsT{X9apdJ7^c??sU+4LZ;%nQ@CmE7x~kwJo2EfWwf9xQ@myNrza#ro*LD(DeBdW@WkYFt1tqEI97RBN3$>Kz08mW)P&zEtV z@IGugDJaDpk@qbxwkV?0c1IWlOpVgxCV+FNEbsj`RZ_<(I|p#!iP6`HtJ+;dWN|ar zge*SAeISdWcr&ulPvnaNlXwJCN?u432ucYh$b-FM1aV09#t7u6kx-CsL{x4;G+8V< zs3{=HBy0C&AU_0=mk);5)FCgU4Cl5g^BvLi$hIUt({fgjMgMOeL}Y(>I#~qfogz(s zxG>kw40UBJ+Wc;EKx}!@NBQXu9D79cYfh9ASBV8z_z9m5C!&i*$H-!Jah?F~cJmW; zPlS=r2j~e!-R=n7VM&;NMifR%M0h`)OmMqxkDVRq zmwU{NW{MLzoFJA?y*6^@3o_MHa4y_xni}RJXf^2FlEAjC0fA+^Sr;iT1Faf4Y&*Ax zrbhH2&BOqbYSb}Qj3C+oL!WCDaJqPKK&i|`scc}my9I`KqWFx^)H`D^y0aRzZ^>Xr znSlaqY89woOprT2$f}pX?sVpu6lx%Mwuk{XO})@jyALByZk2T&*;dMsEW!_1)5 zQV(|ArE%PxyEL`JoDWGt);%d~?~z;}6o+D*68$H86?2fXFDU={jlC*M1bt(VHK4F! zFPMuImqB{H+;>SDvlI)hK=tSh$ZHgVI%`QtzDu&|k95tKLc89A>drRUXFbk98V=nf zg?xTa|Ii2;1V5^AILlcPUfc2wG-0vbB&fe3f$8XNpaoV!OydGr+^C4zW=$C^7tfHM z7q)6{q$$^h*kMJw6zsY8zf+#WGPhVX&VUr7;2upKUd)H(K<2(0NG$o5oW-9swcnW~ z{^Be?*0sz4(||&_pt^aoLg~4TGn)M!_cko$NLOgQZ^Lko_dlLI0g( z>yBcWp{c=gjLfSDp6AJj4ZyZZ28U)%8?4Zse=9SS2kDVR8!49rq{K8c`>4Bm<4w(Y zsDZtXl-+xzfO=!=cXz@pAHJd@)86=KF+&TSd8k08`SNAV$TAymc>K{ZVWsB;c8})a zVB<+)>lpZf>^V({@cY(;9=Sq)X`;+rr8pcfmcxDiNLdF>In!Xk|683y9@CWe+A&f6 zV?~@aGaf3gP z#@MteP}@WJvgwf5CWqbD<`x|sMk#9`zS;NQa%gN@gxyYWr>Udi=pNUA)$KYMN~q(A4WKe6a-7cj#jG zqX^E}2IscT2ft22Q)nkD+D-)7LQUr+tkr>_Q3f&wgQvk`S=O>^JV!`OT>pLuTdQKKa+>ENpg^qDD@pV72P!Do%9b?6|i_l z7+Lg;rlgX`iOuj9+%;Q5m>&hqy}y+y~K$@FHN~+BFGIY zo=<=yy_2zK8G;?NQQzAl2eM%ES`-XlO~yNP61g|A6YVYw9VtH+Q}H>-z!{_lC&HCi zlkq``YuLNB6Dg%51NQlQ3WKl6`SW>AQ$HL=rtWb2HR;hd1bOFS$hl7mXY^wqO$i@G zyWKO!i)uejbsa;HAJ`5kLiwOHj_LbmNrW6K<4JTy?`0);6*~KKvA10VG_|b&n|>b9 z#gNV*Owljrbv&g z=ynvV0zI*;nEIE-R80_JlDJS3L-N?{*M_$b)zO|7pgl#f%$&*?Gycu01$&2#FkO{H zH1*{&OT-=KVv)}Ufde*SQDP0?9s0)eLWEGY!o*>NV Pgrk41IfpZ+g8BL{62Y*z diff --git a/source-code/Volo.Abp.BasicTheme.SourceCode/Volo.Abp.BasicTheme.SourceCode.zip b/source-code/Volo.Abp.BasicTheme.SourceCode/Volo.Abp.BasicTheme.SourceCode.zip index 686fb5c846cb34b30fe40674c338c43b10dd21c6..6f092a9679766a4b38ad2dec7d5bf75e2fb3b44e 100644 GIT binary patch delta 65581 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%0A?X&f@!rl*od)T`o_qe#$+q*-DVu(fH4k*z9 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 A;Q#;t delta 65837 zcmY)U18`;C^9BmXwrx&q+t$RH*tU}s+qP|66Wg{Xww-T&^ZviO_nxXo%C+K9~SrQ3ezY4G0Jb3P_7nw;ui)1k{;ZxA7Y!930f;uMi0(2>ic0iPO-5 z|1>{g4nY42+z71y**YL)|7U`Xa`#UIfok)g#uc6ZpO9FJ83*-u5q0$NLH9%fEKh)v z%m5==@DAiVV!ptxD}n*TF9U>R|Csuv*DMn=widbZsqBK@ZC6)CNd7QH=)=DD9j;U| znx|UE0`_-996qf9{+GbnJN82Hg66LWyyAi1_IZoX7S~1fOZu;EW`L@NL!nM@ScK)y zro{jvsm&EFg@bX{<2asW^ld)O@<4#BdD39&8#MB_vGZLIFYkA9NzUC52#r^91tuvPyIyV@s?fVoQ7@LHVcs zL+1B$_OFH;7zoJp|Frapex&Fi^8tyeq+LKy1;2#MCOl4??09^G`L80uO@J2TW%@{tSP0Xl54LL7~kl*^)7t+IDUkk@t~p6 z4tnCrPkg4FueYz21a#b@Z@L0vr&A+m%;czRr*XFEd|iCIx%TMC)!QMVPoj3%9SRQ{06LnK zTKans?)z_c2lYqcv=)m&l9RZJ@jyGW{42>f3e>IjI@j&SqJ;(f+$4JzDcA z4Qe8HibtdM(S`oYvCa?YvhP9)&}Y@Ng|_E-K|oB9g|rw*MGa+Deh#aw@IS<63g_;_ zqWg*NHi-=d7G4#IsMAEMb-yDIg+}ZUWCY^|7CsI9N?Qt;LB~wyLi~Fh4{j2E)!p0N z0!-}aNA`nB!$dB&hTjzCK9e^$5dR-W`CGS%9lZ1ZQXk7_2=cFDF7quP5?=)jfaMys z1x11XWj~s{1ik!kZL$A62E0K|9NN2Cj9r9h)<8isK2(oe=ni`9<%TP zfsz;`pYqQEU*Y55H=g1L^#9fdxkUII2(gkRU<#(65h>_8xJP76bNLN4fD+LMftVsP zJdKsig1(r)v(pj*-IZbIV)9~>{TC(7u(1TgboQzcV)v?dT`EHQ7+Rmv*Bp{fe0ne* z)5K{6 z{>uTKS1?{8uBI1=VL@Y>ro}(2L@@2rf61s}W18^-{mUcJf0^cgC^4nl14D8olIhR@ z+Dg3^A=3c48L-1xUf~UhdFf{rwG}2$l1-=3_KB@)Ec4Gqy-+xR#nzd zUOMk|KIgIOUa?UP#{)vQm0V(*p19Ni>kZ|8+`=si{55U7?`;u@ggjQhS1<2*(z*rZ z8i;dV*PSR4y7ESz7W>4jG{yeDnh*~geox5_!{U z)#U6p*O^{!Tpk|Hkvh~>nh35#C~PTnRwh`#mvSs@k9iA^cX(RS;5^w^DAPQlf>%L^ z{@~e1T`GTxyX_0l(k8h~-K!fxT4VEJUrb|MMdeR^mYZJSE1QPYSsvf?89nls(+Wvu zspp|(_4}k2^MkyfAx0c*DcWX$iJwiUxBgED!Hy(o=aj?np5Ae{g^8OfwAzsBM9oDv z=0Z69e*!kxdW3cpPT%20FUb%Pe>oncF)jz|T;^qWDG#_ka-Rk&(ll_9$cB(<2M#v0 z6U%}c7(fvl2<165=MVm9sAFfx>=8J2-78^LjGvK>>RkF(G4MIuJRar*Fn+y`y}myn ztCGaEY;(Umd(ZRQ;3ax??=rYpWhR04-*l zn>e9V>kp!GK5>V1rDFM#^!X#y^0qN^HGBNLW=>JbQs|!;+me2nk_R>&5Kw5wK%Gt!p znIToj7J@dl0tAw}kwE{yA)EMVIQfsXCXN0PZDPLh`oHe?HL>`=5o`AKkIfd52IYbi zZ_VWaNMg^y+r-9nMz8_9J`u6zJr!=WXa;;iuCyBr! zPbin46ARIRLIQ?L04K4sB#g>pAayDXiY35hl-AWh>e@8IO!t1Z2KunFcuGlgS1568 zdi;GQnZ9~W9B=H4x;F#Et4Yh}13b3pzzg*M_0IX1Wg90gRR0CqNM@}KjPO6+<@H-0 ztN1$#EMO85wJ8$q9g$OWAs_`BL2aAxczej*dBkA_puMKoue4d1_+R%e1k|vwXpg{@s(QuP-F`QxUOqetLxEdeVHM{DvX% z)m{XUX_AfI=7du;rtL+@kFGHaL29dYS)ao?00W}ZXDZKKG`5$Py?ofb+7nnWa&Nq< z>P1GBk-rBYatp8ibbM-oN6vse{JRYlIduxfB-{~VA{#AKAC=u}%L1k1y>qkt$8tr# zQ{&t!nu|Kg=AQ6|{8Ib5^wfsfe3*>RfS@ZNu;99`gV|xR)&eWn+f)APwfo#D&l~Uu zufVG2q`w8V4H*{XNgZc)_g9)uX7ghmqzYIT%U#hoOF8(8Ean6|l5A^cz|}BouLS7$ zb#mT=lO?C3y}aJZMJ~4o^(>ced0lj@;8WR0N!50wFHioK+p4eo_Z#T{zv@u`y^*RH z<}8NQ|DBKb^T0sdiNEz&0Uid9w)EC^Mpj+jD+%Y44RkNQlhXp$=kH--Bu#DXW>tbn ziy3+S18LxXene!%R5$j$K6pfbN8adJ)jA)YHL6faq6YHbUXQofF5q+iEpUn9C71V; zytY|WA-h6GQ-!CuBe4E$q;~pZ#ku5DnFsXpX|Cc`-K_2>x=q(N;Gp;W9Prsu!1{(h zSYqb|{N+;c_1;_Y{dKNjOh%VPjyyfZIRprzypQdFCv|fO`({);N(X!q?jb%Q-sye6 z|8-xfMU`h^i1GbAUshu)=8OzPZSnn_n7Su>->FuMz-O3PI44|kqv*L0#SX3R{VG_V zc)spk+H2;q zw}%y;q~cli`#ofXK4}Z}%Cd%TOtOy$U`JW-pS5U;i_@hv!ZvYtD!Z981@1Yo;NGV? zkvQH$k$af+T3$o^YB4La;>ll`o_o#xF7KJ_hmN7eOD6zKTMqhuz7ZI`$Wga^J)Y~i zrG0m(+X8OCC0aLoPBVSmeRj)@7#VJ8CrDCCsWBq)EaFl`Z!!8;n-^OnkPO zc={b_OLw%b)H7-4EOYQNp{vg~0w~DL>K0d%Y@&Ilhn(MI`1sNbP1JcGvRvmDB-~CZxcwf}86d1(Na6Pn) zx66NAu&8{b0{U+=z94LA$9sJl27uX} zI`*bmhPhzu*B|^hVVNBFLpY4Ux*zSPX1-67J}fc#<#==YlYY-(M3bd}nMpP_O+k}U zV__I2wpiGc7$u;*dG2$md8aoUMO;|(c)9r$dE#zRqdBHT-go0pOqyCp8d`U zp1T0z5;gK7q*l6`@bvO7h1J3}ez++`#>OmiDX1Nb9Sn*n9d)NUAeFAw0zP{$2p0(# z@twTK_68X09sIt6o~hcpB>QDI!y_UXbYW{$M6sf=iR^%yd61&w^@vxDoKIjCYe%ST? ztl-|Ox*@wXwBFq9Lqzc_^wHov!Q)|E zb|yTlM9I9kF(#A&ClXV4jS;dztdy}kJW-)GILD#=^yGb@}ijTIk^nkUw0sl9wJY!dmT%>xj1%Evu64o z-r-*WuuHcSet4ttK9I3{vKi(S^Ls#%7!$^TLx_1qk)?{ zb4leNEj%}RS(XfrtREcj4r1=zY<BCE!Q*@g$~q`W_#buMo7o zhtc`JwTZ#K&@*mkP~(uw9WekCcZ`*qGGua-FuYY+a1xnlGm;dOs%nSzuWWHEGC0{D zw3UG(GE8opLj1TF@VqAEM64eKb*0Dz6-y@Z}rb?&$fKeAtZS`f^AZM|KKk&zr=EeXGGBYiZ5v(lmK5Y^b?9plSjgX`&VsDKj z7u!`w$jU#<9awiy_Ax;wb6X}30JAG83OF8;>sg0%!ujg{>dv`&=?*1Rv+xwGg@c-n z6!w$aj{!R9SAx6RUEgVdFXiftEAZLzgxem-m{idy7D<&MFA2cLzkw^JKvXRcUL1+Z z>Wlbi6)E@ia2+P7)Agy3@_&_Lda;Kh#9f4ZP*Xf{1#eg1EvB) z*}`*Y@1Kc(X3flE6mp!fj<>v51sJ@^uhAk724(2AlP;(WdKGlGAGto5WDK($^zQ;73vwIMX*Bbia)}b_lo&SK?nH@B z<3$eV{GHfm+)=yHc`^WlbdpdaJ3KKNZ55J)^e(1(AO{^m z+zN8u}nD{qLw)ZxMZC{;> zTSEh87g;jU$=|epSHY=isD1Mz%78+*OvM2LsMiCeMC3)nC7H29%!p1Qz9%BlEU@QS z6zR>z#RPMBh~tbdYXgo_MQ60rF?I1S+Yj1H#ULH%Y2)V3f7rHbdQtS!uJZ-tU=xeN zQ|OuZ-$`cd*Dc62ZlkqM7ks$oRoPa`!|X7G@7#~{qV8VzLdSi7fhzn0K}ZWdQPc;B zjhkYN_mj;EvGzw<;O-_+OXX>3;NxPgTM%g1jJz55c0xh!>1H}rc5kh_3IkVr4KSUV zu;+vZ%o5(=w;t!|&+;6hI-I$x57V7s^>-PvYVOX*6& zGpl)xvX2RQD|D*7X>|+uQVou6``S<5eS=x4mqBUF5jD<9P1)$#D`M*SF%J_F_~evb zyeaEx6Xdzp99{<-wY3t@UIDC9-L$;My{HYHQhgU+XZX*+AAAEFBqM1cWA%U(ph~Q! zIG{B023m-O^!}9DKA$ECb^iJ)@a;Thd~;v^SSJV0Ozj5ljZxRO=jNxZQ#gowl`aMB zouh@uUo9(CX<1xieAX`I(GZ$z4jmCQ=toV6O3!-mlaK}vE>lO94qm<2+`4%?wGPi` zbJv6KwkS6}y`BU`>=O=1-a>#?BCNQoRg@Nu3`+9fj22S+a>mN63~akwT$HCV*>L*@ zMLL=_ew{IS1fGEj&G+59SReV6)!r234X^=CWK13FCaf~9@f+J$d%yCE9lnv7 z`&&^OA$aYdmHHPng4Z0b48@8wz^f`lm#qPBrY#^(muJvA6Mi3vFV28zR=@jQYM6el zaN!W@jI8S!Rw9P#=MH<-#R%Mznh?Rt%mY9Zfj|(|*qt zmt9o(pStqH4xy!)fl?!(6GBMM7%~c4rT*;Edu=$WyQh$w|&B2m_tgkhfT>AWI zE5tkV*7@{;-jdL`ZdKy}{zBZtp6i%=*9NYpQ*&Qt$k{D&2aN~N4v|ouONEudsQ^_F z#0Quwf{X}HTBS3}4%O~OQCjO2iiERB&{118Hgv>EoR3wk3_}B!+05n*JxEF*OBV(+ zCKt975RQYJ;-?9m(5dq~ou5R{+h#9lN>4W`)!-7Q_OE|y?r3%gbW+IBZNSng#2$oJ=1~*M6FmOiDXyobeia(AL#x8}Y*imyXE=H1M zGkkh3Yn$Or8r!zGn&EP&ho!5gW9TG;dJ(y+RU34;T+KL8R@+&T&3=@+G5ogOxP20% zcFR-=0UeZ8d_q7)n(~IS>@D2-@{Y5;_V+f~|MDU0eNO@Kw7zaWIKD?@)O?0R)oLuwJnucZejta z7(-aD=S_qD$q~$;P-p}RO`OicU({G zoR1TPU%r5QaxUm>(X4l3PS?KPU{cdQivKGiTH3~a=gb7Qj3-IA0zzb(|4$3Gd@wjV zA$8ClHl2M=T2-eNdAcn+*Sa?<7(aX-;sGS!3SaN5tK52dSxt zZ;ivp-<~2D>>2#}_dvI1t3QtjW`EY6&p97sh$3|+sHsX8bHXu!p9G8I416OgFhkf| zApKk|1IGT;5-+VkY3<C;VoN3Y2;0!~(s^Hl!TVmNV=vk7s>i4ml-;A?^ z7Mm<5AR&cOkYmv{#L-D>__4u4K-=2W>%^F?8Pc@6efoCtq}IqD)wXdNHMcyure>vG zakrx!aAp@R@XZ$)_YEJ68B*engY(@5TFlF|e9kMoYDpA6Pu5_bTpn>f%15aI94K0g zKUQj?Dg^uLlU~S$JRXmXD1g(XOpb=AtZ^5W9}Oh{Iu``eZ2-(Uvqbc&nH7fSc5Pj7 z(kNCN3|3x}p*hA3q7zCFnAsM_870O`B&rgek0n>@i|$`*1~qh=xaV8_+fB-!P0bIQ z;wN+gJW3YYp)WRAObKa3+Z=QN4aF%HovT7u?=@^8g_RChUIpf&oH5Q{PM3B;=B;|M zvEVQ{qCr6VmL0ph=OHtFpVm}rB|rKq09JWd#Ta4iauxH(=@cfKaSH?Xq9sIFO=Am+ zX8B^etZN}U7RN~QcU7Ep%mycTu~pl~HB*ICwu{6wvLja#zowpK)2tc*iPu z^=xaDChg|ggUs2#LXmgIuq;R$2ZW9{n`2|k(@Gdp%r=%RzfZr`a(BL`wBUbVl2_d$ zqS5C3p$;3hfr}7R$?M}AC^O*H_(B$u2@BlaJUoFwd&>MRT!im~z!hD;+T=GXLQUi4 zQBKQzXTO?F>BI+>um$!AKJ-I_7F<_JXOv{P58=b-(ng0jk(GPJ*9ti#F)O$*=mS3dB7{y^zRSvrguhKqu> zU6XFpC`##%Dk7!_a8hQ^D!8knoMva@4tWHpV|!)&NgM+UbDK$0XD$|1_mm?tF_TYZ zBobcEFe|kl#Z&x}6x)3cS<29>mEv&Mtrc)T>o_f)^{eNhy{XWBwH1jH3g`opGRjP{ zU{PcdK_QaLQiphcMgW@6tKuj$8tW&q%Iel^$-Ug9`(T`SRp^rW{&i78l+Q zN(^X)*qsh-dYLr7mr!hoDxkn?AmXZS-)y`!e?O#wJ6;EN;aOiXj#gofP z?ExsQY#4WAme!WPj-``$gveh=TOlZjLc>?o?jqR~QC{p*Xjx=+W>zwHJo^sBbg%OB z47k2uH9S~eBSt^p#$Nq?f-nOzFa_c06)8yT0}P;%EYz$M{jo#X{G1YS+~ZpMuRxW! z#WdCc8)KYPZF?Ewj>OGK4r@5>hdB^55*b!RmcY%M+!{F$qTI?(xro^l>?T#o*D}+> z&dH11M`Qw9Q`L5NEpHSJeJr=3-DtW`DCqf0G=qdP-=Hf%lHDQA@vl62YEQbz)%3cS zB5u%_?)1v~M3TGi(+xCJOYr%$T_Y)9nGEQ<(cF5F_;Q~D4|!45>lnm+g$G2hu8bMV-^latN}hgcQFbNJS02LC!)7%obi71dj19>oR3OyG)oona;79 zk33p&Nru#tfv0M0@^W&IO(A3tt|J-=pSJt_B1^+?o09XofXA>QK|@>j$isBOBLmJ5 z;UiEI1D}y!9%}1vHkk{fl^E(z8=%B^)v=Q< zE|%IRYb`uPW;9XqUUQFKRYr;4~J5j_M7K+Hc3w_ruoc^AeO>#rg1QdGD zT(7##)Z;aesj)UP9JKm!pq4#`*n<8~@g{yHxgtJ|FECG+C~YCqd#(pKWXnhZzZX{7 zfFK(P4H~jF49Q7%FeW+~4#lfVAcj^*b(|X5Nd9MPw;ZYR?Pcte87pPLQS{jU zW~3)(d1l#%$71LDMn5#XUN$`QSDT#63h{_GFMYQ|MGmG2$3g!{MY>52YPa#qY*_xs zjaSGHPv#><*KtUx!Kly;^(rmEgml7?IF3<{>KG?v5SK&;mOac*E@2OMyaU#-3`)Bd z$zN@*ik&uQJw6fQmN~ZeLlQx#ja4B2aQO!UPdoyg2W?Eyo-uVg9?mbd?ZRnm z-)tuSQ^O&=LjKeudEK%5I#35wXityMYiuAQ)1XkLqp- zvX!7M)Fv<(IwOnRM2INV;0a3jN$noBpco@&H48q^PhCYN4U!)PNnm*te`qZtwEevD6*4KgVHpWRlIe39b!HwI2=Dn9B-uHXG zzW!aO>^6i*s_Ox(gVnfHC< zwQk)-k>uX%(K>1wLn#OhP5n`_wCSZUC75}~Su!ZWX%$}RA6>QY{Xv^wv!%1A2`J`? zqRXZMCSCxHY36;t%DM%hA2?3w*`bB#?TTK|0)$k`&h%rK{m%-3%N$-MpIE65HD94$ z;yBW!3#5S+0Napz-o9QdkX}vip##@fRuAgPprmj%xP&9H=|07E44cu4yaKTZGRE7! z?Kp}ZL44aIp3W&-Z?zxg4!wlhpU3Sa9Ol=pRc#DKkGmW=vT$D(V6N zmT#ZzfgUpZR9JXKd4`g(;~d_Pga{h&+jV4_t<+S#%%&n!R=9V;goT=RC(U3b2{*Id z3om)_ZF@m?+AI-|`mZKWiS=#c3%)Yu;1e~d!gDTpC-R{HCg)FQPMU5R{&bhLd)FVB z1s;TK!`cN84o!V{A7k0-DHVKCt*^>*yBWXzxhWwe5YQp0bl3Wh{YSyhp7ZicG$!j5 z(}09JSNlw{->gk(APz3pc|^{yVkTv0ykwN{a=qN$f57t7+~dKITX8O^RplICo?3Tu zLz`C-B2~)+YL2M%t~d_i!Yfb9c7A+L*z~Z1f4U)@U9}N-RpzcHQGVaMLqY{3(x1~& ze;^fiO+@#2*GAk4_`a(LK3zs{M1APfM$9lk=`ekqyx9`;)|}k}`4hJ2UJV69DBKn* zeQ%rc!Q|lPjM~#OV`YJw3X)0S%zlR$hX+iF@FGwH>Ve^+`eckz3r7ZNx^m*zjR#<_ zk^+joQlnRCxNCwxb{|0x8ZJ&6ixgs7Q1W;2t!Pb}NdKH9B)$gc6pb;jTYfvqWQ{B^hTxm_3s$+yK^V3?|rHd&&y3XldaGSI-DHpwL1!_D|ikkQ3 z^%898i~v=SD?>ehrtQGmSRu0{YM6>B4@4e~0Trc2>Q!jJFdoWb6|Bk7QI=Qk%T{Yv z@A!}6iBq3QJDmK9wE(ld(W^!7f{cf+dW9YZG}h#zoUb&(R^UC~O60o%Gt~tZ!2G0B1fH@_(AQp6$lksOD(a8@HBWj55L% z;KZ<0jDv$%N8pObUAj@K2- zA4h0Hn<2NtDW+&0ytZ4k6WJwl#`dE6Z6H~lLWn0jKgB|6jJ^6s%f07PcNWD7GL64- zzw^J4zVduOckIX%@6$1QgU7zSN;SKfwuq{KciGHh>`sY%4j%fU#M2@TkWBaqw}%^u zZnQ}`gkih|uWV$unVc@1*RS=Ze{chwXiul zg4W#iw!zrvhgBh3PXdc);i^pNgMk2jz?F)CljA6YD&fvhfO?0EFQSkKOa%9+!?s+5 zi$I7;ckp#Y&8HgWN*4`Wai*I&RbSRvOxtGma9<#5L&sZTR#%#AiP;HrmgTxn?oWI5 zc|so&^^hgA7X8Ti>5zJp9$e(x^0TW|EB~&ixP+9LwhUIWL|uI;#-(>RygBU8sjR zM7lm}u+fL3ZqZecJBbR-RY$Ar+FIhM2Nq|@Xy#p<;D)~Dz0NN)Zl~}A13`Ul&xfzZ z7C$A!l2LH${`F3!;Zfx5(DWSG4gz|G#sp-Zal_C$f{iXF-;ZbnfTS<{8|&eM{b#h0 zBQQ922l1Y;%0w8#yiOKj)mBC~jyVs(Tp+y@qqgPd8g2wpq2t6cQz0FTm)n@EnAWwa z&GfnZ8OdWUs8Qx@0WyLMA zZ-RyZ3MAltg^#xXObd1~$9HIhvs~b1?lke+T7MD3wlNxfk4P22A++B7H*>guWQ%oK zVj9L`uV!b&nxOAoTx^7xWK_8cmqAOms)wVn?A+7gw(tuC1O3|ys zyTWq51&DvJFG~nJO3rb&m6qU;8tVa+eE^0xsSqse0>^yaeSoaJut3alJu5o9IfE&| zEsKHmPs14ufVnk=4Ex8y`@y<$m*XbPTa*0wLvk!!HzNb8ONv5m$5tWB_85Ecf{gfA z;85GAKCZDrbZ}8Fd>%)jo%>I9g?+U3Jiq#58yTQ>BItdtm`3xMN>MPzI;23dLFJGo zq@Bt^+kDy?8c<>dhkMlP`|L&|l;L1=vyXBt`1emg!2N+tWwdw*EK1#hp({cCQB+B- z<*dv}ItsxwuDa3N-cb9r*W7GRt)*T0#x=Ej?^R-OQ)wNw0Q9vj$>0t45?hE-i(2UD2{2bFfz1!jSE7O+L5zh#nBKMCdz zD%(BDHuVH8Qj#%7j%CpwkKM@!-N10aC_TtYA~g>|iYLr9#jw1y)o!nJw)$ zGbdLLrbow$xWtpCEOv?^Vh?-5~r+ z3r}lIpToTvb2eB%Id1)(D?PD&39EF|&9;%dv|t z04^)mb1h>yC@)%Z`vHp3()=J0zrjT37}1IKi>&)vEbduw+q)0eIo6)$%v(1u0vJZb zB%sEbFRvE{%0izd`P}I!uIbyO!A(9;nVvveIac*=y_G`mU*YVGfO!;!*8>m5OV<}V zSJ<{zp9OVSsSGgzK?7S_-~*o~Q+biCfb14B#xY4oeIO|~%KpB6S*k9mpXjXW!mf&T zYbZ-~w&(dh;>CP4HjbYC0jlofP!Y5DSJGpvd%W9va`$ytuGmdCn4{b+zdD@}zuLD- z2TrRf)3x3&3heu#&WLbd-qOQUra5@;e(8V4qx;fP`RFg&DvkT-p?*4>QnvX$05IaZ z|8y^1wqspgDN%M7TQ(2xPfKj!k3cSsedBsP=h3=pgt<4f0Nk!fFmGRM zwqazT8LhTgRb3V*!1P*Q*G6 z4KgLE@BTf9ghMiW&F&5u1r$0mbnpkG*`Z_i72H$|1$}j;ebhmzXLkJ7cCQQL9k)j- zW08t50@DC^z$SswLX+lz!$AB%z@T&ti#Lz3Ai^G{=^)@qz3k_Fll8tK7A3@w@7gu- z;_ffJbo>$dm9Tjw&DHoemSuxDOPe*yr-bzsfem0aI_NO*3YFPO03794Y6VfSk$O#F z>rLl8o(<~;Qn=Ij_p2TGgq58A;(LBFGo~RQx-W?ZXrTgHG!8yoU#lt&8R3frsQv7* zV9A2>;N%U~Svf`hPeMb2GwWq*{8{m$N7n5#bEX5im@+p|p`1?JBYDoUC{pj6*EaCA z&QN$VjDnq1dm--J0mvHaBRnPd9>mj{HE9_4vW%bh;UivOi+6_`4!nq>6%(qy>*{u~2L3yhnW1)X6X^|rknv@@>apOkV zs5mk}c9DCE-0nN_mGJ$f;Og8ms8EPMr$*YK;-zn5>{k3T0I293e(Bd|)Ofhf$Tvc< z7S7mj{`g)LsQOqb(Is}T{0yWWtl8(NL0L9Jw)BakY$O{Ml_VlXg3hq;H)#t2fnph< zE0&QX4R@)%($B?nw7bxft{Ns^klVA{}Lpw5n0C<{Uy>?K-5aJxTvwD0sEDMHRas7LV6yJSv^&D%D!U zzQT``__dexkoKiI3XyLnF@n&W0&UaOySo%Z^>X0A1duqUZsivnE93I{K=M`k?nyX( zoX(xr=v7t7XYmvAk}_;-$6PG>{xCQ_$R2y!-7Y<+6r;6>ud8an7-NP4;|&A;@TW47 zk~M;5UF$PSE7>Zt(4x3AZHmk1p3+$a-Er*luUB*WCyo)v;^9!% z?(#!YLHx3=wHIPYR(9H&nuSyeasH`KarJ8203h6BO;`HMZmXG%TRTcJLgTr2t^7+q z>@JM!g3~8_261kDL+Gd6h9ti-X)pfW`kB}4c?soeB?%KLBgN1FO-M?Gij+{JO+=G% ze;t|>SX4qdj#{MtS*(0<1m)$E!PfctU_3*yF&i9GnDF7yM^b7{M?6%m+ph~R(Rq20 zJpl7rTdI3U#;MP`i^5^}{TPi;GNtuo4Z`jCx2=Ty9eKEOsXc#>Dk+>#0=ksriU;6F z@8{+Ye`c4#yX)tn3AwoOs-?`I%Ma<%TpJB9p*bi7zu-4q_`{kZwo}Pi-S=I}VPjsa z$B`~~a*$NMggpMtlP%Eh&D+jpsw|=qdq4<&30ccAaB*t(7aI@$dpA1j^lM$zQAw_! zZ)^la0vE4NYOKi%=^xj`<*x-fwA{(%U2k)*b!DaO62zKWh&?!}dSX$35)?TVBmx#e z$4Et<0t09kT=DIBL*_|_by4=hrh6p;<0BHfdC_dd3+%OytHNZ=+eo!_gMQ8UXMn=_ z&-g6^1IBVu43$8Q@=DkIgh-#wlu^EK&TJ{hEndjx+66f%81BE*^)4~e3o`lbBqfLZ7D!5@6}YOX!>B{n>+UQ*Ql52N~? zTNr~6#z+Vx9(*gZTjvDf)+ zbooo1djjv2U!nOMjbj|5SN#X;n>HZ8(BR~v&=C=EVxSBouvySZ=}U#_g5|p4O=y`rSmr{VD~WmC@2)U*jxS)wI9 z`dPY#vj^1(ezZ%pF-Cl9o7DDGwFmgou@JijgSX!5L=wvHxrtjjZ#VO1r}e8pV#2*a zizoQ8g{;GYgJMXr!Zv0W5R;?Y$eVjc^-a%>63^u@K8>IXMF<+%m9TbqoBdmN;M>hn%6+}Ls z27nHx_78xGo+r3%JA*O9C^d0N*pMFQA?Wm>8AGhqfyiOa8Ds(R$Wq9QHSibNJ?6Q* z6-E>yEh}6FCyHs@TLO$`F2m%WX5`YB)q9zzV;wJRjPf(*@)8nz@-S63xsoTckOrMB zt{>_7CD{EChcUTEe^O)8JcXZnUBm_> z8a!+LqcHo1^GYt-Zq+|FcB8D=-R@7koA4+@-q-!D2Ugwn&P(j>H}*T_Ci!SH8LBfg zYlt&!c;6sE1zn*JhR9Z5@C~@)2Q*YytwV20O_pUNd+vDHey zuEXm)Jxl08Lz1}05B~(OsSUI znT=Pi`s9drWXOyB8*)%`IZXT6PU_o?T>(pEfmjS+pGef02+Q~fp(KbKh_BxeQ8X|x zC#OUOF$l0yI!@6t5`1Ah@eH(d^!?{)nHj{12k6zstqty%z~b@|D?eqI$2dwT@5Q)z zc{F!uT`^3zqKq8|aV_I79?bUos2c1Luo^qM+l_9&T6yRfm-9&v_a{*e;5wvd8u3Flyq{Fobm> z`(fpM0e2JeAm6&6u|-BMpSAC_8xOYjk`T0gwj@RdWi9+DxPruFsu!n~9lmZ>s%2A^eNqPKHQI>zgPe_AvQ%IFDa z@Y%Bo_vza&ym*uAvm4I%WCRh)(CC@)coxNlk&ZWCiKlDgNPev9TaT4HQS|gY^a|8(#K#@%bgb3;!4vP5&-o;gBOX?!}Vw?O@r` zny9FPY_#{FsddIR*WTO88vv3e8Hfdt%Zn$Mj1#(r0`no_2Of?V#xN(dASm-I*?bB( z@}A+bn`T*BrS5hg#b_yn@}|mwM7At1Kd6!QCiu~`JqBk1e=g}2hZELzSpCS>t7ZJ% zv>SfOrbEZZvrfo)dURnGl~b|qcRVFl|Gg^a!{{Y);;r&=ve~smi9IZ$b<+w|i{J-%pH+VE(oQjDCSo2UIze_QCIm*KilVczJJyec6-88Ya}nJ;Is8o7$XJ2Ub@ z!oDM(d%lfxT*h>0$f9NcA_y&E(zKY;7r}Udxa|xy6xe&o#5>g6eK`UUffFPk23dy* zA|)*ehN_#ik&NCF(K5lov23wRZu%9LTfHl}Wsys`P-A)ze%AF4 z-(Ds$M*hh|(eak^%q^@mkhCTCOQBU7Z@3pjI#b4Z=cvC8U`(91 zZa(b{$J=5Qs@?qm06;*$zXsSrc`a!Cv<3dh8kC2%8qnLzCnXAKgN^F+r+ChFn^2;&~`%A)vmZqiZn&caZq>s8jen`%*H)QoRg$*5zd}B z3+(}Edkh|ou3K-c^@jAM6K%YfO0oe+YHeazrpx{$BvWTF(1*RepNtY? z{j@uXdqpTlP-OLhNT%ueGo(<8#fd&ot}Bl6M{b82W!7%!aN7l+OUyFD$K_?+k1~I^ z$%FmgA0H>Ab6n*Mok&n0cKy>CCz7H8VW9``;%oI9}3U4Qs`RN$x9FV5v;e@3{x zGg*QDeEm|JyTzAKy{Y`xNE8KGgJJ39%oI~7hV>C%b^S9d(;=1Zzi zB<@1)gMzgY_kY)ud>+qF#%T&Ahw4D{I%58(qx5dAg6sbBX@nY3Zetc#0OiWnU-Tmn3g9}f6Mygjq6 zR%Z-#9kp$nGiy(~S322BGw>lD@qe2q##RFAs%qxd&$X-KiQAfc zr()}35HRQ*jJDWh%D4HA*(3 zJ0D9#H-GTD$HO_5B4;ZcwpMgG@pwkG#>cBW+#H?s@Ew)SKTBAi3z^khw?oG6`sl|S zl{D+65@)^l1W%UkRj3O3kBy&L!ygt=o-NiL@OD`Tn)f1#U|~^|D7HE!6iKW>il8-u z#gDc?B4-;m6f|w7DIO@#>}pxYYu_TwfY4)=;(uf*rs9Pq(PY~oz1eWG@E2~t9Ht<$ z*&jCt+3g7#l*AMcbiC`^DXAQ zBmUg<0q?hd`~luKdv~;N7xmWu8`cK0fK)Rn!?ch|S2Uyz^#umJEO=TFe4*-@ZWh&` z(tn)}`F+H6i;fqyQG2-!T1Rfz%2+>M_S>m5k_+P68}LJ=jlF_7rlv7;&l=ss%a*#^ z*wQF@O(?cL*Ps zPXpEfX92=i2-;}VB%w3|;9*dX7`Dk_!GEf@D>0PCHG~TZSA-1RpJ_A7pA%G#Bnt#Ph-q0?;^~Hx_PG_8v(ZwT89sB2w|L)zG7LZI=17v`$&x4w zizh=XG9qtcwlB+~JG^#sdTi}l6f09}xs8uLvG$2^$6hC=xHn1?{hKbRiY9mEEAwyd zTlsdUdlF~f<;8Rnz*331>fJr{UVo~$Cxuj?SC2!9;*To5#;xsN?ohw?02IEhS~Gr& z7(X@sQ(ofP;#n+~DZU=Qc`mgZhuHE`5FZEEYE%2WT5}!Y)Q;?9)F}Kc-@ZpSu*TPadXsxV zIs>vtlY|5k#xaP>4J=7mLV`_EBn_2J#$@d#RS@r9@NkdD@KGcgoTfrLLpt%{+F!__ zOq(tTf%J8ycrvxYPUw$WDqPlX=#p&{=ONedl{aF zUw?P%x1oQ_V}1`Q@y_H8uD9!F6)vbjSzBaDsAp0P$D6>*P@*6~G0HY*16EB)OhmfD zuaj24GuSD@RTy_d#cc%%74QAbVH|&j?c3oTRm}-pnhku6!ALO7C|Us8L11|(@|kqCZ3bjpMngc>KJPh$TLdg| z)MIQrlLI|nhZiEp?ndjkMmFnHx|+}W)2c{}sEPw-}C<|&wAjpEHvf9Vd;J~J#!7p~cI?jrAO0&vv z<$FQQuls$+!2XC^d%9z*aNS{45WDRaKJE~PYidM37MExnnCVsYv-Y4p zPX6j~179BW^ZlWTAELr~^>}+A*7t`5LEuwA1iU`cEIY>@8+iXaleJNJm;A)cH zbmP+8aerT|)bSw|<4dN*CfgdTy6w>3aG2Vv-^%r|WGL}aWd-L5I!`)m$?HQ~8`mm*!R}|lMPxX}EYWroFykn8= z>d_HFwbwp#bL>Tp`^$bb`#xH&d*yvoz5C?;7=Ki7?i_2HAh+c(CrYA#kYpMb#9%fL zL_ZHADGsWW4TT>>W{YV$neTS~ansHDGe4msDjvnm)E;F-ctRT}2oKL*Dx72=IIQ_* zBW>n;8{B()EeQ*6tcJywDRzCS5QVbSwQrCA0CYZ_`uOMXh_gN#t-$%v^n3z73{nB4 zjenJP6tvnR%Ygf3VX#t|5g^6~g2H5&rbFOJJts0|ENp=F^v+wImXN&kHv92K@Fu+o zblcK}VQiz_IxvT&NENLaJvNRbq8(C7XEp7NHuQ4?qLL3%as;5CVw*fbr&`bboCD;|r>6V8Tq06`PD`H_YOVnT)k%_Ifs2wZr72AALRdtMcdfS^U%$^=V-5yW(*`*ndCn zirUa^LzGmp!ALL#&c=*r&?dYTFh_wXlYv1gA=9!@(-ZlQvsmg9)?^(j^wN%TMQ+9ATsln=SEn-%kEPAnaj;Ug}=90zatZlhqMO{d)EbU>T4X)!QQ=VtEFy5z^ zsY6)7X_WM4Meo|0lx=J0iljrHFh_i|WwiD|P>0Q4i`6+_&gQ*8-EYsc|Nt}!{baJA@D1JFTk9RJMk}w5}IVoBVj}F`$wvAHPgld{QOG8%4p&mSHTS`%K z0>2zv?y!>$?9(*AtP9s#;+#6_W;Qt-4Lr}~438{1>RczS!F6X8Kz|d@m*f3E>w@QV zkp4~=;HC{FKa|VVrf#s~YGcVmC0b>*Nmxwl40azFwmPFumX>h~>#lV1P5!18- zQ{Q)v^KtLe@jGruZy)rwLBt)3IFPB#s${a;b0kgzS)R=udfIZ1VPyY^EPl7l4V(v39BSBMZ`&<+~z5f zC#zG9kij-gm0*hc)6F$RhtMaXUe}I9d$X3;R6FnB(cn0WH-E0rUSxUP<^&{<9mw*x zMSFckV|-+E|z?4Zcpmot3bLx<9ED&P+{BYw791N5=+ zcI@$O+mvMqmMAb4cV?J0DOeH<3K`IUVG^?}E%4Z|A!Yv>BSvR;ZdYf3z9|MrayL5~ zlAPi=D)4HbxPK}i?~Nqq!0nU#aO(#~Hut9|Mj!cesa>{Gf|_gKOWTAYgxurJ>JcjvQYm4(VgcAt7z>LKwj}@jh3BRvAoAm-#6c$tc;e^JR&e zQ`g`d`LycNvF>cP$O7-GX2%(a?aVB>+Q8JdTk5ql9f7=i;+7$9r|sOclgGfj)uH$u z3j1#Cj(-4rdOi_AfiwxEAbl{(KsxoVt$cj zMkc~G*@Y{*MZ2_0R+r^qvP)V!+BN}$$~(M{lt|PsB+bd9y&NhMoD^lUOl<+B z7MB7!+&b-iUw`uY0zWQZA4r*-@cPSX{|8O;cYpEvV6%tq!;P!#`Zg;G447*ZLUIqq zT?TTwu*2gt%i0uZuYpDBYiA=4`XWXb=i`yJW6h)-GrqBwlvHdG3ztTVlB6BqI0${| z2y`Y+C+Iwob0U?HZS+cFOwm`a~qucQ)+dHe)b2B+=@4csAmfm=#u5Kw4ulOqt z`+vHGAEjOYbjW?O+JpG%*3%&D4=#n5 zT60)0*MVu*lLb$4R>7H1iKQN zJR3ACCFcr!aJg{DDS3PyHUR}?yIvLj<$v|-8}VN39wMq!o>s>b_O$Nx0RIno+~`V_ z{1Ucr2CuNbT|GA$BN0frU?fOlNstLc$mxIz45Jy^wh$1@plrW=ylSYcsz@ebkxZG$ z$w)?yS&`GSla^B|)1!Jy2lH)m(O2uTA<{;`nvjW9&9q99n{1YZc+8L3+!B+W%75+| z87+x{C(gMCKXNZ&c@w^UX&nGF>t___-P{$4+sCUCQqyR}o6nB2+qlHr(&_NRfwGxLMJ)nPwmkYE6Eco)IrD zh3!QxPZncOF79TK;UM31!f?1Y8h`635>~z@$L@~*Qw559H<;@J_h>2uDlD^K^5Bsk zQn(Lgcwe@b|JjoFY_iAl`TEHXG5cg4>)@`5+bnn@3{CWfbs_&mgM7ttS=dS#mVCjx zwbQg7b@M&J76NmKNXFA9yBS&3no^m*wY=Rs@U+yoPVcxR1ww~Hw*n$KK1on zw1ZmMV=>p@RziiCS~k)G*?%l1iZxaT4RhYqethD>dZ1_pNT&{H%|H6&ekjd+_o@E- z$AZnjbBgtY$vaqY*H57uZ30BsPP!h1Wqp+x%S33BhSVj6yP)SqJ<54mdPG48wxtq5 ztMJeuqoTcU=I*#( zKVK=KTftrss)86DwpSYBVcIrn(3}BP4n8krd@K_~2n-_RSG{zV1kqPqbdk`pnSt_7 zT$Ua^sSb-~ZFtzRnSWHvv(<`JHfDBSEM(o;Zi!1dGDma$lq}A{T;BMTr6FSJe1jjf z3!`H<@g6|)Uby*pS{OYU?7?`ydTLX|LV5*+Kd_cD4opnUatMUL`?flk1DRmQV-X5m zxEFo(cxDt1v4LY8C@<-vH9e@@U41GfR12h>2!f&@4%+ZUWPdF|1P6A0l80NtF^$=1 z$92@$QZQ5o&PBcmnvk6tRU?nvKdSb>;lZw3J~&i~8GkHce|_SIH%EO1l=_bVeRJfV zuKv23y3J|WWNq*&V41^Riv{kHaTpxJc9_YKR)<6uZ8;#h`X10~ZYknuiEEh2sglll zPI|DNsk_uCUVmFyBL|s|(%sguTu~pUixp!Q(pD=@3OCc2yNlNaOjk@qdboF`rL-y2 z21))@C+1PS`8msQhnRjYYX7>Xcwe}(KdR+CUd@MdqPgSdSFXc!?ofSJJY-dz`Q9x( z{oWDqyAT@)RAAi5yGh2P{v;E;<%`F(XK5x_W zdVNW`J|FO<)zuFR3_V+XjGg=CUsq!{x59*g$)yPJ%P{cMfS_i;jezVkr1MukKXiD2lwa3?pL^7%S5NVKVB|0(NNlL8+03lyfI*JPGllY|K+a)}S;H;_=Lo z(t}eKYkz8uT8g%Z!PO4OC%bIquKCZZ)jxF|ed~{Lug?GJ`~N(Gf(jDDp#6kE`hIfc zZ&soI(;1$dkmNeRVgGr%__XzanC^#O(oIrweYe+td{fynptJNWrautjnM@xZ!>-Q) z8B4e*MbeDx5X8$WG>NcAIwjMw!^B))nshR&6@N;vClWRjT46h_n~eelIEIcYDVi7I z2tA#^-5w~>VOFZqp=4{ysf&)o#^U-sRtEk`X8*9szeiDDj;DE%e>^>O9S@@Wo#J}% zwy~f1@09ra8uHY{`)_m#xVb$V4aaBD~_3ZzGRp3BKQ-L;7XCj=hS|^wFE2`9k-^f*L=|ZDY6_SKbKEyAi&#z z!8zq3DC0Y0g0V~DW7Dc%Z zj)58%!(8iyGeSni1zqTzRBC~DL|iF~549oJ%rM!W_kNT=8S)z2*kg8NzKW>cm06)%iB0RxV`Kb(Gz+5m7M2Y}u47zUwO$}uU2At)ThU-cV~8$H#k zaYzscf-g?3f3_u-G?LQdoXzSy!dC|^zrmNXx!Jonluge*!P!sPuph<~4(EZiuTFZB5ji|~9f*@O0ceGTgFgO~)*53#{> z28bLFGM-LfHMg&Nim(*y@O>L+`(8rr3wXzLhgt)NJrAX6V{H#cXHZ(P$%*NaAM8d1 zF+#+6Ib9WHrRK*%us8IUpAk$F=d5V1%SDCkH?nC9ikOU-qd7J5((3gd{(m@Ve_yNb z-p@O;ch~N~F8T3ZPxgItvk#{~-}|(y68%X2*`ob!v4{Qr>aUxv8_`G54(Rm|7@mX; zqzo{pH0XV3)Ab;jqivj`9onQ`cuwrNJr%_o^OoCUVFU!toORujy;wm8B{}A{ZJ?dX z)-V)brVVa1$_2qovsT>%$bTFm8y+iXOTQQq{w7KG5q3zIwfYF_stEYz$iG(<`yAf> zur%?*T93s2m27|4|{U^_{dpn;VF?j2;TDC0pc80`ztzVIJAaU7AJ zlp?&W?F*?3iVWyGa-uHW<0NMITqRd0MDK(y#9E@9*PXIErCb`0IDgB`J!7q4nV79J zx-F@rH`^20i5~q~$aqyPeqQy=+&+C4tlpHa#Y5Zp+;;7??(suG-n(Gx{og&Re16uq zJ`|##YG?L%Kkh#JMWvg=PF6l0YyLy`w#fI&)bl<|IeLEyAo}DQ$9>>ZlulZGe(3%O zmhE4sycceM`WmRjqJO???0pydEW~wV7=0ih1tpmazI9=ie&P9jkam|pJtxv@rcYP* z2)&o{_}9N+Kwj_lPV;@e1#E6>#iwQVdh4eH{4uz%|M=bs7^g_IudxjxD5`H;hJcU< zawIrp%smp6W)=b&^B3-zQ}YEzYZIfyeDJ5(%i$O&O*1(d7k}q+S`7z^u#2qGj%n$j zq!?vLk)Rq>I(#sZTSTpiTrCC*ejRgX`Vbi=ch;wWC@%0E+}-75j{*6Zv)32>4rm1y z^3n{y^bD;1q`hZY9>L8G?7KGl7hK|-u{-29UG!T!8dyOIhaiE2bZrZ~0S1L^C@ij^ z=dmG?Kw%i`d4I3^DxG3#!6bQ%9}p(k`!2x*#e^i?iP5ofViBsJkF=5xF~>c-?P;&$ z6ErQk?P*}!WjU{Gv>5x;dQTZM8beM6yPnj?KlD}VotO_!z^h_bzXRMW>wx5|FFnT> z{a^-72LiGV2M4zbbsZpwQ24;&7UcdA8iGaYh1P?@xPPr;h^fzyIce3NMWSIZlggmo z8Q(18*?QMt+XF+Wu4BHMz_oDNMRNt4L zhL1C>Pc-ihRs0`j8lDW^fxKTmWf&}r21O}>6A&W+f9^6MF~dj?cr_35FeWSpOn(gM z1%(^o%73I1sQHmwG#gG1orB2xr$bPZ*?MX5M}o@BC{8qx@LI=s%qZ$KmuJ@DAdEFD zS(-EVGM7t#sWPY7T?gw9+c<;!UjNq0^VWdwO9CEl{S=G`m;Ltn+I;Sog@WhyNX7!H zjKXY_0YM$m*r164u7QLlj3G#tCEZtrLysB6n158jfbi1E1$o_<$4dV^e-F<0R#09~O2~s-{n7(Rp zGk+cLLqgmX%E4LD>$)6>>v1k&H}q489~1g^aV;}{ zJK;frybV&Oq{BkO5M*x_;EEv(Yl1IJK!51TK!U=e=@)C^jL{IAcXrjvI&J##h;QmcQ(cNpyhcTGz1Q6(zaMI|gf=-uoGZRtLHyq=B*b1-GqFhyRkB~- z}4Z(ff4k8A<|D z51=@@ovOlJ6jE6f>cJ*s!;pma529=mSnThibhS9%@uX#JWNeXE#1R=y@qf->^P|g+$>NhSWVCQzGXx5$d`_?Y#C}6teavnXUl}M|8x?eSMz3O zQ8bS_C->2o7T1J=-#ac|`l7Z5^RxQhpNw8{{BY;5tH~P+|$F z!E{Tu_l0diScw9kh+rVnMOe#bQN#r27jo@Ds*@H;Ij>L%S!_DA5P#-OG__FJ`-xJY zy+WGgK`zj(zb{tRbX#wEdcj~jd|;lluF{>c<(+nRI~0sHJ_Op#i{?jJQHy%X<>F-a zdN6&Hpy<1UX23+;rspHq@n1l5y?uTZe)@O=f4cF1UQ~hl(JuP1cE$Pj@#)Mmh%Ygl zB7kzlSQN-E0*6`ZxPK1WSB^JL7pGwogEZ*{&cj+X_r&lJnfR`2=aYJ~QuhaUD%EFI zE|c@vsk)7nb=k`3Mnx#kPX;Cr_+;#BbG8$;bSk*>Y%gC-!a2Ccbai%{`wj|R_w5Yt zmw|@=tj#wVx<0#qJ-2&n?hTq5p!+b=f-E~ic{o8+v`GNt=YQfXWN28^!x&i3UOe_} zJ8Y}t7OT1)>Ce}iZ;V>5Tsec}QtC;p=^PID9o;H?V$zm~27noR{6?Swv9sG1;Z|h@Wp;EoJ?h%oH>%0`!zvDo?nY#jU z|NQK)gWQvG`%2Hiv*Qk9J19xR9gl(Bs|8MiiF=-7y?<~7F2@2}NbHEGsLIyPguM{a z`W-R3OppxLKy@ke2|7`t-h3wM=>-*kuPA4 z$$wKKZ9;onEWPsuAIVW$meZw0&j$N8l=Mr!qxskF=E<(RO!` zDMdekuJW+td0IIkMrg?P-)Y%Ey}6`M1wDV~c*c{#JAn7Ar-KW_CFLTOBiq<>w??dRg4vRsVn+{tFKx8><_X3Tu%1dImZ zI};@?h>6IqN|`>7Bh*TLQsp`!3yQ`fXUkZcSo16}58b_<3;ezi|Cl-CVE%L>;HQW@ z*}Q@BbmQr$9Zf=jND&x#4v2>`uxFyE4dG%R>Oh1;fGm{kYfZdJ7kcY$w6~FJa)05u z08Lh%xlM-q|=Y0xy670`>mceLbiicqT> zQG#PIcs-i#k8l<1^~iiob@$Ks)~Fsda$gnjKVA6Vy41gYzAE2u%NyvaOw5HLV}gfC zUpt$kxCsLavl!C>#j@*JF7ryGv460gkM|nvO-NxJV zT@tSZuON(dY$mEJk2k@38-yml64C{=pAA?6*R``Joj0aVK76hMvWdBS7xVOfIQuo- zivCdY`O)YNlcyVfHN}VW({%bOpf1jUb{mEg2#0JIoKj$D`##V%3CSxDL4S!C%Fp#W zxJ0$Wg&caAHJp{FV`**;>2_(a~m<=fs zjKN%*#bKI~z=hek2R;jgjep<6IA~aotRgKPFQT|%RVl%BtR_*dO(za=atGEJzsw^F zOa0)K7uh9k0(~%=+S~zI;66XIbUqxTWcEJ3$WXGc753u^_R<$Ug676Cj#!NHQ2B z@au0yT>5jd@UPy}J)iPO1AHASpAs$~8%=%t2CicZxQ(xO|LN)EKfjlEZ5q4-lBEgA zkWv)VpVRdi*tq+$;}D@hg2n@8jiKBZF+b+|1-Uz~#4VkRK-=%Z znamXY!jA`p%Swq@aV8y)=}@{z4KcCK8XKY;?4(L~>?=&d>`MQzE&qe}@+rFc`d*&D z;p5DBTV&n~1>R@I^}T$)`^C%r;fc5pCU5WM{rb6AFa|LuD32g*L(t$zF+edK^0 z8l-PPLm+)}hktoN^^xPbt}Idut&hT<;)7K~`rVGZwZl*~SuOTC7IAeIP_} z8WIDasiGkT8kX(RWv$bkCe&=PTrKCKzDc>V8_0VTT_*1AqW-ie#!Ym3d%#Bl#;39N ze(Osq)&FRq-8J;@7uR~#cQhFWxO5UHX%_Vm3>3k%O;aXnvEYx=z-ll!#Mt(W(#4u3 zTcbs|pnnj2>k|QQ)C8-z+u1xJTF^jPozbK@pSHYTmBj*2W(UVoajNr9;*47HT&5aR zA>@D#C1>kPTt|3Nr0?VoND`yQcOc5RHf79G_yvA#-~Z0|4W;kC@~q&2!3WMDLwN{} zn!ON^B5>1VFwb#8KShwV>mi8!;_v~Qo%QoN2!Bt@85{eHGpjXoSX8qaKpa)nFn znSQ-GnG&wSZ|?b3<cp7`ebSV$Ux!Xj^E>O{3tQYe` zr3Lbd&}Y?_7%1oX59LMPCdr3#Z*O3|D7%OMGqA2EZc9GlfozEYvde-n5Hi*XjrM^d zB)%|U8BmuZ9TIuf`tjmMn%PPcP8mm@Hh*@f$fvU%PMj9jB4X5_Cgp7$&N$*Ub~wB| zF&i&r>w{S+^Fh4dsm4hNkA`@>zn|4+VSs$^~NDSpFaAv8T)MX2Hx|XXCWBm z!z^$w9h0$pZWg#&k|tqIqbVDNjVR)|E>6AbD{puE?KT;%`1n}60jPnHu>rADt$$Ak zZj4;c^E0L;gH>Wrlm*cRs6M(xn?cwNspE0AQB7m%pwd}hiTv5hR@-t`*}Gd^=o>WG z8TmWK!rsi?;kZrq_d;P9;W-qBpx{0*7(6;cQavSuV6en{HtnFm-lHh{LTm`3cRD#w zv&feQ@u(I+u^bpHB0S1AZs@1gHh;&ZdS_`T@{I2!tcD*^4mQ{UJvlllI^c9&hPL8+ ztKdAb6xzzVMA`f}?t9?%8wD@F$Lqb^C4yiSB=$VAFX2xE@6cybVaibi1(Y8}gE$t} zd+&u(B-g^o9!(<;Rb#7xP2NS2$kMKs6JU{Q4WY=AIIbSoC}0SNjl5cKZ=aW!-2@^BJ|1Q)}ClSMeB$H2zs z^v9MFmIO}=qBX)pUmdU`(24JbN6KY3ZKP!m2t8b7J3rUjnBR7rvXp9m%|ZTjkR=8) zTGR-F5c9P{;468_MKWuP^?xFx7RJud$B`xO50^{wK7*b;s`p&+clZ00@pt$CX|3x| zMsFZK-+9U-V>U|R7Vepzg<8EbmF+V|7~>(NjhU#8GcE!tjTeN$iCkvKeYo>W_{Q;g zelVNOVZNJ5f-&1B<8vkOBz*x&c+6xo!565bF|hQ(uAL6s^WGQMWPj`^#qqE(mo8J8 zDW%t}`ll8Bo0gPcAiRdMUk~phzYF2jCN+P7bYkOa^lK43B@q}S2V*~pfJ6T|&jm|I7V@aMCWva-ZKMt?w{&3c?B{@{K-?*AHc z4}&-49#_xg9gPE6kb?kWI17>)%*IK~bbxOMT?edeppL{a`&H^D&c$r&AYMW5c8a$x zv=Sm~3i!>$3OKhMh&_2(($k;a{6>2GR1?i zD<6^bp*zYu6Wrfzyzv*)@nRmRVvec}8*f@2ODR^T^ncsI>nkK6{Pcg><$O1JgX8`B zX;fjX1)@IBqk%(rF^6z)w4as`)_^n%0C7QV+qVb$9+c6^U#oG-3!GL27v{7ZkRV7t z%G;^Bw)aUMjV{AAVranlHZ-zrkjXg|$K#VEDkP()7tGx!Iyy?~{VYQFQR_M?`KAlZl2yS*Di_lxHf$dF_}Tv(x4)CKJb<3gGlvmv1mLJ1fz6bvEDLSIcf zcQ2#*G&y6|G7j23xMy2w+Rc>|lsPk&@QKkb8A#a~S9MYj^Yw(K)RDc$m+RRu6Dula zHtS?8Emm7OdV5!H|Fh zEZ>kWKqv+$Sdi6_gbCsz8U@e&Ui$6pex@8x)7@fD@ye=8>8^?GBeIA$+jb`(f_m!C z8N3ZLq*-&DSWogfMKj*YvgL6~CD>%f3rNwW;&9lO$H7L9OokoZatJ*l?#2C`TGCfj z*MG-{zn|(y!)$=*LKBWnLhi|9SfZ!?9os@k8tavf9z-f|=S50Sy3Cb~jS^WBrFC*- zSHfvMnOg_YNo5Je7O^JUXUJz!m*BYF?lz}@IG+`3qeN#KCKxjwc+(ZiR})^GVv$_5 zD|h-vYCijjU(=jFef}rU=FKa7kRl!e$$xMP?N2X577iq4;KWcEjd{Sk+aN9gnTw0O zq;?0Y?ufJK7^q`|^DYS&91bGYWsp_rkeRqxopJlHIvh!lJjv@p(Mt2e?8;7b<7h~P zqDYbxEt9ouw>b=ggLo_?<@l#P{5pc)XTdX8_ijZWZ+zN=-cM`(1Msd!Zo5$56o1lX zdv+X1N*w%aP^g1~#bzATwk_KO&X{JL7h&4&G-kU=Skb(=35L>YweCn$U-7z|t_%sY zc6L;*`CQG~ct%+1fu|aU-B>w>!}7A!jKPHL&I>Kqn!&`T3&S8Ry1qvz!MSolR^X+1 z+()eV*NF9pXOo`{0v1nK5Vbx|D1XxqtfGAzcLG4bK%EC-bB{1#Sm7)vq(}n%V}i9` zWOvVaWo{?@&Qa8ZKABQZ2Kr2INZT_(E%c+4ov9ot%}Xh+$i++x)h_kgT}%X-TFuDA z#fcSEn3AjY;5?AV6fQ}Mcq=vg?O3`!!oU98|N5VOW4N0;bAPNjtqQj}xqoi-U;pcW z_7C?-aCWVH@*}40i{W<+-|t<4Ttd08 zPG^eylNNaDvgO=(jv(Y=!b^3R^CRUXbD%6QFPfySF_(~sMI~)#^6YY1Ps9!{!ey|y z1hZgevZJjgiV-a2=p5fF(|_g1k#%)I%l74U3l8Mx9|x?fRIEr-oB_+r*vd1CA`Fn+daF9B#@``3SWl@PICkLbX?A62{hV))zl zakG2xV?%>W0Sa}~0rwod43>s1)+Pwpa2?!sXbRRz=9QPR$Fw+Ep3!*ibFRHTC=fI4 zE`xRhJ5D=c($j7)oPYLCc^0Ij&h8vSmcrV$Ch62bW~OFVai=i_cHC>>k`ZXXJ`Ne< z?q%G5?HgpUbv$2Q!GwEM&N(I3Bw{vYV|o4$NoUp?b~eS5oam;VRv z>lS>TFx1a@pqs7t7jZRk?`I4fyp1w_@o%*69?;hx>q$fsvwu9=#=!jn8sk;fh#F(~ z9n0-FA?s|8RY|{{?T`2xhc!0lH{|S;1ha0X8*@pmDPUH$sdQ#gkw0Y1g&~Q9{az|O zEq3wbk_}IZBlC9g0Kb4?Qk0KMaDH<1y%yZ|@|0HPU;S6%`gc;gf9pr}=>47VdrASb zjs=QemH_9;0e@G|27Me3;t>+Cb})y9&k%xAWgr;>AUWm> zl94J->6(_f&A{tC1wW3>(*+F-5kKve{Inc-fL1bT%oFEq*gaRK#h4AJ0%GKyo{_5q zi6(WR=M1nY+)yd#dB!)APUo>%%qv;rdH? zoBr01HubwP0P6nfx>4ViKd5W=;6MltDlEu3LVrY#5xq={#Z4D*a3LPGsTa)ZLfx^e z)qb8D;&GUslkFm1Y&KJYpZX38(adh*dHQ(9JM+t7l$~kN1<{kNtL*909vG`5MlMfo zKu>2{yvI-KAhja3{NvHsn{@Vmz_Z^zpRoLm1kqQl-jhQZ!t}+ba7dY9z~5Vtn#E}b za(|5`K_V38ncylq4*6n^VZ^?eTw>l@H#}!`!!vk&<V>cT!3xBX$J|0^U{6Sq)cZFew|T9}oNm&`5Y7Uov5>a$uo?l$%SuYJW56 z*cw_z1GbD^jwLsP3&srHlX7&}m|vK|(rb$Gl3fmswelxIsw}yY1f8gUxtt z=b7LN(S+Ge@=9M5By}53|L^}3^^GI*>gKtAw_5+m33ylo5FQ_&ioQdR5tJaHcj$Xs z*)(g@G={Pu17$%-OW>Akf%?cKUw7*zwDG%GpDJI3&3(&prY2Rk3KNWUs z`T1O2$}OnB8rKZ}ip@vesapyyGQ0NQ^uYKbs1JKrSRWTpK2qObg~3sT!hia+Jp|G# zYh7^u9e~*~`%1W&32wrR(-;;@i2g!aEm~@}*yJT_echtkyVAtBV!!~M?cck5{ZmS| zx75Q0e?6b)Ll~gyO_+edD1S4cAA~%=MOc)FSuCvUeK{P|V(=Fs|G^hSiQ*G6=ftxD z*|bCq_N5pv${^i0thUuV+e`~)J@)Bkfo#WZ6rKmQY9H7YPiCoN7R$++A=t_m^e{s7 zPH)vebw9eF&-{=}ivYe~f(R`25cRdCpY${!0QOk6?{EeJOV)8fQGWxp5=&An;*u;Z zVib@f#EY!YG}E?|kR2UrMM_D#w5R)vI?m=h-5n4cd4X@2yOFG0Gd~RDLd=kDuFaWg zS#E6{|8`701nr^cI(Tq_<0Of;lfe{;X*E zQ}e;EU+J;=P+;&=54Nv@>=#1Vr^3>=Rr6!rJ^Pei>+SXB4}Tt21MhF=?%L3|_nN|x zy#|u+Ejs>bpz+aW|CT@8cnUSHQ-P!r#vvJ4JV1VILkb@4rSv50;i%2Bkn*r!BsJ`o zHk`$J->-q;{s4Oy!Di)Y>+XdrU$+)JIE{vm(Yd*SWa8#RVBMe{6vbt1Zns!OBPAMF zXL9Pur-aZ;JAW1R13UUbm!Su+x7r{51AZ!|cP}UZxB8OyU+km!>@O>QEamrgDs{~M zq$d1GU}iqC3-_Bpdq2Is>wD=x{B<{RTeE1EWKkQWTlTfoZhvB%By10{dLN!fY}^6Y z9evfN6bm`tCF#huH&tYE(`vCB0 z7AUQpEMqIW&S+LMdjl=&fE4PRkP=X+EYu;=`>*Rizc&bV9fAd^ z8b;H7R6;VK00b=?WwNFPD>c=hrK4XR**_fV;hM_`nB(VIIkpm_G)Hk=&v|*<$(HVf z<3l@13x7*G&IX~W>KEkPX})ImD>f&z$HdP!%R@4sV@uLGVwHsM>U+vHHbeI>Semb` z1%AgD`d|{k_;CH?5kZh;#o!2HwC zxT5=~Z@BJ%H~JZTPXN^>!9f6d76{#X>6YVJq=Q+Mi=Ylgfg9?+U|*tUhbzbFV6x!m z%YS4^@EjJIRC>7V=HX-?B`5bXD6pndm6N~;Vj{+?YO~rpYniobPRT9>iWFkx@%a{V z04)ol;c@owQUFg$p`Pu(rl9V~-`m^0DQ-U9`4lKVTHyTv_Pe<&!uQWt-OX)6gC}HK z4q`cdD#c+TSB_E;I$1?9zKgm|b$TEOrD&DqzgVI3Coz83QW2%@Dcv43VP z2irMww$4_CzgnaOswC*5KGod1+LlO&&5YH+?G{*Nt^i;_pTFFKjttirtX8_DDyvb+ znd8}jZYGvLFs-316oc23_@21FKEnrx{ZX6vca#JGR}-W4CZ(>P*`bnjC!aPDSj2m@TkCIpL=Xf~}SCY*sT|CyG?3By@(CUN9WDAuXnS@Y*%`=yGB|Xbb(RR5WB0 z?6B`<)7PKsp+N7*yZQ0G-|nxV|75X$15cMvZvoPw81V8ydjX|`AU4~#!muEJLC}AW zO~G0TsuxI?zHksts~({blF$OSocD0=Q?=}<{)YpNGkiQn0tcVKVyGXaa+hg-KK-RFCsB-FQW`w?z$ z27A=rE^gWQN8cv~cp#hYi@OjY&xC&|PO?ChF`${Tfiq)WPzu@Dix6tQ^TT7rChQz< z23A%aaLHwqLBqNNi{s2?9Wm39O4dH-ca7F{zQDJ7mtvPZkJ2$kj5urKG1Z8v*XMIt zavL?a|Ik1dBr<nI7}wV}sf2ukcUIAJv3$}Z&R(WoXx&y0sdap?J80I zD@i}sR4)=UbKn=a1{BEuV4mAZJ!Gx#r#+s>*o(U7_cY(QcNvO+ZM zEes2L3+7SaBSW?vwZK1Qkyn4x8E)PV__fXNurp&|%XF|??5hU1$%CnDLI8tHEM{kq zk7zxp%V{OZDrMwyZBI+5g^j8arq}{4k9fC$*v(vR2Ij(fy*R#&m*OJ0ILD&h}4$r}X24XyjUrm_2C{TagI0LyPh=+kW zdd1?-=#0WoYkw3p=z`;$2HnvjxnHeDoq=yvTS1nK)@m{@-VPTC*$Jbr zS+Tm-^7fu8aa|qAq?L+Gp!)g}omF_poxKSLz~ z$ZelLV?(u}NEPxP@QyPTFD9x}D9$fZ8+M z3~`0lD>@!o`Mfjm_wl&am-tS)Xn`ON>uE7U_yuh4$DDa=uEl@-ijUEYtK;I?p8#qR z610wI_u>)?f~$YN769q7429ARO2a)U$7B3ZQYOQU3GV{cV&XPibB z?mWT;wJuKhfSsg=-QF9b5viI+*9la@#e{7hZ^f;zPyX13+N7)cVzx^|V7KQ}NuS)Ns9UU1 zcc!P*K4vyv6tJ;6p)6^7B#|`VGt*hUlMifjSPi=|7N*B#aXS(QKs>eLv_li3%D$w{ zjX3_~8TZWZ&rtc+b`R0FU$|1scLD~)K^A|2*6UvoP@H)Xf8iLAQr7~VKu;mC02Ahm zjb}(s<_jEV8L{641ZRt;dr1d*YG{rIf)-??s++Z%2bXRlqD{Wr^Wem+Ww#EZsWLD) zo+ylHmXkb39Ck>1jzf9izMf>CYKh;g6nw`Vpr5-r0jU4_-~anxc>f2{|M6&)dl!G( zx_>2E{036w+ir5rf;8qk_V}1N6O?0^-<^ zF@jwL2QHiKi~l+ZOM}D$#Oy$>;S7VJ6bPDLNGx5WAe92&m7o}vb{VT-qTVvjIm|?# z7;m)>7tOQJQ*KxF>@LP@UAfmAeN0WLscfyn1GY@8VayS`LmEuhjom1Bk1Kyko4@+D znGuXi$f>+=IDa_Ko=jd*dAh#3p|?>60!q;AFd*WhDFVW15H;Ht#Q++J%Mu=e+qQ** z-uZh_WU*c$_LxRSEANOR^u8{Jf>jM1F*ef8dX`}ua|sW+it!=6EM2`_VB^U#WaROD zDUS8M;cT0Br!gKk5h3q1j!}PBU;Uk8^f$iYLvftnaaKQ=?16i}esWl0=vWkjStL$i zm`P&5{+YmAgFpaBuS#+7+Yl6eq5dKQt2FkDQQ;ZZNb>!2pe)D!Btj{N*U)ZCNLkli z8Vc0RgD4dS#h4q*7j!z2Wx1K2SM(f-g#_Ki;evK6EwOh;$-i$qchY~lZ{_#0I^d6{ z*pop3Fmz*xim-v8H?`AdG+;mK~#x?0*od>A;F*^W+q&gWnPRUnpF-7wH;X$ z-W|($RJvPrm$F+Ypiu)PH~7*j+`;yI;WB>7;QOiy=DB#5rp;(SBd0@ij&wThOxx+` z?q7c@{vj{jwBFfz>>eMBoZRY!-XRIy_If7w%P#R_$=#E|cf|Xv zC*d7x6SRjxZW#WcJ={Va6ErC(Mbi#UXy6|DlkgPss^)Ap;x%2>=Xo^UtDYox9A#z8 z3iyQ*ztq9PSx;93!QCLy!Xjj5x2BPa$z4v>;#g_eUL1%)*v@|&wJR2+5th@~J3W@O z=d8)^Ov-1A?|{6gmTri6u#$ndhXW2aiPQZF1JA`-r!V+Upa=otUZl^teUFGZHs?(< z+RE(NS}kzRc2Y!b>*I1qM|hN&+j+nc)kZa|Ge&f2&u(*;fq zWj;r__9U=W_XmF_=G!(?ch}r33jYY}8F6Ftzuf&YrTbey;$l9Sd_(kp-ODiU#7tj3 z#)cFVkXzu7^omgX7J<-?3%M4@giQqqCDL{vTTkGm2T7L~GNz%7#LZAZ(U5R>eLUYW ziMiLSadm&XtS6pG?*^^VGQ8~v`Y_jGvr}~k-H&)4LiGuvR{H}X>2k1{)%3->Oy_6k zlK(M+hEUmsi1tgX+iP3f-Y5SQiT3~y}kE0&?mUx*B{$sa1cvC z4#ERJ3gS_Zz(~Xe_ldD^>ssd$I6nNv`2u_pk7j=rwp6@C+lo>%-Bnhm3QA$mMvJjr zjfd2Tm|Vt13A&eavpOKc&Mva7YKcH6MQzNIEw7O?Nt+IEe6*`HBK(8L{ymZ(q&FWj z-cPK-omqby?vHz4DmSRq~i~a>hxV^aMMP6uZ%=2)AfIP z`85Uf)C=9z!kmF@3R{u-dNmGho0p}{N?n>jR9zCo;G@;XI3RODA5|uQc2Rz?058Sq zhUT{rUJ5a3EsKg{BGZc9x!~dXg`Pj@W%^erU43K&tlf6kGieDO_-&pRU`{wp@ zM+(S40x1PbKeU%kQ3S;54vbWggF1h-Yf~nyu0V~v@No@TDzxB&=cJ7oW7@K3=jm~} z-jmj4O^*mu>*}dxUK}LdguC%XO=YhVC0`CGWFl?#;}Kn+VzQkZ-PkFa{drx``2445 zAnw2xe?=+yC%-lD9_D%oAD^FwAO=(0Lus?`dGFu^30fh?y^c%V0oIR&_}+g89m@;u zXu00dhPsZM3Y+snNesOjUkzg3TM(UF%9qMp<)L;uV5wN^alz(HT2`dwIqg)C!oxmL z>Bw9Z=~j&A*nG6`s?CUbt-I)tb9|V`HxY9$(0(s2_RUG=ALVgB+634>-gv5ZWcIxQ z`f_!+X?nPWk_=6G@CRsDVAy{_N(OYtpfY$deTBwZ@8wB)(m?!uZpuTN7@K`*i8DD* z2GXM4afhv)k!>}L++x!#BqA^3wJ{KLd9<97mXfV6yf$~W!8$^=6KP$Ku|J-ud~~?_ zvP|AZi1+yQP4#^(NS0nX{zu*O2jsnOyr-YOq|M)zlDn(`z(H6iLQSBnF;mJbFVH#*y9 zg?t(#`&LMlm6OITe-3e%X|f%@C1)AKbk;>C5>nfs$vGVySs?y1*k?|!VRrKz_M&T^ zBWe+X_;aEtZZ6yzp_X=8XpvA zgU{0@)P)1T#rD8w9j42O*XmhxrvjdPk^YXp^x5JYF1O3)15bYrX|a&SAV`X3aSOx2 z?S|22;tb|ceV3!_(eYQZAoPHahQpP<=M9-Y$lW04*j?+`JUZa3WlkC6qwLzFF;m9r zj?#r1S*-c(%tf<7u)dU=QwVY-IrN&TwVS!asmoLGZ4&p06tGy^X7Nj{2;S{o(Rf@u zH6ehc4umDJ2Oxh41@4~b_I11o2Xk&&GSZ=0l=jdUN5uEi-m8YKx>~nveNaoC+s+ph zqVls~2U!R)RV@)s2bX5G$;K?`j`zcHu%8#s4#f>_nODN;a7d7mh+z$KIj-hSgfH&m zitAeB_<3T+ul?X3F7xjeuXwy)J}vQ({)K&zaKNWHvdq7*_Q ztouUCIa0dCGHVxSc68p)$AR0%(?H-x;Yg4WDwbx_(ALJ%=%^zFQG3}qp)4%%n9^S> zwRw~|W^HY|Wr(ir*<>_GIvZ$L;E=lo{f=7CbuPA)Za5 zi~}+z5=4Klqzn31%%%|xqbbxQUMwH&CMqkrI+Y7on8_x(^w*uIjP$-Y%o%M7-Xivs z8NM8!+m7eLk+JT^xh#+E62grLya#u@l{~g`4$6XDI0G3Sv*XuG@yk<7ckupBOUWNj zu#Z+BFn(?>d1qy5!s`16(Krd20nf8+8pLXS{V9LkB>OIiR^N_=d_lmBwpN4dGt6bJ zGey*zsj;IN@d6iJnoMSi=gp>w_ntZR=UDYGqq9zR)bj1SZ=wI?&h4whYT}c z#!HvhC#$=T<@!rsm&+S2^jBQyALDYh_dw*f7GDkBws^}%Q3A3gwn<INc}jxxqP)#`M`F~#%3(>p;o`NGRI$ z1{!l2%y2zLrdoa(u2R09g2Tw|W~ZgOc2F;xvC`f+AODl{sy{fE3K&16(l-sw7cIs^ zg#ULjewgbqetf>xWV($_+yZ|Q$NM2k^i|(M8qKmKOHekD4x~xZ9yr#pw7q{2MeBI! zN}ELx^Vk-$+g){F_ztn`1;mA_#xxkTe?2J*FIIFavdO2P0EC22y`a|>zX73e=(5c zwN1uCA+CT02YHdrt(;>qIt+ijO;Xo%IHgVVVx61a!a^X`Jx0!Bm0_2LybRM#EUHJx z$|X+b2FMuOLxRnl4TTN5M%bJ^Zi+w;7Biq1Zb#qyCx0FtzoV7-X!DB3^NlC91cu_k zLOGsEn>g7Q{bkKwNkTI;O@VqD!x)0>$*J#gLBzzTI6}9Tja361NOOPQg%h2eK=+EXz{sgBbTYP?$x*CW1GtCXIskjWyDOeLC=>|r(&VtlcSUh`46r}#91 z`dcqi`%wzioqyy%*r$HG3!&Sg`u0mJ##xv^5F8v_CcFuH#&b9JA}Z|&0jwMf3}Ri zp1iTp*Y7+%1~D9HFz~}ki#9zLHwlvgC64Es7Lcw@`&hP#?adc1_+`D{^=;CFMY1c{ zsTGu?%W5}XCvtM-yje12)&jr1;0v@wW}dtD<$3QEmGw}F!@g-wEu_RF-WLO18y4p+ zHNSe=^lq}uEsB5oj}OG@H$mEubinVXY|Qg~-1?6aXB@-$(n81(mWVYi{1C%EXaSOLko=)pNdez82`gfxSOsu zMf>VcH%I411AjmR7{)cg4&5;EE<>`GWr8^{AR7Ta17X9hOzdZc)&<4S9CJe5RI;PO zW$Brc4U;tz>Rj4S&8qBK)pWbm&5RYV+#xGQh)Y&Gmc~RbA?0sm;%~ z8L~z%g9Uc*^_?*Drgp#7Y0CG#Nk2B#sHe#uD1)hiOl$JCU-zx)j^Wi+>PO_E7)X=j zYfXQE+f`Y6s{8X0W4(Y1I@ja#?rMKsReVNBIhRi|)A^>zS(%1_@wAS0TO;?b zl8Aj5epZ*S`p~#EXZy}cXt_AB%AYd*ohq_V6M}W0j^0&-Wq^_bv>Kj!Kt@9lOtT(_ zfwHp2ZE=gCNN~4b+@9M3FRw$Tn9%g(ywg?$8;Cw%NaQY=Y<$4GxLWdO>H4%SqL6>ZbNAN-xD@IKqK z86Pnrz)GHJ(rzR40oD}aX^5RI+hiRU{4vI|fDI%);)SxG?T^n(@l;SbT5hbePF(k} zjHw;yOm{{w3Mt^5U0nJAI_grL}kN zN)~_3`n{{f^ud&0Co$X-WFNJTZej5!gFmsbZ_lGI$3YtKDkNfF*dYbgMte!^Nn2_u4P#g!ioC6sp_#S__#d93o znZU8o9s>eYj9_gbngF=`dUbIr*3*uZJ|FBS?s*kpAva79IWpYD+dyKKWH1?yHB9t} zEMn9E2X8qucw0EFm?9>L zZ@k#=ayi=#;|?I-U4X{IZ3>l@M7Q1Kck-h?P21Y{!`M@nlucM3?vkKhgLsJ~DA?Ue z*b`uN+Bgt7Her7gbd&Y+VwIjMpVZ}!*%Qv(noet5|5-ut+j!IW?kP|9oqZpLe7`6V z@k6D{r)l5Y_pPk&UH5{~9&XY+*>tFZT>#{&JmvyD$UA>7C=wVR_FACwUX{c-2m3jP z&M{6GEpE5Crh~y6QKKb@thP)wJ6$|ekMN!D$0LvI9appZ;El=gaI~jn+c-x187o!7 zfi4Njz8Av2^*a8vP(G9qefRA9zmJ0B|M*AYXGyvDiKk%W?Gk*>5`1fJ_w6VC zzLfsu^pAgw_W8Xh58EcdpLPk8fZfIcfj0snbdXU&q8BqtKwRl8CVnXP zEJnmOBQJ`yJENJw#WRaPZs>LuJDT78X-ocLlE{DiIa?Dw543iqK697yG8&jO()!2#k+I3(}BfEZ?@K=GFLs$?aJbSt^u%}e20kuw}yZ`oSF#{`P3 z3i%*$J7#lo2zktAC_DtIy)d$A(xNw_W7Q#l&01kQ9TVH9nr zHGMwxMtkL?bm;)CQNpf-&M)O>Jx$mdW z^DNVpMF2$)ToOQyfgA-M@D=y#jW5Fqi=6W@f5|H6kY`~uBZ#@YUI*gx+>^5;7`pQQ z#O<%iOh6ZE#xC>aV6~oUd(<*|2Eg#^&EzQB3`#90QdS1Y+m6=#>ZmEk-C%zw5B1#N z2kO3<`pHo5#-G7EFbN=<3=hx2wz9kjC^Ilv5K(fT=Qt+Tig{lUHIvgyE9RR8b<7=H zK-~jtP9@MCp3St&MiVCJ}441pS$6NZ&!HvkCh9j_ZW>j>#wkT!Ht`1Hu4PxEk zC{v)SgeaL@ktRKSCX|2ZYuCCm!xBy+`{R|ded|Q>NM5|3WSND((-Zt@!Y3QT(Nk}5 z!Uk^y)+B2;&7(XAHaUiD8o%C`UByZ#303?dyI%IiI%IL*-j((C zd%Gpof}u~x?EB;Ad;CSV4e_5D@5yl89G%rz+alcN9`<+~_evl+Ss6zHA;Roitw)DAIP+<~R99<6P zlJ0n1=GPJqVz7UUM%x2hLKW%AUBB%r)k34){oCH#cdq&dsJ9}{+kMU6!@M$0lMFP& zfL7*i2IrsG5j?|>`Jbj~#D`s=`0Jmou;D8`#gD3g!c?uvZ+gL7!B5VFV2g&>%dv0| z;x7iIwE$W)9jG`QgxnB`*dTxW+T81PxJylBK0_*5R>pq>byS~&?)_Akp9O)H5JmDiGO|50ZV#v-l2bbfS9ypw`P>}I}u@3PrA~xls z6!a)9cU2^GaLs#jw6HkbmY>ExY-`OB@mnUkYi;?aZ9VuV1kbn_i34xTIy4vzHaH6& z3LvQPK)S`f(Ath2LNof)!BG!)?AV%KynM)^aV38pwV{TONs#B{fx@T@#^e`kUXH{* zH;#elUq$kCm5jLAe3BJh>7XDrO%8QVjTz*5#oQFgzwxkq%y&0Nhon9pkxdE=!|)yn z%0<=ztpY_l6vY5Bh|?@AAJCGJmiMZbxH;ABz@sj)sc6?qD+PLQTNIP5SM0UgQ-@Su z$K`*i$cBq>NmiqbN-u@8KAR(4&BK$8%aA>gMvC9Z0k)`l{VoVqOztuBPfzs zqQQA6>cy(Tr*5BPb0$&HHGt0QPN-J&aFlgQo6ea^m-(XnKrOj z9LODT3@8k6?its{VZ{JHkK>>kd8JUFpVRef?$yj?mE%Zyww0{HmVJ4Cosj%2B~O2< zq^%d5&0={F9L1!kBAP6g!3k7xll&-g>&-q|2I6^6NqV>;W&!W?l$-dfEARGa55Q{S z<^a5yMUZ9!CcOicR-DV1Jp6@hbN%i!A&{FZpU`DpDPmFt79MDTJ z_f}Z84ACG^(af11H-|Gy+m2QX@i(=R^5&%4{xn(}xOH(kr5F%BYeP`!DexrM+9voVOt85{@GeQmbfEX{v`hb|0f zv(IL0WhX9+R5$Tp8AyQ3S%IYD{i&0x;Z`I

i*(qtkRAFGjV*s@Jr1PL?piPWs53 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 wLWGTb80W)bg-$f6sOZa{vGU delta 3148 zcmY*bdpOiv7oMAY^-&p0NTE7(I@KwpP@y8XM!D7Gl7r;ZR5&Wkm)wf5V?-{YNTJi5 zQiO;~B)3YZR8lC!DW{U~{bsFsp6@w-{GNBMcdh;Iwf5e#_Y9n34V+?4x3y%lX47ai zX&QeGH)*;%(^;SU2XC0cq+H=1W~>AlBhq}j$RG!0%Yj%fr->0q`4f;!dS{M9fki>8Io2VEs{MVOTw3CgOp1}O-~idE#HdsIj`u4(Pk^%v67-yPcagymjabIcO45O8v23it=mRg zta6gCOK&%==PV-+mD@B8-GcK+hbmefPlxuCEBf1{#%QDW z$;HhjLzXvNw?*OY3pc+>;%lG^bDl8Jq(jB!=ANEKR8#Y*s&|kiGi_qqHjOkIs1bR? zN>M6lG0cP^foqRob;Ik*fVgN>heV)BHfX*2q@3qZ=~%F6G!J6O`IVG*tPn=64}mlx zePcNGdCaU02Rd&00aG|^P62@xpWXGsD1mR3fD={BGNQZ1h^{U4-4cWnZ!Of&kk}f5 zS~1qr$PgPgie9!IhVruPaxt=zBZG#Gy%HKe+k3J5@C6Q^a;fg$QJ)P}@p>ZNr9iGa zTm}U<$AvHniFTd^^yOUFE}ahMl~0e8V;E<6bzpM-As+;F}snrw&gfIPh+5Uw5s^R=1 z?%gWwG^vo1-NkSE%Ac88_rz?O2uCIJM@E^GH(A|Mc{@9Ex}!$j zOH!9_x_8LEzQ`zZpT4Zep;XS^;G22B?i%9B`g!}woLph>xTXDoPrw$H<{-^obA3+d z)qgPY-L%8lg`Vk0zuMb&MQUO0PQ6nF8rnz8Vv8LDkFT+Om^oD%`AX&1kH<^>&l((M z{OckVy0~w`!*qU61sWb+x_Cg+_c5(KslyRKeIc-~7klOs6`ue&5Ai-tn7?yh1|E#> zejAW64(vl_2~Q6Vj{|Hbj5-n|#{wfRbPAc1VHGR#C^OjzOdOz-4I?sZMSu z&LXc2B!wFzHltJmKL}@$imXMZ>9{!>iqWblzUo8(G6g3S(9loN#!+sG(~t>FvO?o_ zvKAWsBoz$8PpN`~U2Q(PEre>mhWdV|D&mro)ErUu#7EK6e2 ztRUE#)&W?0rV21H{RW^;#x1}P8THdeSGS_}tg~w=X>;P5?@rV*akPIXW-ZNXgzWJw z^vknrzz@r*1~fT$8<3fM2e2Wx4lpqf{T=!D!Phun1+#hX(vsOg&9)V0v%bIqcCK{q z*Yy-@0jzw%HembZp4wYetOKwKlTxI!z!4(R6aM!ssR)Pg7aEelj7227&_jMZUQFO_%Tm5MC&*!oBjk zqJ#$jYBw65*ZeX0$@LmE(r<`wI^*&JWZqYB&@iqP3(l#Ih2i9U&1%uJPhQrT;M&x# z1azpi2P_ez#GS3++uv~nEWL9aP_OPNU|F39plUthvHFwX&%7J?|5rWhZYYo{_x1wD zi1D9$>EI{dPljaC3r=(!Vt_1b2n77;0b=HZ3*ehKWhCKEkwWcUeAvj1r@Bx!V(0=9QzJA0quk8Ap0 zvB01C>jdDU=eX(x&yipG0>v-Azy)61g}OyuXCUAFr2z2t%O=3mS9MT?=$#^mU&H@8 zqTh{0^mk)NNpI31S+^$-u&oC>^nQz-v)^3>zEO-3y+ZI;_n}U2-*xb_`|;<>eUC+a zdymbX`hY7tYakBtat6);nhs)9ErTiGdk^7?e;vYj#z$;QZx~nl{xH_X9m$0J$&q-# zgunA;M3+jwRplS+Nz#}ivHiq@w&9MN|D8=2M$f*^=~p$T63qpZ_1Co%|XA diff --git a/source-code/Volo.Abp.FeatureManagement.SourceCode/Volo.Abp.FeatureManagement.SourceCode.zip b/source-code/Volo.Abp.FeatureManagement.SourceCode/Volo.Abp.FeatureManagement.SourceCode.zip index 1ea50e7aa1e7101650c04ebc646ae223f850488b..c7ef2011ed37bd0e41eebe8c9194d4ddb5c17333 100644 GIT binary patch delta 12545 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 delta 12318 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 Vy7cBc)J?Q<13Rb%4ueo+{{tg2{@4Hj diff --git a/source-code/Volo.Abp.Identity.SourceCode/Volo.Abp.Identity.SourceCode.zip b/source-code/Volo.Abp.Identity.SourceCode/Volo.Abp.Identity.SourceCode.zip index 4696702f169a15a22d7de7112db68906e50860cf..2bdbe0b36f9751c21fc0149a7d072287c224f91e 100644 GIT binary patch delta 25760 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

Al*tXoA5%u$U;_9zuc-J2 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 diff --git a/source-code/Volo.Abp.PermissionManagement.SourceCode/Volo.Abp.PermissionManagement.SourceCode.zip b/source-code/Volo.Abp.PermissionManagement.SourceCode/Volo.Abp.PermissionManagement.SourceCode.zip index d18a3564eefc341af1a88dbaeca5945d6f4a1402..00685ae82ca9172b5918a6919e0589ea4db06e8d 100644 GIT binary patch delta 11403 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 A6951J delta 11261 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 diff --git a/source-code/Volo.Abp.SettingManagement.SourceCode/Volo.Abp.SettingManagement.SourceCode.zip b/source-code/Volo.Abp.SettingManagement.SourceCode/Volo.Abp.SettingManagement.SourceCode.zip index 13949f7303b25d4527a481863819c8f34bb0e03d..fc5d71943a5bc002c5ba61d779424ff3380c64a9 100644 GIT binary patch delta 65535 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 delta 65395 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 H1eyN>AVxXH diff --git a/source-code/Volo.Abp.TenantManagement.SourceCode/Volo.Abp.TenantManagement.SourceCode.zip b/source-code/Volo.Abp.TenantManagement.SourceCode/Volo.Abp.TenantManagement.SourceCode.zip index 3d1896d0cd3d4150d439e7d45cc90e036e85ab1f..44049bdfbfb380b20a777d12257b1cdbfbfd5c4e 100644 GIT binary patch delta 14634 zcmZu%2Rv8b`**KBvP(v`jLb61mNK)2$jp`z4H9?$!E-sd^bIp?|OoNIi7`|AYvEN6RGHc=K97A_XY)zSI0 z0$8uEimr_t!CB#-^+BvV*hzsH=JH1hXYTVDQtNjxJP)to4Of6o$*~am!HS@4A;w#fhAR^?b2*8RQaVDU%{6ILXNbv*2LT{)DsWG(u~=_ROP6-{0$eTr5g|Iro27 zvVrO1c0nd5mN%!bF4ung(A`wzrMTwZF2 z(L>oMV&|ks9lxK?w2615h5gzxrgp`kvTEP{&Zc%={nL^+dWu#y8Ytd7Yrdp6KDjq8 zm!pypP!ijm;agg}XO~s$>d$vrlqWq+-*_~B+A{mcRK$eZR`-KSQpY?sKjtU(`u$RT z<}i}nNqaW#bNsIK+0ek#&%2VMA5Oj293J9jniHO#afFD>2pUs%*|pS|u9v@q1j0;- z&P9$}b85OB@mndAX1(rEg^KR1ZJ!-^)GBT&`_FHDDAD-LH&l7=#QWHXH|kGlc*+RZ z)qkEEqJ_w8z6Q{gqxTOs@G=-sRf3Z`kroX@;c zWxlEUCfqLB&~|}q@>%nxZRnf&bh&TCMeC^Z z?+k}U9T0yPJ1GMM`DmjTs>`OO< zAI$5?eDk{X^+55^;$JeKypMGsnq%GVueVd{=J~~w()y=u zk9R#8IidFAk>>H=IMZm>%cw}Aby{ztD#1z)D&ejE1`V#chA%ayWm-FDkz=~d>LJ%8 zT(7o-OPUffs>MNcYRMDZwC7;Uhy&VR(0Ub=j28=oHWTn!1lOw^X$PV?Z~@}6&N{?v zw@{m^45^FWBSnO6Fx60-ekm#pgXKAWA0Rx(x(ydsSlCfC})@ zVi$@?#gLkg5=IdeQI^S3L=-t&v4Ra&k4PNkwPA`tn-{ktDoq9O*+Rrw(_f74Y7v5V z9K=Vnljv`Ajp@Jn>wC>55Mlk#rB_i|Bbsb?qJDNP40yN~GSgvQT0yvss}mEp^MEEl z&Oub$&7l=HH{IQLUD^NS-4l;1ZEa5OPECH;@G#m?eNZm__vb6UzVS~IgT|HPdHilx z$mAx(G(1cQ(h^wowo?23#tS8~Rh|vEO`FOpJBiLp+t*>v&m_G;RDq4`dQt1=-m~8v z3Jq9v*qWDJv%y!9=dO?n=CQiYPim;tAdq$7v`znqo3xL24-^*7a=ji}W!^qlG}x<5 zUjGq$pIYw5!C66g%Bxg`cKP488w*N{y3Cs&l`1PArB#J(vhvArf1P=yt8@IvLQndD zy_?3lq3+Ixp+iOLPE~Ca^yhnNr#g)v*lGO`lM;MptieqzvDv=vQAcW??_B4aIgdIMxam@?yQq9%ioRK%JZz_x5u49e%?}dSFKZSpdX8G2(6g?_j#FnAJ zy;Rr0Fn5urQvXN#>zX$<-%@}|EsG~A9!V)f=)Z9^YD@7ITQqc($qQxzo<`VT>TX2hC`P9{Yre_uq&pXy>h8V9AjoHTxIm<-3i1+fQ;I9_L7hgthV2jckVUgKywO40LGo5(yMsh%i3wv!58W6E`q1<)$@Miue zzl*cNtMxqI(AoD~9s8i|u)gJCPP;PKX345rjWN;VnzODdtF_u;mh?JDo5$RfkGV_N z-&^$KsOk7=_O8(dv}C&X`5czlN5*9Pjoj{x-=11D;ph3w(a2x_R_Ril!~M#E3Hf`+ z@~U{xJ0_HFAD-73V(`(>x?{JUoJ;lIl@1cphq|4<9UC0Z>~@R$oRmX*80hh{aHVG1 z*cKa$*{h7M<)+ntrk%^W@a)3k!_{By$HO~5X#F*Pa99#`JVsGH8D8g9&X2ROY+@&B z(-nyT54o8Vk-v&Y)lU)MGBknCRAO@2kNd%cd^}Fe@2!gerxEVXK}?7?oPd2 ziYn^2?L-%jnyEN}vi0*5n^ZEadW~+V<+x~6*$-;yAAx~rs67r*_y zDOAY1wtiKyY@bhAPeRGtC5mNfl0UXtAI~ly5&o3Ac|2DBsQ48-+5EyIX;BBd20pB~ zRPtoM*ZJIEMiVjH&)jW!-1d#1Gg4pQ&GYj`!VXJwIeg;bTcrMie>%1L zO#}PT3r8u)k6QFu!AjJkKN*^f$~q>Ia4-w{vBI+Mh+bcLVVuOpUF~b+rs?@M*9uM!o0WOmIJ8`?;DA2 z5fOb7cfW*KsP}Q)x2k`&xWAw`)u_z;P0ZntBluL#&P47mMOU_B`MF;%S*n-Ty75-8 zX(~UWy0)^14L@xuoiZYN>Rq``o>huL11<6N-qrtUy9Q$!JjKoyYiulJH!pWDw@Vqx z_K&!y^4#ln;)a|itshO8$FRykeyYri7k=g=Np_Kkg|;V8x(p3G))(r2?9neaWct-E z;izk;s)ArybY$`rtLkIh;#GG-#pFLIHVbCx^>d_**lj$qvAXK1Z+X(Sn)dqTULkx_ zv`0p7RwgB=>huDaz3FdepZ2}sa;dsCN2tTZdHC$wA*sh@7Ei}&1B`tvdX@SPZRsv| zH4a?9`bO6FqJ_Fs{UV`zO?oucWi}0El*){?RjIx-kCY{}-WqlabZjy@>~PSoA*vzE zT<2k&U!UQsUZdTopQ*&RikxxkWh_Y!>SRLbM0`YJDH9n&jpg>WGSpZei#dcA>jt`Q z_$fG+-fYB3?II#4R)^-|M3(Z>GgE@glb`O4W6?=}r0cqEZjG+s2epHV=bt`Nc~q-0 zS$A@33kb5ZJeJ03_Wft~rrz$<*4Rs_=C*fZ8;TD<$@!xHlzqp6mh&&2y;FYgRs3~V z{9W6_iRS06(buGYvLCr@DI*cZGizJ=r?p0N0ux5{Is^nXP9FEqx<->_#}75th^*6< zUcG1X7vFR+$np7w*D9X&1GhT0!Doxa>O^lHuL zD#wlkDMsh+7}OU|G_Z3D6Kh4@E+6z-SSoy$b-NYqL0r1@EM=#hM@I) zTg7B4C9dzYaQ&|0cjx7~6bW{-=R>pgrj8}km)BI<{SLX?N81ySQNF>mE6eoBOJis@UH9 zTF`POk3GI@-oYl1&)(p5Ao=Jw{k2tkZ!ON2h`;c^yP_`8`Lq&`pe{Sc{Z=L0q0*-B zU1qX%N{!C;xae%+-JEo@PZsRKHCxqr?_Hv8qH(0Y6LS?}6E`h-d%@|1gIdxF2N#WZ z4U-$z9d*@jnai&BIcajjzcTybVcopV*X8o_+}aozs$o^9H_tmA8=zG-S(WnSCnv}|925dZ31 zmo@h!D<;_7T#55;2oyedw#rPa?0Hzf~J8 zJ-_c#hW-vwi)JCd2|qoL_-wtmNgPi*X~tWZe%LI_GV*Lw@ADj=#Fn{tuB~5EmN=^B zcGtT+XpP|NfKp!5t$b{SvnP7yJpQ!ZxJaZ*OhzF#t?=2R8s~jW(+oL#YuMComTMFr zjj%bjwdSKq`vGeuy~0Pak4CyrJ(m{}pl7OS{T_WYR{zyk^+3NH4^=l@*q(QSwPtNprqJB|AGwMT zW_K889WgpAS7dugC*t&`H-dgqd^c8y7~KCzdPUanE+r&}TXj;8X#W@p4gg;lDpmi2Rw7(3M#1)DoW z4_4V)_;2h_95EZ&XtXHf+v_%dLAb z`$UPQq2W|m``hi0f0PmKA0$17P3r>kZ|u!KapjF2=J~|mctNy(w^VgxgR#BS`}Z=; z6)!8V6iq&r{4r`aN)ZJ}afaAHDbx#2p+a=FFI1czA%q+;@k%iOZh$rs+^4#QRS@V__?VEkYyfR87?G?7I2=AD-mxF2w`0H z;|FeItUp&p*Iy|Kqy&Z1R!aC%#)Sz%$aDALxM5VTl2jZ4-lzXW%lo{U0BBUn6I09KMuR! zd;9snvg`3CS_aNz|4As>nAg2aE4#{X+q^x0lex_9L(5WEYJC{vp`WzOy|;}nFZH-3 zWWDPxUvBAV>7wC+#AhC|xPpqqnDZ#QL+Mef4Lh z3M;GX{4-bcGGFL-$=QtP_^ZDC8R`=p9HC&DImh_%RGXrgo6^ro+Y^t}Vy~u#IE42~ z4Xq$LSx)F2_7lr$)f?L-ddqEXui4pM1L2$Z53bAp_}KQ_=0!X!RJt}7TYqqG_4=~b zV)*I$YVIXL8$1K@*pu6Y4_#+t)w{%Q_RHwqecv^&Zim!wJ=kODyYsVRfV9C+wa|f} zuYbM%$gFQVB!;8(=T}a!kphuh{Q@bXYYfpa5Y@+rkfP`WFB<9ks*@Jf2oIhfM?>CM z`wrdU)<2+AdtgHQ!YD!%8n;p;$1WmPBKuMoY9-`y6(SY9!ni5YY^tI-p4}W_BYlaM z<|~LJr=RurjV+Xke_ZZoGk(b6G^j!X4DolB@#C7#@+gtt$>BHH@i zZt8-keo?O(ReU$RT0p&`&u5QG7sA4Okp*rZ-GP(=E=-8_p%;2Ry)Tj?Qhd7>Lof8O zyuq8|a8`C>MBE2&V7?gVsQ*2nM_K8=SEq!K4^@;PI4DI4T0?Uw!ESgl#dPC-ceNK} z%4Q|^r+X; zzJy0MXW@3_o-hlG1H7493Yv^D4!RAF-9ZVbi*R7k$eF&C6WfiU^06_sa!&~imKDYl z4dghmNU)O|J3$UA-H->HhnlB*^I`gwCou~%raZT;EYhuko`TTR6_n4yoPd@9)`&cZ z1TYQCbDl7Elal&Hv7Z!2-yAH9lA`Bg)a#jkPaNBg#-8pYjnz>ef^yhpD)M$k>@wBK z4gD!=4Pc3xfaT5szI*2vN?_8!+z#iXk1Au-oTuxmVfIvzJJ)?mI|6g^M3B6_{L7q! z-n9U$quBRoP517OHdaYR7Pk7)G6zzl~_E&UarJ45EkNrQFWWH?}d4x1xn9f zh3O%C`duHa80kQ`FIJ8``TVdAvmmRdn0W4OZkWhe&=!I%q&N9t8m!1-G!RQc+_6E} zb;?^W7|TQ0onUMdVYfoCZ&XZ8;n18+jadYSQQfnQ#M-DX&xyt!QM#cR>_1jCL0eoi z-Jip0)()pxDsYL!*3du4V>o5@Jz+Y7T^q1cN|&+;6Q`toi5Lepa^=Zb0i|1#iqR?Q z^A>C+CE2H8rj*_8t2$C6QA=`oGiB~)zbnpd#| zsFzrRww3871?sDbZ;NH$_{am*XL{K9ZxXodk@{B3tLWE?|6avP|`pTCQ3=a zUt&5`s9ZK_`H?WxLMqg0ngHF)xY%?=0O(?qnXJI!)g7nt_Wcusr`WSf&)LXMM!A>iRmJN>lfyX1fOZ)zk?8w*AP zeOi#7!g7)3)D)J5js@fg%>ok~&HjRmcnm@{Fotjt!z+-+632^>J^3LG^y4`Cyb2Oo z@l=F=XT{@@5Y2|8PqE;^w4lR|ryy7Idktt{XBet+;C{$s7Y9y5!Yoca6bT!rgNY+`pybCC;695H=-pZPR)jn8GvYfpEyxMr{~_qC03%THmLAv$G6HQ8 z#MdI+P>3NM6T%N7jh!%Fhyo?AWx+dPd^b{W62VK5pd$feTque!M}H-W;sHqL7R9rW z5IP&*g8a!VLNGWRUysyl=HOvSxIZlzh~ayYrd15zjXcPUC=fIk&p_&dxp)u~R*2(4 z2q&*Gz*%uT5vgGyRMRj9NpMPn5z#jZMj&aD_!e$BM?KNq1K^ax6Odo36fTKh+yZJP za1{`jim{=a2+${mOUsbv>FxC@w5lu|NK*_=JC zoCR7raejm(lZf&zh}aT2yZAua6h`sdXFg_MbT;MEFDj{FCMIYdmp3J8(I#Sl!BgRn$C6RZh*6dCag%0rl+Krr0E zae_EQj0gD3lR-t_3eoGn^!eEf@H}d3DB8Fkb)}pVmT9mI#Ot0K-9W zVQAOMfyM<4i)PZ|IvuTRUUl3O1>&L(m5LXpmApjE1t~;|ChAVN3`G@~jCwc?%$fQs z)(Fa#F(tsGfvcjl-0$AOoefQHz=t_4B^S})6uMxXfTjV93^{BiP{30zQN#9fEzSY@ zp$0L{anP1n1z8@zhj|oMU8d~K{orL_$>mud;q1RU>#F`5_KZLeO~TN4^OqRp6EeSgZwSCuyzkRdSvNzcQJKz$4;}DU|NtWLRs1 zMre)l*sKNnbETO~iV-opMP$L>bBm-?H2C;=0ZijEUKSQ7Cc1PGpbg*rWLBsGbh6 zgt_N|MJ0+U27b`A2v0&eGSP*uT~A3@D^RA3%b+~_Pl<}RLzhF)J%q{iVK-$;9*@E3 z5}XI<>EZKGd$K9NmmGl()o_5eFgYoMb$WOXY7f(g?M1vINfr=s@0EbFB`yLcNTOZ( zxE!)MMcRNjGdA#|LYj)!03tPgGf1@oJR`sifcqpe_w6*YfV{4lix8j15ZOM!gm4hQ z2ZaBb4n9%Ro9QrcRoDq{rVgk9p(S_(qDx%@=~jK1p@T_KL`loO;{H1ay1j(YdM03KuQs4z5RqHcuGMT~X#!)X^G(`Fb@AQPkMFd_8Cf=r$$adMcs z>XS2j=EjAEC4$Lw^T@QPI59jT1pJH{VMH6lFucZQ(EDTDU}zfsNupmrL(~<-m@{0G zOrX+W94c)7=fDTEgY!VSltAX7=?Ee6VC@cE$09M?ms?K+&` z)B_Xq1*VpHusAtLQv)z;fg6Kt3r71z7La8V=O2hVJ~%IhS`O|%+J)fpQpUF6BME8p zkdO^IPP(YsP}A7jv#{9!*evtHa^#~-;lkns@a9ec;L8{?Hj!%m?nqUrx6A6E{st$>>#3|#)R;J+jfk`o{{jz1xzppFtcau$(`*Xyj5!k zK5dVypu9aNk&D`3EEGpuYex{a0vAD0>Iw)2FZ=^}0y9TOoN^8j;@15Gsgspj5FBuT zJ1cUv-<)UGb^@l_9L}m}rj&OXAgAelxGXSPj496$J32yQ;U)iL181u^$X$Z*{<8&= zd{F$H4jXv}OFZ)?S;LTtL=OZwF@leEf^GO3&%kBIm?hZh%y^|^Zl~6f7pUZa2r;h+ zdov~pp&Ls@|I9h_lVUUN z1C&lKo`8BCoJ~nS5@onDLo;EAv@n zTw0oI68?9~vu|L`=s<1%RXG3X9E-sB9f`rt}%n-grn+$>VbQq&PaK}&iJpS{NW~- zADmbTw_1O?q`NHUzAALqgpVl`$)lA(E(Tu=o_fOKOYRIuNUBvHB$WoZzluzZ2PVX{ zXvlr=*IRkT$^9#tRFtW^-Y`>%3>@BnO8^ZY24w65p}s)M6+)aK$A>YVrf2901WEj%0qMTDF5nKuL`45yEM#BRzPb$q3m<$Ab_S&RLN0QrdCwQREs7wEJN!!JhpQoN zlpoX@M52-p+5+&U;G{p?*#7c^J9yGd%OB!A(abniR|ZMwRm@+IUo4zUnxTxs!gPxd zdpYy7G5(Jeb;D>H2&o1W{%DtiOM$owDms-GTkn2{u8&|sch68jsdWRhy&&+}h)Dr1 zxIaanEdN!H7eKpP@L}Fd#%)5L(`Q@iVt2_J7{l&FCIr^X&G6vVvWD?a=ptLOI~)mr&-@H*`D3pJwuIoCDCeg_AeC9# zUr=5o&I#s);`0!05(@FOt$*SDTge-*5XRNbtDhg7&ERUH!}(V<(-@TG!DuLc43QLv zK@#z7vUWy*lI*{0w$#?^1}V^*JX55>XXfYi4$A&cIIe_PM#CY?&z+z)0(Sv^5%?l> zqAK{UfbE2xJqlkG0W;oEY5=Dr@K`iF*BfcZWl;4BKFlxBOSvSU2hiMu3H@`}8RD0e z+Yeoyz$Y9&Ge0judnCRItsDC&7}iuCxj2;oES93cEgus>*B7W5n41L3kXJcm%`lr` zfD&8nUryrC6Y*)Ug?#ycLs@I#>zpj62T5q4?vIx$((*+^?TUs!T2WBe@c)$9=W$1W z@WCVraIvtsGsV$ICyTbLR`~kpwg0=kBe+>Bo!MDfz6$*B-9r$Njll!a7*sf4J3t;1 zDq#flb#np{e0Nrkg=|JfqJcLzS_Yppnf#M%Um)1<6MwFgkK90S1J1Qd*_; z46V_6sP%e6Y3bA2`=nN{i_)Izg6{+84UE#@zX3w2FDU5w1_sR-seRrxA33nKE0$&r=Th7?VrzW{|w%IptFh5+f3S~)8xMj-GN5TyF1~2if?y6JauX$ zGGaAOgi&b?P|&$V>YfI)liHN`l-6N0J_k*SnGbjW%$|>w>FdpmZaF?U^yV52L+YPy z`3+O1>ysFH*_i~}su-oT9LWr=R5H|dexkHapJ94SlNlkOB%yiZ6r`5Ia4=7S+Qe^^ q7Jdw*ZYF#}?9490I9|YXFuxO8e^9126R_a>r{aPfLO-D)%l`qZtVLD; delta 14575 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 F{tpqk?5zL* diff --git a/source-code/Volo.Abp.Users.SourceCode/Volo.Abp.Users.SourceCode.zip b/source-code/Volo.Abp.Users.SourceCode/Volo.Abp.Users.SourceCode.zip index d2243f58016e32ec1516294f26a44ccb81b78b17..423ba84344db6f0f618002228e2d21492851f657 100644 GIT binary patch delta 3465 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 delta 3464 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 I9w!+67v9AK3;+NC diff --git a/source-code/Volo.Abp.VirtualFileExplorer.SourceCode/Volo.Abp.VirtualFileExplorer.SourceCode.zip b/source-code/Volo.Abp.VirtualFileExplorer.SourceCode/Volo.Abp.VirtualFileExplorer.SourceCode.zip index 90d2bec64dd88dee58a07c94eb24f50de5ab6ecf..22f3384db583537b953017c6d0f18d66bf46bf27 100644 GIT binary patch delta 53516 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

oYi{5h>` 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%0A?X&f@!rl*od)T`o_qe#$ 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 V?~wFP5mGqhZvvT&5gX(o{sAo`;Uxe7 delta 53590 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 z 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 delta 73689 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 z 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 F@;^Q|g6RMN diff --git a/source-code/Volo.ClientSimulation.SourceCode/Volo.ClientSimulation.SourceCode.zip b/source-code/Volo.ClientSimulation.SourceCode/Volo.ClientSimulation.SourceCode.zip index 7394ec46af406f5a303fea72d3b845ff0d5bbc96..624a254709d42e46fee9ed40da74c381529b2e05 100644 GIT binary patch delta 51567 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

lKq{Z7Ksu1nXH4*E!n z`%rnljQrCEOdr$L_Pf1qu~k65*p;^h5ukw@G*DJJ$yA^zY6FW&Su8LM;M~3eV!$)^W3!NK&&7QWSydP!0|WpX10y^d_Y;6a`n~pQyfwCW`SJ*gqj=*8ghu~ZQ$Z* z4)$6gvECJfIlKEgi_B406%2N_xJLc{x+D8bkQZ&~Vj5o@UG=e@dI*LN(LJrE<D|`orc5X z4BNkJdl7E;U@jPd3qV_;- zms^_<8#ZFtFj&}<4S(&ow!AC_8W*{I&>vxX|8fc6bZYSmAiS) zUkhS?ilOT*Q}WmdM>?x)b`;qiy@@S+HewP49)jflkmdaRI4ryXgp}^gpT<$KMFuNm zdn590Ke=(mDzng^!&w;mFPNp7@?n+c_)k4u^UMd9z$O_GXPPXl8zyLOP=Li9Qm=7x z8VD=Orr!zS7aP>N^1D7*#>I|&-hFID}gfLfXqcn z9n^#rWr6oYlAy}LKxE;7yc|^5C`P|w4az>%6L_16bAI284rDTuJE(XXFU9kg2j*md zu3`~3ifG|{T+FD`Cgd$~BpoECwBk5bX>T$JL6#EE%(k#o)yphtRjdJ^meq z*2|I%sILnB=?wqE7M^qLz>@=8c(Q6b(17^88C9~Bs)H{P-sP9?Y z^c-f}-8WRhn`HFn=SQJeLg?GZeS+I&{aVI(6YcK0n`|1L14h%v7XN8G8i+Rb2{QKNnss-)5P$oAF67X@p#k#Uyt- zA3Iv}tNp4Bb%mWgbYuSLedCth9RR^ak7_Rr1sF=1`2kE6DRA0!?qO_HEV zg}a)?9UKBbSW5&4ln%Jlz)p}=LgCjYS~9u2J`UiaI8V1L$C{zCIFx#So1rP<5IWD5 zvsH)`(KEN~H4aABE<%UKk;ToDB0G4OT;QkyN2?V3fvT~j&XYxm=X5HG<1RMkbL72iUFcp8Cz1Sd^1!_H;CQ6%-A^)4 zyx-}D-I}mvLpW-6#l}tWMqo`cX4N*yv0#&%b9#ZkDxwag@T}JfXFGNKuE4 zBI~+&-OtD8czZn!%z^Ae3ZJSGvV5Iq;tnCSbH zF|Q1r9A8}yJ^$X1^!9t3B~^o=tz+i-xP6bm$uq(KYsPCCu9>5;8e3wlwW@A4gW9HyR&OvWh|de)hC<}%-N!|(ulh&_TI zTzy^|>fFglFANHn%KLLswH!7%lp+Q)sEb0GeN#jv@x)%g?Wa^jqs{$W-`m`CQba9Z zyxrH#J>t3ut9(Cvg60>BBSpl>VvOCA{nc*_19o~nVxY~A6iWQWQcmIWAD)i95BIMV|BmNvkx z26@~&iGLDRcOD~}mhX$ksMzb$MP5x3#u#l@n-jI-1~E45M3J!!8ML#r_5S5_rur5u zEu_w>HKo$ifw^H|d{LZ^w*`$;C+rED{vrNf{{EhyYPob{pmlDs=4QUoV@Cn-{40MpS%pJ(Iv*z)n_CEoEW=}&k|Vm)UNJZA?Qc9RAM@Rf z(IBaRk4I#c{6W*4Lx5(Fu|TUp5*A6)Kn!9O1Iq`bB!uC-tD>z>RMU0HOQ1{2wNP@N z+M5PRhwBw{E%xLwnyrI8&XU2xTN1@EA)`xXtb)fe* zRZpZ&wT7syDohAk90sp&9+G^sYOsmjW0{l=C1eetv%KSr6*U-!a#?I>dpFZGv}<=s zK%x7)twi*?BaIEB1Y?xm(6SWN+jlcUK+B^_s5D}q=0~hN-on+Uu-BhG0E?NO0`Q=J zXKw1aRsN_R?CoD#O5cA;ZL@Db(XLGgtdfb-6o4Qc&0(fdDV#Bs19Tb1SwNX-2>;(U zN0Um#E$7$ON@r)(Y)aDO?uBqwlg^xZx>N8a*;QR!iG&l4YRSHgX**sVk&8QbR%o*H z5Z9HF#G0Ho$1_5imQwP;H&t=c>ZIy_&ZJHKzosJHfB$d)qdDKdK9y5@-NBe2Zu0fC z4|~=VG%1)IMLHaT>9(O$C<~D&V;ByoEg^6~O%!5M8pFVJUz;t}bG`2%3(eZ>lj&O8 z3Ck=}bZ-ib{jUuoM~j8s%1O@MAPqht6DoPX()# z`b|%{Y6WJ03@{q zVX++g&LW_@>aEyrupJG`={0l!KP|*_WG$|-TVnLIkR6dI3&hz7Oz(&h$k`(%t0gw+ zB+h<0;9};YOhhs+_A55gS95!Rs@V5lgVhhNJ^By5!OO@e{Njf(=Ern5>onoRL*%7{ zVy5bu3v8HEl{_JV#Wmqyr+UQzn``P8ioPvfeGyFTZ1WP$o|ik+Iq;zxl_Ev?h`JDT zXYPxnvh6cI&W|y2G&6@~l#yoy?MNHSLA04s;zN3cpU+*!*_XkA+izEY=f6*nJIJJ zpaG_6*cBZh)j-q)O4q9P9P#Gr%yGseFZyhkAM`kZTW7G5)H(>j?GvZ&VeK# zot-%i3{5ey#p$^2&W@pfgGarszFME>ibcnYU=Bx{(UH-|=ivR-`CR$yKUA5iZT~p; zO4;zv{MCC6ulcE#`%iC(=SiQ*kSs^aW z3>(Li&2+lj!c79U$M@%QPmr}!5c{I{P5q{JX|;Qj_2bn3YAVmZhF0tk-R6(^p6ymo z)T~$%bRafkQZ%6QHbz$R1-+{0VbL5-g6Pr0tJKCf?$0nQ=fPG&&b+YRsPoymSQVf< z?VLiY*m~oBpT35F%7mG2+2YXAdORyz-m$Qki;kH{N!B~N;Xv7z2x-kSqj&6*ZYX*0 z9YsU0Lsq!lkFCP8jeP&o{_XpkcHizwuZ09Y$ow!*0Ml<;{#ET5=udC_dFUys58QuD zeyg*32fjc5!C%eiU#~UwGoAV8d8=#wY4A@y@vRL4%F?ud0dfn#F9@KhSwJfp9Yp4U zDAFixP!!6+Vt6A~$*!GckgD4g)mh-FccCT+LZ<2BARjT_^L+GL1p1C+JJRsd=@&RZ zL>y|4WbCCQ>XMaM<8GSd(ltCFV&v+c5qH1Yt$;viT7^8)sT#o*fLm_u$b|url`r)l zS^(Hf8R?dPW$tf2+VQ}Y&-rf8pRO+0C%CB^`q|F*H0SfhY5==R`BeKuxXeQH0A)HDIEkzdk9=SpSpsZ9y$Sx!g*%)B;UE^1;doE3#LdbqN!ME}wsbPw&-PBP zO%|Zc%V#MO@R(rCl+x^llQY9yhU197V#-9G%$*B=&2yufz@mM3efNhxesZ&jUxbR) z(2vq=AM-uiqn@ZCY;=@>7~jI+acbf4udQRG3DHHBJV~<#EMExa%s05u)JXive5S0d z!R9g+3(K5bWxf;02b&!#n!Hx!lJ1NdDm_X2fS89e+Sj`5E*R>}K4P;tn-b!}!A^dN zE~$Qh*p2Mfhqnxn+6ln&-=SLXvsHGuy=>QGg*c%SM^)`NOwg3sCTdbP_<}aZRqfq@ zYegY=ePab{HAnmXouVI<3_+2okBn1dGxn+VXma#&OGAZC>HCM>khY~RMJzVcL!g|{ zYp~iG0z2OI@`=R{I+&L)ar`JvXS!_NS43ogT`KIcqT1dln|`RgY0p?&<8cVj{=41= z*eKlq43-5oIR)$hgj6Pqf_(_0DgdElI5^8T_r@Y8iL)j~5tJ)InU1}@FO&qn6_!d) z%=b)>ON||qr9(gs<V=Pd*`wKxHlqgp7ax&`l z*TQ5SjFst#O#0>CB`-OWIeS0GKw&X|UY?iNv$hXOX`y?pY0aqa@yUK%t2gn<#vwG@xu4gw^1@|=6d;pygX0qbdF2^cV-ypj~i&BBS z?{JEg1p-5LG)}x^(axP{7lQVGmHuXa7FZ(kn6lvQgtpJKd+)k-;ChRW06_ROi2uVj z-|ZP|TRje24ZnfTLOI~<37rMVj$%*>q!0!HXbTCx1_6O8UUemT6D&zrX>*wLchT9j zHyhVw5h17hqSMDm9Vw9oZ-s1-cwaCyG1%qS<~%TGvUIU<@6bUviP9^7RS5|vCy&}E z^TTdi$jZ+B0g}*KbdT1Fe>I&GUwx2UH^skizsHP~`5s4qnz@>i1l7Vqt42LGKz2Bg zFc=ChNR`YAJe>`S5(}Qi?^=XhA2iU%oC(al;W!Xdz;gko9Sbzv28ae7qUw9<7;g(vG5CP%izi;#ko%JtUg+HxP##vnlquCA)P<6Yby$C&j(n|o?NpnK@+gvN~ z`G82#_tE6{QDUp``*S4F2z~9#LC@3dcgpoW&sp2IJoJ4pt<|nzy=cQF*5RcB6ZPYtV~1>xem>8xmrsX-_*{->1eecp}xA; zJcQKf(cT4-raCWwc8o;WgJQVsjxgiYUtX!fVzeq2JGn{8|FBDXaGhTg8@6YB*rYye zdBPThR;(UIQCyX?39cRvumxwJERZ@n0gDl~di|Xv(scpn8pbkO7$Z~L%ZnXmS_^#4 z(0fncbdjZ=@0R3<%ns6Ue_F>0hnDI(B&R!-Mkih;9eWFZNf4~j>Kvk2w=hIywYkRw z&5nC^t&g&fu-ktc{HF;O?HL<0eH^yaDlmBHIh4VgmPu8c6k{`}g=3hFGB$3Y24`S^ zC%@4pp=!E`( z?yx&;5MoAuoUW#_UUjuKNX8B##lw;b;80u`_L45|lKa*PP$ugRecDzzWfy zs$=5Iv!b1;_1C|DqkF;goF7-})ZA6ME)#V=o*f>QAQUaJohh8Rn6@ zbB{M%Hkxz`doZwqlTa?o^#bv)OXvK4cl@00_Ap^%*_(IQtm*d9KZbli=DS(5IcPc5 zv`(-fI%fe(w>S!JaA3+P3$Fsdyw&<=Epl zWT#+%4P`Zm6oV9x%l-DmMMgXtlCX}Cv^dcBu4Uj3GNZd!9v%3@vM-JFGdJhIp||Vb ze$NAXq+d5DW`w`g*ZE_*51Uol91l*7#xYK3DWJHk6g3WW2#R50PcVS0AQ_$GOa^2m z?;2>F&WVbZjCqZ)0nG&<*fd5o<&Q(oii=5qht+$sIv;H=F{rzYRJDdPdKwdqHSO*Q z{}d?aBxiZYQdT#dmUYzthYVQB=C6#Tz|3tegr(H!I7Kn-A zF~pI&trHAwk)}ythRHAlh5?dgzpKX(X6QChSDdrAPW!QGFKl`#NGELDWjlVp0M+e( z>S!;C4GYT9nCtbhWIZ63Si}egdd0M|YqBZ5DGIhfF1HSdrDoj>y+5lT+;?TRPuTOF z4gdRQdrVlF=y6onR=6Psro)2FqUw1G1UJ|O79NO}z=>gLgK#Vq!VjSB-|T++a4k6g z@$6n_k_Tb1m5%(dJ0m^eI7Ru=4UMgTK6KUX%Ih=c_>vyBz=ui(D;g^AFX?Ls)dq`Q z$I{gafC>ks$j|HVl(8w@uDaf42&%W5{u%cS)Mj~}Z9CIF@FYRE0{q0Mq-_{ueu(Hl zrmU>`IQrAfb;~KhbPET4F-kz>R@EN_NEGx>6bDZk6VxmuIE*m(M!>E}h*NHVRy|G1 zcH}Za*2g&1@|6{5U2NF4A)f@Uk8r6{j9S5$Y5v&&zIU zrsg!q%~#uG(qi1jwii9F%yt`3?tv^pj<1v6ndN zcE-YLT8?-bPubN%aQXhgmM1Ga!jAEDXAczKn-530oE|#lP@zZM#*QN`7;TYN&Q9f# zN$$kJrIOw1J+$>HMZ77l@P(Y0l-A4ZdL$ZJC9lbjG~$&KY4SbUmmKv z?>dCN%O|Uv5!!pb?u-g2_@qLIv%di~P4k4RnA#`&?}s#h$n%_yiCY5zcil-4oMR~P zp#fjE;l9*O002?APZ``{DHC%@jsv|dFtlGAnDe)S6^xeofe3@p)P-w)0?1f9T#JOx zT*vE{$YeQG&54Sxk9%j^<)RapvHZ-q`n>@;an2MQfm}VYXo>a9zQiqXdA133I7RMacGnMHuMiwqJqg-+lTvY2Y6T2c{+E>=#w?xPa zN9>&E*HARKMBmw5^##4jrEf!$ra9&dP4|=)T(8Z4Ce8S>aVtmolMWvJUE|ghHa9;_ zvL=KcI*5B%i(^^6dK_b{ZNc)SzzK&3HHX`8oFAH6Fz%IBsdA8D=GojA^2IR5XGS>@ z`*}%OV=L2uo-6EWd;rnyqBC_7;X-Gnh)M&agOB(!u=&}<9mPqv&#$Bt`%RIkwsD#E z&3zMp&EKe!=YdZ&$~2G#tahhGo67I z`>qt+aGQBRoo5;%x_F$$_7UgR^;|FK0%r()dDsD-ZWC?GzIrrvmoB-xvTnaeU{`hC zQ@pt#h_2NK=wXwrl|r5^{NAYd6Di-{?zR4Z+6DbTR4)Nb-Mqlxfh`{MHJ9Ob&;l+T zlfx^wO$Rk4sQU~PHE2+$87M)6v!r7jh?D?1d&4Po>1UuSdz@#GfLcay$;&`3<%pwvOi%tcpLx;}@zU&vp7 zmcz(G9nQPiUCGb8>yK(RG;`Iqs$SH)X;Yh_DyeSRH0i*8ikbi@vJ4_cpmk{KVh;zl#JX;iQlS--z6d} z$yUwCIN(nlovkYy{n^4$YL zoHiFWKsVvgwZy20S)0wYDJ^^k zWpr0nm_cvlMBUUZEt%P?y-u_krHjCs1X|=ulV1PGjCIgdc|C16vIZ`>3Sp^_*G#SzchMUAd z5`b9*hy<#V6*|L$iVk1`0%hLiaUwbdrXxKY6&l_fpE`m+bx7CYC&P0g4kd#_CbqVi z<({)20%aU<^3d!$)M(E35dUl|$5m)}D{35|=JpUrPKrCpqV2VmC0dip50ui;Lo3PJTRdZPrNE^XYCL;JQt*AT={UaRQK= z4lX~7Qzl6AzBZGx#7>8;-96^}EkTj&z>)nar!moJ=Job!X3J56jWt{AWx&RJ{7MiT*Hu4tmV@Y?McHQi2A| z5%y8c0mhXgEsEhVi-x_`gqsTFUo;4CXbXGez#~ib>{325%L#!V3-aiECPq?*EhN=5 zY(6)=AujKh7&%37URYd-{!lv=J?fyL5+W-nKzsQvKbzu5b>oiZfo$Tl={Gb?l2izN z2ENee2D~?6cN=+sGaj9K??YzjRr!OJ#H;yy`^^d$KHK`KHP!tK9C%d!@$3TBN{7sL zUweFd)!RuPyp}$UQ6)RwFov|}>{ zXajW{R17p`(xBM2NC(AD48VHOGN2qhf4^QV*~C%(%go+??gI15Z&F6>4vO)HaqTGT zPOZ|8wzHFPI-Bk?(h_}yT+ZuGicciA19w!1J@QM3MTbC^CY@O%+jcl4)$bQeeHtz4 zel@Y_7xOxYg;yq$vx?C%fuKV>uxB zGAWK^4V*=PD>_vNKY%n1TYn>!#e*HW4tfIyEyIg&>U%EJpXt|V>n@nf%;I;kf(O0j z994Q9EgGCg>B>Fo%&hQ>KpQGH-|>^Zt2m~xN{FeytTgGJZ#>1SbTGiAH`o?}?5bq< z+071Np4Ekgn+n+N8~TM3c#;5slJb$U_ZyU9Yr@)p=8vqs2NlSI|HU!{U~V`;P#D8G z4!B{o1C&1m3m%ZB%bgHZlf#G`iD?cFgzg!2>&WV}d_@FwYc zF6Lb6hyJF zrHcqMT@PgT;*O0($jqDTS+JG%q1Joj|2W^{HW^sr_NtZTQRRQzz=m0l1p*3xFa!j0 z3<)$DC;(A7d&h>of_|3?^BLAcM{Y}yS zRz~$BsOY?8)z&pTAs>(UHL0$&?__SWULchEQuJ;hnMAF(RGmt2l{f=Vc)3lB4pT}B%ss+r1H4aZT zgW`Zh0$zly8k8Ea{o5elB7nkkVAZvCfh>h5fEc$g4$Y7_Tla=CEDDyLVOaoj0%B9ksJ^yBG0q8c za4My8a`6}FF*T*@wzn$x2WA7XOCHcmKi)X1y-4O~m-7zAGDQ$;u8-#Hr6MO}c43gK zh12U3wY66p&CT|~`x_m8xqqq)?tj#tZ--+wE&K6KRW|nHotHv?_fMo}eS^MIo=v=X zEx-IC5A+RRhlx5Y`h9Tw4zkq|=I%TbAHw&q>gW?6wHN+VrRYy3v0F{VoA;lp`n`m_ zFYx)t@CPsO^2T??_3HPlh4uP3^2G^-Hf#cyuELlFn%2*N7Ycf zGW&x*GQ$8Y2E1rHZ~mbx{Hn(T{Y6ulthwTkU^)oTAO^O7{s53ue`ov3{-?G1x*BfR z`wfxx!y<0=R3F#&(Rc#~9?__31R50V-~}xophK{x|Rmaoz+XX^e{8`K{7IiAQ&UBv5NPa~aZLe0xT?j_t!%Bo9}MCQO|LZ5GLL9O(cv3|d|qWjXLmIT{7gC9acieDERN z+3o{Va}j^iPjufm*12F~F}kD#=N1h~SKxaheL@T2gSD5xu0Jk2Gw%^Dg~W zrevaja+vEA|A1jQvetaza#5Uo5--%%+-I_Wsi)|CHU3UiU|*gaf}Ruoo~Q5|-R3{0 zt1NYY-Rd-Nu>kN`I9q8g02(J98(bO&RuABx76x)?oCJvh`$oxDboGJWpK&C;H>60Q zqUlCjb_x|gWORV`GGe5jH$AMIcVjI~=Y=4D4T%MF?gs}}oSq<3R}N@?U>MJ4=I4EQ z?P#3(jf9|`H}rB3eoCfkBADuwqw=qR8vi!a+)NlXRLiYxI0c?C7?A+vL)QsludCL? zC*&Q8}}| zQD!C>kvg}?}tk9M*@#o=BF{FLewyZf2fok#09GWi{KS9`|F60O6QvWu}To4`T8 z4y>$Y7pyQYa|j*PDT~B0xQF1b0xJ?I!JrITRgJY# z5C#C+Y`qc2YJ=kuvE-dxqS^)Z_S4yP$;!DNuiZlcCUp~lC=?;Wx|bM#WCooRdsG!l zL^o4Ig5O-gojcfOy)fvHH6N9fq;urWpIgxM+`QS4+l8;{PlNA#3u~|zZ)Jk~3l>tV z4deaYF#Q86amX#H#~)>oS}i<3xn(ac6<(aiFFOgmK2}=AA74EAFCIqsz@qJ!z4(;X z&T%uy{X5#XP~Ewx`TGA34^T@31QY-O00;ngI$o2v+Sn0yI$l@qaZjNR0ssJa1pojk zlM&+_m(D2x4ztSJ8Uh1%I$pEq-P-{JcRF5^#ot;HcRF5Im)UYr@c;k-tpNZ4Hj@$K z9Fws21(#bZ0T`2M;12-{lX>9l19v)JvuEL%0RwkBUXugkm;-k@UbCL#)d2%{I$o1@ z<=hT;I$l@qaZjNR0ssJa1(Sj0F|*3s8Uh1%I$pD`=p_OJcRF5^*6Mi?cRF5I(g1j3 z$pHWW+64drK9dpSA(xIW0U&>!RKaeeFc7_0>OUZkIhgLMQhOjsQPkZcHEER4?j;vv zCaD|nSoY8rf4_zjl|(E_dcYFn_uf3eF@y_)?;yxqWxKIIlft0I4YBz{!d!{{fz*$# zudc5=@AIkG(2+D4s(u?Rbre2vwS5I+C8{Xr1eU^}TdO&am2k5K`elE30e{i#A_a8E zZo=TW-ohu=LXqax+|{F3%#lrV35r&-C|wsPT)PW{16<2paIxcCh_fN$7pP@Dm!wNd zDh<(-Obs_x7<6haDz*(V%^@OFLKt)kEo6yEwH>Ru_>cE6I0Wr8a*bBPNKFZ1ZubfP zWcMzo{=H@*!Qn{SImLej#lFzZWeFQFpagia5_y@y*l$cuQq3k-&w-|BfXzMxdx=@{ z1_iLy8#j>oUfXu;-?3Zv!}o#%Cdn*@t9w@RvJm_gp$vjOSPOWGsN*t$2~{wfnz zJE^_08(k-${=^=N6tWDmC0Hy?xAnpu)~-jR^@zROj@h#q!d_WSvFCE8SZGx4;Fq~O zrhT{FkV6uzfLEZ9Op zhA2Xz6fB~Am5)-u!Eh>HM&|~@4+dMNW;!Dn7nn@voK6hRxx0AgwkTj?%w(t`M(1K+ zZvH{dbh?UD2myG|SuQc}1D!aItW#lCuZDZQ9>P z87I}v#tI$SvCIZ~F<`u%=lRZfEbttc@78J;5OKXA?j14V7fCQ(VtR_D&exfF(%G(M z%OhR;>+;F&gjNs=CCmAzu4|x_+d5_UfLhtGwZPKzI~iIu*kAy5jKQg%a9eUaHR=f~ zWyL!>sFM{xen08no20lR;5r?oqum=eGWobSbn(lC`wVc7p=CZ0D(h=}VVRb(8~#ux zW0?W)vy4Fy^&@3*_f&Yow4Ku+T&6VzgI$j9Plq{jWDNzg92J_NO|EJ*Lo$0TFhh!V zsl61pnjwpkU(I0CR+0Uv844K5jZlKGBVaBg9T8B@L5_u5m3nEgKq&{BNLbCm`;oAe zgZ5{^j3_A5NjFSd&p*~*{rfB0?iPBY>2ZCUZio#xqwyA9qHNq34Z)hvZW0)S zK~bPLN%Dc6JDz?-WALR;5OQ2vif&=qOn8k+Ijx5ec@RVsFQltTXYk5Q$m2#-x3P*e zrBh7kw9i_U51Ihs`MqC!ZevK#Tq=ExY#l1W@;hRAZy2`5fR#J%iJ{J)+?7D_QrBd3 z%mO_pa%WLO>{1fb>5D~G0#8W!HTT%9pJEp2XA_wB&oj_~fl=VYOQ_6l9%`kIQoRKs zU)9l}2Sj&>rrwF7^MT&2PN!sfp-16N!ZlXVv!m+kLghHWm)Kd@9IGtlY%E!N$Iai&B&;GC#`>X}roBJGm_OdG2Dut9IpBA4;i8Ury2QuOR7c z{je}i*@?H(D1F)Al|GgR@m#+9?Oi8V&Uv`E!pW3ao>%*7M``^0#WxPhc8R%!mi@(ftX#oIHecxb4*hYn*hAw-_5OycC2 RRGbhzoe4%y4>OI9@IO9!d`18O diff --git a/source-code/Volo.CmsKit.SourceCode/Volo.CmsKit.SourceCode.zip b/source-code/Volo.CmsKit.SourceCode/Volo.CmsKit.SourceCode.zip index 84f49c284bfcea8507642572b71aa562c480fb1e..e387938043b056d091a429bad4cb72a54b6fef63 100644 GIT binary patch delta 210719 zcmY&;V{{-}7iDbQNykn)NyoNrJKeFJRBXFrqhs5)?WAMd$-M8q`7!hB?saNcty8tm zKDf7Ly4eT1*%1|Gz#%X|KtNzXlyz<55tYFIS!#_WVE(rzmctl>_iEYHqrhH){m)Pj zh5!coFMviY{|_`G!Tbk$ki#LtRsZ40V(R@%POQLo`j<t7bH5+8vM(hr)B-`3M@U-e}IR9B7mPBz#IQ zzeb8m)^;I{F`TW$G|@s-lWTzmK&ugAca<`x#Y6%jR4Rb zE=No5IZ-n(-oo2YyYEFnElHH%TC>`mLE0;e3cM70WdULX#mU<>lX=k@)$fm2|41;c zj7Ci-jyNK0m9oC&&UNtSnWA0Ynsre8V$?BM>Z*ZxqZP9*uWr)x_Ls3;9$8oZq0rq; zzwn~Tu~1zlTiHA1;xA?_WR$XSJE>VY@bG1Bg!=y5?O7(W3$Ic@4k{b5ahl=0Z*M7L z`8~wz>*a(YzITQ1qXP9Q*e%RQOtvkYKJvQ}x-i|PgT%FMg6KuOZ!VDIB zNle39O9!LdO>aD!hsf6_$p5Fr#1X-y|LGvnKq%qg5a-tq;AH+M#23I)Q3*h?6YUj{ zQ$rr$QR;sPbA$dH+YOac7bY+uAYG*Yi|t)njDIydf;6E4i2{r%xp9a7SO&!)S{|W4gR_Q% z3fT{1Qs8wuWFy!T8H&EWf#&jiYpZYa9O>5UnLZkKpo%i^|4$aGmsimLzj;DQ`#&Kg zsF*|kn-*L&8^QnmE)2S6u>X4jFh&@~x5Nxxc|gf-jTs|&o9;n?q#?8t4M|a(orXk7 zTBE5CC2td+DaHw&Q7UtlgZc9#ldUK(C`BmFy|?vq>fr`-_)su{%22Z=Q>$QQUlxvn zDE^*@EI)L_t|oGFK5;%#xObrlR8rSBl@uZUknn*DnFJHtcfJS)PL7NZYjU<;TvZ;# z4j_Lp{Pwrv1bj(qm2E4A>OkaMP4%#~G#bVTS3@wi{bq87>exvM>>RawG6!>nxacqgMGMK)}8dlyUu8p#M3 z`zZtV#ou!Xq2);nCDU{Rbl+xWBD&r!s0fL<7&ZK(bnswzZR01YwWh`@=bop5>O&IU~jomh)=uLBbvbxgT-a`rI1Wlf-^UeZ|Q_Dm)Wa8Z=|{q1;eMX_0!p z1KlEps`MjJ@|+PIhv4@l`-v4B>A#1Ml-$_s`()^`C!-<4 zwkg(eZuWm)C=-P!Oe+MW>l{uS`8Vl)!4p%MmGW1S$U^|u-{V0@a#J= zB~ZBNqbd;r!Kr^XufD(=yD$*S4lbow$Qcnxe!J`I#Y00Q{GGZypVn=;YK=x%I<*Ca zb0d|>@9Qjd?TiWN=^pzVTBlsH`B>PgxZrvwQ6gaZ^*)>anI^kPe4%d8>DyraIeW^q zCg;-d_Oku;(Czz|90~As&)e0GkpMDRzCNpO0pMNgzEnPeI=2jU=)MGC@im{CUMS}O zC`%mp{`oGjr*KL2HvIK@_4RtQFSb$k+to~izNz+N=){rHr5$P$?Mx#@;5)y@|UV?-4n21u!D^UY30u@OMw(UAHcInir!YF?uf(X+_5?lMknmtk4BA7Ya8c1oOep*{LI`sha78<9E-QR3%w@4 zv)J+EIGgkNlvw-F)GpN5d{2Pyr(ay*uUrazG2{!?6Ok%wI0mx?e+I#G8&E#Rm7|58%jzWLgO%V_0^YX#K{hWK(P| zmLn-bVI;;;qOdCQ@m-fVlsbs4KO9bDcup(S6CZCdp!a5Ooy=PVr}lO2By2$zsLIAJbvdxP!Wt31#TWA zrIhiwLS**4??%%g-VA&R_#wXL`O@Ema$fSO-j{Rg`$&AgSsc6M_^IUJj+x$9Ucm<Z4 zew4SKQ8Rz8B?r)$Q?g-MNgOby#R`aTf+ zeY*GKnj(i8aK8d|&l+6GMNw5utc8IGR6-Z!NbAAk<>cc$f@;EQM7yAT(Ox`R4w}5= z=iW8b<@q8T8COjSoL?mX)OJ1#oYAc)4)Q&CUAZW1vAc>=i-xuDboE1!${(2vuT}l& zN2?uVY1}%QUzFF#91zDQEqP3{U$MC#NSn}X-zDPAaL`0>k!mH;-2EkzBCsrgn@oCC zf0zo2G=l;y0rn^LOnG)ZZc`*j@xE1zp@Nkb>H@R&dfUIKG%LL*c1Sj~P4a|hZg?@g zwaFK6R8Zp&2as>CMf~`jPH&_?me)9c(E+GfNw$ys5!aqpessvqA;k6!0$)7e7%o85 z4~UTk>nO*i>SSec!Uha$$iIUD)Ap(sFx4u!^$A9JP$u4prUPsk5gU}E&7VpU1hFf= zt~XA!jmO3r`FX_7SZ&=_``{KVTCDdx+6x%7-fPBLoJr2uAuiL>o`EA;SFL6P9x*rG zn)?2u%EK~U+5!R+?A_?y(@UU})6ucDbjCCX2tg-=p zdS(L?uQ2ss#%ulhb`?gcEWRp-hBPVDZJwv6bkZvw2lH&Kxw@FD?wr{Ehr3Pntu!;hQK5ZTU>P!J7YNL@=j~U< zRnkiFNMt5uI;#`%APN9*;nxsjq>HD<4MetQidAeD(3>5W*Nx|J$MPNY#~Vqc7r=By z$&v<6K6%CHj4)@XlqQl-M(tP{vm)XKXH=f!%Sc*Hvu6A$VHkn^_;iV&9#UzXzl z$S0G`Po7@i26#mQef}YIuz^s~6jRAz&MOlRj)GD8~)ep>;yt znO+C;LX#a9C+9Nv*8u9*4VCHllMmZ*ug>j1nDe*uMP7&7yPt6%@A50e6JV#v8nM>F zF#avQwINa{{U<=CKMr|1niXyUi30&vuboLGFQ`v$ErY!5scoU>(n^^22Fatf*4%|F z-HBHQ=&1Zy4E=9clO=;uE7kk9yL1LO3ql{R$mS#&*VI+VS#~rLys9M=orB>oYiEHC zeN3T!xA;M(`Qa~+Ljzz|hspcnbKf+#;~VQhApxBV>>Yr>B-NvFjqpw-lRyI(Fc`6y zxWj$^u=FrNp>(mpJy~Qvvjs8FDKBnox6UzSYvYlI@N07-^t~;uN}}?o?3~!}Q=d{m z=7(*kT5RQIubqdbqdL!_p_uXh)x&syCErPY^;IVv^sK_;_p6tC?9T$e2eYe=hcJHx z@fk$&@E!owNR(s-^?R^jsDBqKy|7$`h-6InC2Fu6H?5^zg{>Vv$GxZf9)mft6}2dK zvzY6()mc_1;^!I{?1LrS0^Raa~ z{Zz0Qy%G11nXBP9#J{01nI#n@Mlo<9)Zz5sA?X1!f3bl$YL+sHGqA<)Ul6Md`Z&8M z4J!|+d}Oo1i26nrSwTx$BO(IMee~8fCv`amo}St#zX`$;xrt(bAJXzTzrPO74nkmC zw{g?Z&^a3#X_4T?U~7F*YX(vKA>%Z+xZrf)=b%Bv zg;rbb(-*|pZ4+(N$w$JoRrZ}5*!!6s*k9noe^@g!Y(X${WQ^3GQ7|6{m%AU_2^lED z8f7tqd%zNLPceRdaLVC~q`1CY$k0yMi)!huVVx~@`X+?$^G&ooo>iptps>|WJYy4t zBEf|_>N?g(?Pk2YQGqs+;&Cx@ zn2jifvmYcTT)Cgke>Kq~_n92jSQKah3@yLKmuPzTg@%<3l4yi@dws)hoK5enNQp?W z?f7kxQ@BC29JtkMyYzZ@P@%6=&)~qP9Q1gd-*8gog*B~{*PPgQ-s$PwPD;VcPLGp?rho$~URY)VTAQ{gMg-Kk=wsJT z@QzOZE+XMo#!txO9dbZ}WCf@g~iJYlZheYCBJL3hKmpA8|v<;7tt953oz zE;K)-x|y}A58^2~XH0h4IKiI~aAVVJaHHB^^MLj1%?h&9Ssm^dKi%W^CgAe7b^ zN|{yfNrUAZOLa+^gcrFO3^S@I8q9{+e55wKSX{pEKL7JEB;QOf6IQ4B{y@Jhyz^(- z?@AScM&x!UvV*}TGt`H36eVRW1fu<@Iu zBTl8DV3*-=BB(W>D2!y|Nc4Jq(wKUCSNxDB1x4sRhpyO=UcLT zcJherunf9nPmTSG8ivRZq1B!5|Jji!c;)YH7V^oT(EXZ%zx=pz@Awg67xkx@y~dr81zy9 zr@rpWA;9@To$DimnGc6Pa?wtMDY@*71>Bgh^RK3#v;{yh9)O3BCWPD9M+;sXI~t~V z6x8u$#hH?|tBxYolo@menL_EV3NJr;&TPZ#S%tiqb*b&$#%UH#NLSz5f#t!&!@5?q zi?r-qo3LquoFS~R%lK#a)FRr6@$-&GceC$B`x4aMHt>?rR_)@I&(;k6ldnasxT*@- zn;_E2X9+;1r_Ig%?pJjH!d!|3pZmv176}XIaa39vd+LGG*n+=2Ow>uadRifq8xJOH z%A1tS`cBobxr8k@07$thIbGpegpP04Y+6qbYW_G0I_OuyeB0Pr z87BX#?>h#^QJZh>rJmf(qc-SPHLr@1!BT9s4giWJ>CeE>AbcS*RF6=Z%fPO27SK?? z$e%6;-)s$ZJQAYUI%Ub|R@JdxOa`GJuhA;k&$aC*ZCO&OH8>sC@voO?8WDbxPOV;# zpe4x1kMJlroK~dIn$D{RJRH8eLCu8TfIrDI0s4!uSEwRiFtuY_gmtHTMJ&!{i#0Ld zK>?^R;fJv#h%rS_DXe~2Gf80vk^;zV)*Mc+#%;uf5d}s?R>l(fzl|zWWi|sR&T|BpWlKs93`bPy=5i(Dp5X6#JN5f|KTd2llR!SS zcJF}BZ?1%L#5Jvf&wSR>PHsQPmKT4vwE<+L-&E&1NeT=-Xwk{>W<+-lNSQU48K`BI z&Q@7U55(;8q-;A2W<8k1|1i@=33a+!QY+EnC^RHCUjEgT!sU>h!dD4{Zkf8b78onM zmJBM63K&6-6ixVTO4rQ0tC`U)U*4hohZmP@!p)&YyWFs)%eyQ}w^c|)Vkfz>4h87_ zt%wJP6^ZE*1AFXI) zPz}uSGoVY9oMF3TnjD0ccCzF6w;A9+R;YbGGdy@%Me^Dn#-C1aHldfOj$;&M z997 zAsWyCF|=OU*(nd1?(wmsPAQh|855w(tqPn;KrBnDxyd&Y+>KYoqSuqh`n$zOou`mQBLVnfI+*qx+1i{TJLl4H zdnxtdL!#=yyf+F=CB(Q@Fg|dva}?v!p)knl`<-x{R^v_KY1-$XotPzBm?|cttnLCs zxXd0FQVS(Qccgg8Cxim1yP9|ODAT@-ke}DbuyE}z0ApS!`x$#Fzrk|2X+oMxX2Z`Z z^h5iV>|xf)yZnnZXXN!&+fLG>12ZC~gg~E>d~cs$Irm$>2TvEfYZ*X;B{Wp4n+Bo) zR^dJg6YX$sNpP3->lTD(qnpT{r_x}=av3<9E&8XCX^QlMvC%_tQgEnn<1Y{%C^&oS zsald%cVz_O=%%(`L>EDL<0|u;)Xtm7QJ%teHq~uoEOZ;k%zc}X?f2pjtLEfUH-eUQ z5f=Gs#c%8>^NBo)v2uWis6^+X<*{2+H_2$2j6tTdcXG&0Xe;>BVLV1qbTcP@O6!wN z4p!UM@Rl9amA!s7k+GfTI~VK{TV%n`hLNF>kY8FjCW00g1nxVUX}~$F23sF9<+B*y zo=CV}mMl7e1_wmaq=bV*Oph9*tXO@%{}bqTH}z3LLPG;Mnjd{%{FID^uf+ z%PA!@0hB-PK0Bi4pZ@(vw{~LHb%#E1y`VPlmIrFWp}C{hc&itRLzxd#5nzT}0V*s5 z_Zyn-o4%nSk4!HESp>-ldrS2-*VPlhuu@H%7Zj~_H9haD~t?^wO8t^ z=RF6MXS(to&w9Yvan`G<73Uc8cF)8>cL`3tL)O)N_$OPj^3^+Xs3ulY<9hkV6`!#i zuy_?vPt5T(DGgt(*(?CEUmV&e5 zI!W9~z+C(=$v2UmK^%Rms9pz!fU$fxoEw>Fn1lT$&#SrGCM0{Rv;z0A#9J(!9p^OoNXlLLw@AOyrT|Z+8-4%=aWJ9LyLW&ZQ|4J$_+0w6AINwKQW2?s4LY>mCW-a6g?a z#0offq3J}EWUCU_%nIi7d`_93Ze=k~is$1rwt&5b>cM{3Q@GF1y71aoXFU&r)N^xd zA{Fs8Yl}ms+on@WG!%|GWISgo4_Fq1>ZHb}qOX{8=)$eUM$|8KMH#Q^uoP^jXfRH=;SIVX=n`vFMB7$?{uzstY-eY6Z_fO|x!|B(oh-7IC9Dmt4RT z-3)CUaHLp)(AB4|$A=&?;zu##2qxd-5fMeABba_h5?TPoJOV|{8}1+XGT`!KWxpjD zJNh?gvT$)|h-Zh*0b;Qo&OP&Gjkg?{1VEK*tI3u%fz|oDMgw{MW+O$aTR zrnuhzHwf?7WlhetHh1WI znT0SV84xNk;~7)}5aI=8$MdLk_JI^4J!_;UUQIJf?k7#Jl#$w{8RkpaKN}g`WRyH^ zftO;JqBgs{=Z8y_>u+uA*^lVEEugC-*|;{xrS{?uZ@k1Suvgm}ljIJMy)p@Jo-hZY z+pOJfiIoWO*!&m$^_7S14J11h_|I3{(mnIAGXyb@*)QxW0C~t|CNiGgHy?-C zbA6^id9=E3VE)S5hd2n4^vtF#vKBiT--`F;O0)d^kZQq12B}0A{Wd;lOh!-8mPfeZ zCLYpgmyjTE;ZO-!>y43V@mPa1Uiv9m?cB(Wmh8rQTMgNrmid0PjkR2GbDpN11UuL8 z#wnC|L8*Og1QnM_0KhVYZ~b$`@WZXqZ5<^z4SLC0?h=|u79KMr!^of9{6R?s=9``^ z=8)?kZr$l7^+28WOx>CSeI~a3N8J_ey^!^*RaO()`oRY5bEZ9qZEk{(&kl2&kGrmR zHI9caZc?Ord=m&Si%rAjI>xrSP}~?Wb2gE`73Q zFEQqaZ&q&r>>Ml(0gD;4iSUa!_1CWdB8s5EPyZnt=TwCsw)h4k8*#Gj;3bU4ihS;+ zUU-BH`~o=jwmxHyNc7$A97Iy%Y?q6JZOzB$ADtNY8Eaj^E^<7CQ=q<+fxl>ZT@gl*X5gJ(69u-KJ@R#F;ToGK< zvVMNbo_*#gYtEKGTspSdo7&b^iEdP7+To?}vf7>PX<5F}%q87NZsh!tk(ZetGHuh! z7G;@3f@mCW{Vt2${)3fb&XMJO5&p?Bi)lLG6Cc{e3DAAA`~c6m-2pDIK=Q78%{nQ9 ziSv`(T4z(Ql9fJ(?Y=B$x;h=Q;)$amcVB}2=t79~HYY!plld-Dulo}lMURaH(TLyt*##J2$jNZ}5FsbCUed_&}GNbR$WMe z`~vLHDOEPN!N*sgc{S+xhr9#(io4$8MR!Muppr}(T}jQ?MkDylqKT=}^2%z14n=tt zTmB;i;xxwuWmknyzaVU{W0zt6F+nZ8!~E5HDH(WmnRffV-}Q$x3qDLmPI_GG@i3VL za3%>C;@y7*zfvtc4ZMc*UbC;1!-@)JS69E>c=8Z{MU$opr3V5XfBJT!p-NVm!qq zE`oW&&H};9cLP_BZrUOP>&=lPYw})zw$?O=wi>N8!mIP}le*+zn{SGtnIo`|m@MxW zrnx5>J*rDp?y5|nP@hCZ%ryzAboXZJcNKhYb8G75wVP2l))XO8BjIYtO)E z=m*WGDe%5+M?P~`58?}-_%SUH>Tc2|q%8s|BSE>tAoww`EpV1?-e3oxZbpw{Ty?zGGw<2x>JbnPtmE^MX8j<7UA+^AvTx0?>?Vl zCxm01e!eoEGM2(vi_H6kaNV{J?UoLMlE=34Y&;5R1^B|1QkALraAjrBllZNGp5(^!sYUdj4HEn?fDNJ@#s3>WA@SQWQ|y1JnP(- zRVS+dq-y{7Mab~EP-3Q*kx{~yFDsiX;S4oV`xMh((5t;RWcU`)7e1-#UHjjJTTA=5 zOGafh(BKPv#7qJdI@^WvRZW-IlyUZ*%9JFC^|IErnMSv1kO7&(ez1@xDS{8^%I=YZ zLQs5CEh7U9fq}e0qB*ov`<`Q#wYbQ_)lQ(2U1(+276zuWbr9RYDQRs}>cG#j@{5LE z9)=RW*v*b=JJJS%Nx8noLpW4$@UOb1YsPkWGFc*z0iBBAE#gG*?v=Z~JBGgQVcD7( z52j=Rubp)O)nxFxAor+L!metsG6nfvMv#;h>cZ{iEG-9^%b5Foh)yM8yBatWJgs?>J-m}S6C4N7?{|#_3(}KH!a!F|Q!G# z1)S7z>;2#Nr1)vgd~F68Bff7nqzsNe2K#gyI>{{Jm({57U8{}J+{DVson><6p~US} zBH#K?uGa&ID2?9Lhd&PE*|Te_{w|7^Nu(XsU+8f}*h%vJbk07s+ji1K#*$eeVkG{P zK7!U8dYrVZMW};->^qJjm@O@JP>T&bu@s?K9 z8FG^#)?-85eJAL>`88tf?Ws^^fHM}3S1*fL96Sq2_Pz)DjW-RcpT8J${J0O?Vd8U_ z-uhHVi4E5h)Xu{@5xI_e?pt@9L|0-?3{p1y9*b z7}ef7Z5qLfkQT|G?pi_wBa1z&>cSb$x;zOq_0pB^c_bmvojQK0wIbzY4!pRJtQeTp zPSeVTZC1S!KBOBzzixh#YD_&OW1L{ZtQUAb=Cs~ z;qlo%E|R4v3R%9p*z`XIPRtce!boGF)Lk3arNUIXm`Mu~vGzT*tr^&^Tv?x0H8v@R zpRqrGz*qI>c7!7r>a31mzZpJA6YPf^C)2ZsDbTI$wyFC_D|U_6b*Go3baqy$S7eyO zYeAKa?^p>%zzb7Qzl32xpreTOs|Epn@r@ulhf>ig@aLBf2Y9;sr5t#Owu~4B6%?Lg zs86mpMk_@;bNrkxnXXvxYe6iZW$cc;?dt|AC*Hr1&Fg74gGe_;V1Gd;;78lY+UhUY zh%AG8?5d!)-!l-{E=l9qGSNZlwPjBXfF#O_5<gm^L@sYRJ7^8=Lv*SJ(slD(QTRG-CB(Z)U%K%o!sOnO!}MP-gdI_`Ti;t z>#Zu{TVy<&&^NtFZ7)u7YMukVWZMu+#9F({0dvse7kEV*k3aH4>ydgP2bTTL8Lk-Y zri<;}p14b9X&{2_rk5c75g&3~7b-ylDUX7j%4?hE?;^D}>O z-z2~K-o>n*rEVW7<0LypxmPk#8VW1e1EZ7u`fix~*OAM6ykD)HUzLBh0(%|pJN49x zUaa({6TU$}AcjG3b;5A*)lJk9$;l3ppqVq9n<-kuDj*GW%3t7?xgi0@q@_G%RI`N{ zH+NEOMAJ;c)a#A(jC-TDq|ZWfwh-9Wi;d5%>g#jnbglHr^(J+?*L|*kp5|v z0f(`@a?-2*p67|`6x-ilo`jxs)o7(1`dqSigo&2!@`p+CNItHP+w@3k#kAME3ih^7 zwG0v?VX@e}s<4}$20UP}I~xB4|_^XPBy!mJrhYpetG z=5z(^d<*OFZ5mI-0#;V7B~gdjzpt`Pcr(oAqW0^h*kwffAF!Pp(B)kucCW0Y9sWdoaMKZqL!Phg(mFv6uKN>LcgQrc)D> z4X;|H(EL(vP-Cpb(mzr$PsSGLAnbnpilfss)9p1jp$d z(*WU#ecVb8o^$dzE}rJM_TxBivUTf_iyA}iVGqQJHXDzt`6jOAj%$0^;O@P#WBODYnQp!ZO99`SD9?79Lw3h}lQp$QZ(* zqrVOXf)5*e_@QepZk%Fz8{>n8S3K(W*06L%#Yk@0ZMw@WyY89OBOZO#@;ki3tE;QOCV=zxygwHkuX%uv&<3g1OxkatS&X9r6KPjYQ zEpmfL`6U1DV}5o;p8{|Wb+f}__^5)TI7l$q(x~Ix=c$x({-xDfp*y#N3)6GjawAPO@j-J@Gf!=+l9X2X4;@Ug#>^; z!uEAv!7T6UZCxT!!+N`lxT7M9LYK&2N)!ATY$l=>tD-Zv0UWwVNDl_|AQq!#hEvXBggTRg{II@T_{Z-Z z?B0Jy%bDa_Ap>@(P;Uo=5CLT&jZxsJ8}kWZ(eb~_yAV2^hD!q1`01Yuj?ssbFX#aN z4Xe)t;cq#_4@3x=v>VgE46>PuMq8y6D(Za1jUvVq`}8qu|8zQLr!S0}-2Tkf!wlyN z^$l*?gK~pJrra@Rlo`j3W?ri!YZKns?55_>MTu-4;K%y6FZF+(y(bpBWY~az$~H=? zfnc^P6`owUU-|@w*f<8cp|B{fCg{jC#0Us6&(tdmzk|8s)KOvx=Gtay zoDf>UzO8@i%^w%*`)AF`^GjiJ*VB`BqnfVF_^tCO>@857lE)^ArgUd{PxGIy@@-bg zANyX^RWd)h3swev=L+j3Bs3$@wUXln$fi+snt0yf z$bNccGr%VIa)@m$osBS94=8KsXnBcDJl!6-k0lsf?ikXT9nFAZoCL@$)m`dn-8$!L z)$Bkn{nXM16+JpD=ia-QEWMk&E>e-Bk+~63H6dt86nizfpYFo+;ui7XMQ=4-mHbD)$vDN2A zN0ezt2B({FYIzZ)mjTalv*9se50SuUeW)|T@LGX3IfyXXQMMa{nVyaosWP*3S;YN}*>b{Rj>VH6+?#kR9FeH_1&^q$AAokZ-a1v+oW57P7o76v zVS+>%?P3mr&guYwpZw2RY20c4TIiTTpq{m6kAM-m+8#4?wxnV))LJ6ARIVUBE*vcu zOAdX&dWc)R=eS7)i;9o$W9p#hMuUgOsqVrp3_(*PWU?lS?74?e<2p@=Z_Vn9o;atA z@@%%1^oBSVGe8=~*;Id0ePogGF?dpuOx@KMi0tT_3r`m7r+<}fxkpSIm8RZ-9~S|9 z=1|?NbAU&2L_R@NY%rF$T;S=W`0t{KT9U9sGPFsW_2AU$p<-a=!ZMT7e@822&RIBV z@Yw%b!$5{-zqu3-5jruWc;z>JK|}njvWT36z0GQX3b@;&3}oi7)@F!))>&ocu_aGr zy?qzAYH%y@)Y;X}7zGhOsFb((gbjeXds;Xi3z%p`aq>#?Cy|Lln7{+Wn_Muux6h>l zod!RlYcjt#0cE&gN1&kRsKlW*uI4i!@DwghDygVi9Vf9fcvfmysa#6b ze)}ux3RrcsoDy0?^XUD0sbZCaaM0*)J@V3Xz%cFRKFp%@mJ-xol}JOK2y_CPclRTq z#W$vwzl675D$%<>FZ)TWQmR8w1$TO7deDVdXJ_*6sYUb^iHaz35h{jw3nCM2`4WFD zKGHZy4rM{Hon;4@Hs2hzb_k&P@>sl7UZo%X1V);XkMx{$e`4hjzy$UY2Veh;AUZ>xVjC#6&eSv^4i*sW8)NjiP zh%^jqG7PPpTejsaZRwDoWS8RHQ6&}U3tSPZme>e68E8toF6Dz2w46XHcI`y>LU{H}Vl05t1o9F-v!rmM-OHY;`@eZ{l zyI>l^RJ;$Gzu!vP#o(bILcs5;2}^4pS-`ENAmuoh_2IdmjE(-;F1IR5$~^{RKS|W< zu!bQZnA@80-BU+(!l$IRc+8qF8>ioP4*zQp15s0XE6g!bokFQpk#AM~W0HFyqZ6*= zZLmKCQ)Vacv*(}ln{Pr;RRni4`#S7{Z3xUaY2Vus>T}#HyP<(lK4kfQ;`}W6odv&Bx_4!TRbHaL}CL0ZIY@XVF z{APPZUt6i9mfF69#SWDt%^~lf{zS(OV)P&O5ghb`_Nz=4(~?#3gc_Y5=w;^j$^W zt<6{Z0*z26TPjNMBj_ZcnNeWdY$E&p3 zRdU;|vJXo5k22mHkNmec>nG6R=AkF5L@5|iWm3{&Y7r<36qIy-YA~GUTU@B(V2E6> z?1Lt37WB3$51;I&2b+3)B%oztjYF(AH7ao6I@H~c3DJ{?Eq+Pb*#q)SvVi!k&{gWJ zoOe>L*exBtQSOon`w!+hQir$8Bc?d=qI%EWX?_cEka+Y5Li2Li2t6@A z*Ww95{9hk}8c6X?@X+VJF7ZQ=H{KVQrFO^rMXvl1e2GdNO3`OZE?yHmf zVqObM?-`tnhqb9Btu5T$3F{gyi|zr$U&|dZeU_U%EENmNOIawYJE?1*b=&jZvHSSH zK4FKq9kdq>_McrnlSgk9Bk1GN-Q`2gAX5ykBS}@Ow1zNnsV~4i=mm@vk&eD;S8|c1 ziM7pQTAc;g;Q)WutQ%pck19z|#A0(Mf+kFb|LERs(w|w<716BiTND4746vFhI?PL< zY7dw>M?B5U)pJ_!jwbVDOrYPDli^Uj9DCIhxnDGdJUd(5rwNMEVsTbPgeFHt206`b z3iK>ct8=F}kxV+u+k5;`SlPfu=wkM3hHhTT~^J@DphfbTr7&lYw6;M;IANOe*djo@uyUpG>KJsjYm&i8g$Kq>J~ zX=2ZzA?yGku4Ueyv?X`_wl5wu!I1?^(lTPyLaS)N`k5&Q`_nz8w+&*hlMS6980#G(0YVf|ub)?wm2cHFsY_qZp_ok?=f zXz6@#IDCFFtv#A`s1FspJ6bxL~&q&(1JJuvp{jyl5Fg2i(=cQ;Hbu)p@%)AGX>1e z>IAsjw{x0?^c&^f$|mduZy{B<)?W~pZIFAZZOO8y+` zTLk9U1$Czu-ELc_H%=ZmMmi@9H${qnACPI(hf@?Lf)z?WW8+s1;y7gdK=l&y)72CG zOOj{YHKIX$E-H(e2nuwGq`BPx$l;@l8JWYPO5ZLzH-FYv6RI99Hn14{)%FMOpHNl{ zIc}~9_FD{ZNtr!g4=gP;CdWTi2FY|ME{(16acZ~_Eha=mTkTl#&ntZZV~XI%3E+sbGlwASpF%_y%1GJJQk>gDuZYtmfvVPE$&#k&y}^mOEBK+OGd0N{>Boz(XJ)V%<8klHLYvHFt`qUg3hLMKR3S%fVxm(+{qRt%sXB$n0u)RlQwu9r zG29125ncyze=#?HJtwFPzt?xQ#D03+xokfm-V7HbyLUhAb6j_=wdeVCma^*@)Gmd? zIw$m=hDaf(qS<3HpOJJG@B9)v70vYoy&ppNIW;9Y2iq9cmY*Ss9vmtsezD=(-LRjv z8hFb~SiH40z+uB*7`^_^4&3|us4Jy1o?cw6jdcdo{hsyagORw1;j4&dosiFteL9PY zZ*IJRd-N$^#hhiOxLoIIGEhbBM%>xlL+pDy==WRf)$%Ju4`4UNLBOB@;e|_w-DGj6 zO+SD_n@FF|zQeis9jj#bM_$WKohPzhY^L;PE3-d+$6}T9ESBMH0Z5nB4m`u_HCoVw z7jye9-d1-Wt5>zCDsLm~osr)+mEq~rwMjW9fK#*KW3cGZlVeBO~PS z5SKO0y>=yrcom)U+-+CZ(6~Gz1ii_8NMr61Xgq}G?4Lr40DFc2{eJ*3K+nI_GRR0d zP8QIUV(z&f7SrKEp6V_>h8wznt3v@o774Hd^6AkXKXYsi>x!qTPYfu z+d9iB>`H0Sqgz|KwNcAjMW?Vkj3Vt9T~L+_ZkkX0w{{Zza_?~zCeG!>unE9Y%9yJC z7S-;Sw`Vt$pqCG*2*Qv0w5OYmzuYr?>j5bFnw47m8Zmxq{I?nTqs6y>ey=Vca&cLt z62lT$B|uXSEI7}ZloNDVt}Ow9Xb?eMB=O9%J&=6cr%7)k#8#lmdD5F7X69fKILvZE zVkSMLU4A@CeL3LO)hXGnq%bU^I9;?j<=DFz+GgXeGsT~WDA)|Gi5%t!^?3!~4t;7m zG01McyxeB|uF6_PIF%!R`xrHf-^;gekqxZz)nB~|9Uz?n!JolE0tw?7V*cUq3kr8~9$U3jKA)R6N;UVwM6<er!vf6Zfl4=M4^qq@5=pZ>u;uxspv6vSOVnK;Tl%Wh`=}3oF6A}{%J@M;|*=zN;O)(coEx&2ky@(BW zu748o5b+8SI`cjw#uDv>k-HHrab*SUvDQ|{$>0#IWyNQ?rPub{V~(dXiiJy?T<%9_ zz4r%C*Sc@96Yp(*zQJ;9sOH`6oTYLb3+RQQ)&jw>C9p8USV-4&y?ipSptA-K2{QBS zujB881RvMxL<6YJVR%h-zz9llaScdgx%*I%~>7c%A~kKVSCq2FQ27 zzw>s`{B$#a?>|8H4be9wElG!xprC`0m$h_LqB_el#IhtF-e6dn8lWf#J<``mS|B56 z^0LtqoB2k_;>mW%fH2TSPJaLf8eS*(xt*0O-9 z9ZmMj+J0`%`hCa0o+DJlT9Slz#*u>X``POZZlB^LUt~pq`ju#56UT?2ccgU|CZEv;V zx`o>y^V&6quvOD-L#?F)!SE#0Pxj{g5^Ovp&LuZ#^c$n-uMU9!^5~UcA7l3+Dy&wI zw?`Cz{rcDz2z;u?1XpJ)JdhK=FJiJtVB{}exPMAsek&t+HCH|Z@&39ZhOW7Y3Cj`; z>+)<25TwD%#Snx+l?JjMQwNfrhvbB}j3>#nD~D~{%MGRzuWiI1ciFN%I>b_VNt&U- z)kkg3+9PK$h^@9;PqmS(H^V`j6Zc0@I3mA)uB;AT)?9Km+-InIkpir=|KeF~<-_J4 zcEOhI@AfU+QoMVh42A!MR>$AGyrTH7d&=jgmKzWK=pBn}m52Fz$SX|?JRKbjg>6Uol)D* zHaOe%!(NkO9#7a1P&}za!52XtV_9L(}7#mzON;J?h=n> z%5$r1ft@Dpx5nG%NKKTUWUI@fHDA@YLS0BP-MQ0Ys4c05X5LCzvD@cSz%M=Q<8vq; zH^JWyz~Y}et!EkUkIy1L#IvKKammmK_{_PHk^_$g_}Z zkLTS`J%?;ISn<((d{#HSw`4C2Uli6LQ~UX7fs6ALiKAV7ne1z(cN#|BY1Yl_r^p^?^FlgzG)=Odxl#s4;T48BCQ95H%M<+ z53(#7Bgm{cNh+U}!UC#)k|e<5UM=##jF+eW0N(nOJ*cOohO@vQs2op?!Z#F6D8_^I zGQl43g=NQV=NI0{>SH<>+w{D)!i{!x^o2XU%mP1z%)O@NynP_LH8+I8Xi4l}RD2!^ z{ZEfYc|1qs!viMoA@D1JFTk9ZkT{foDt?&#z&Pok<26JJ z8{iZ~N@U8yV$MkBlZUzObju>KZ9p~6p2j}cOrah;Y?#fg;6-6EGVMVt>075sdRb+* zxu7X~)Qn_&IO=qkDhVB$O3=#3^?tt9GoXoQi_z}ib;0AwH25C3y6O@O41nHazEQ|n4B5=A09I?n^81Njy&-NZ_yVh|w>RwuI%Wi3ngVxY% zVT-LDm{{T3Otjtc42?WRna=iTQs1u{%caZr$83FW&#ZhMva&a*HBZ~H=V!6* zch}1IM$7(s-}0~-2Fe~(uzl%S%tyjv5ZKN$a>>r2W+IG2%qKq26NR-hYviuD*wgz=$)n@kcuCdMet-bVS z{b<)8h&{4@tKT&}mX{^=%Nf4zu0wfpPTM!P;eEDS0rau)dJye(!;oo;rX=E$JJSus zh^EYeLWVIAWhloXQJ}g7Df`zLVU63`9SsA0ll70xc6!uhC8lAJ(d90(+d{b0qm&1? z&j^E!>*>kNot&^XbZ2s-sK+&SylIkgxSS(tCh;|Yb_Ze2^Hl8{TSc#jMFG-~!`<^N zC~iJp{@X+GuC_{ms}~Q);ejARkW3`=pw{6KH5jO1BEb+SLJVU-X{dY-0F(`$2qW5O ze;ZE^`KZ>kFJs&9@?Nl!$Fr0reX6z3LwjC?jg_gcnF%hk^QNWk)&r8ZP8yo##cXvl z`w9quo0~Lsu@UBD%LwiR?|K5m@1d}7#%>6}t4A%o0MaCof|Ru|$Qhsl29?P2@%812 zGn~vBWeCP`PrN2GRT^&6@5YzmP#SV>9&FsXn6pKg1@p_S*4zZS;jPaHi5+h6$s2jy z)rA*Z!>%!_k9tsd=@!QzNrPEvbXZ|>NtoS#_1Pz1p9olW;Ctuwj+D7djz8^lztc2- z7q53VOW58uRD$E{tmF_d*91~>i^WueS}v^cSd?W$0M#+DDCKF!jLAO9(Yxb@qHkmp zqz%c@7QIo}Ju^D)DU*~JO-I{x%0m;_LAT#z$A@8T`u61%5A-Yw)~6^>m?9~}yrD#Y zTXUXUG#YyO?PeOhU`Iud6w2>N|Jnx);YnMxF-{<$w(a zqwUR>R9BNO!TUDrcSx&S)hRR&W?gMRLK6rOAjEX15sgS_M6$B~+1tesK@9AFJdr0l zkLBJ-5!)lQ^bPLI*XNEiEMr?Jh-EOY-#%WoIMp;XQ}9@&P1HY}hK^ZL&b9 zdd!5g&FNw+S7k${jf6K58*930m9j8eFG%^AAMu$bpSBveV^ypq5l@~84}RocRPZKz z`%=suX4cOr&bzrQ61R_6pAfr$F`ORJYlKmfq9_g|Z>$CWA!b2>lVDKSgZ~qty8w3N zdmPfOg@LXjQpQCz?ZnAox80#d9%a#b$<$_=fjFo&#c_H@y`+>j7p?Ry)*fBlHIfk^ z-*lpAusSr>Q6{Z?Me*)d{8R0Pdw-7W0{3Y10V*uBU-ICQ9#Xgug;8IBHv9hBlJ{(~ z$MX65$qh04WF6-au1VM&cp@xA_N7iC|HOcN#c?^tY|9my3EyN@Z> z(?{D0Rn+>lG6QRI*)1p1G~qRCU5#?^(J(bwq?tV9=7AIjdwv9ZE)$o0+REJ}J)CdW z<43uKz9MX2^0qHt@uot#Dxy1y}mwqUgd-tjS=f@I%y1#RN^MlDdSZ~)) zp&DZXMAzP?9)x9meH6GN(tRcsDe-x#OScS zG7t|lw#k6z45)JOc_HItnK(+~5Fx+nZaO`o#!`qc3dWlmDDUJ&=`o{fKW|nC4?i}e zYH_w&na+52>m^dwo$Z#qltXhkGyK#19M05rFj^dBJe{q7iM@Vd4g4nF18Ck$>Hbbr znJ0ri81Gk4jbk`SuYm9e)-u+CiHTbdiIPO$=)`g$6YO{#N`njcqSKkk4x<5%IEOv$ zow|6%AeFnV{X)U?P|3+KEDCb34}3CfNiy7XGhZESB*#2VhFhVdd25PeDsV39Mbf40 z%xXGy-2730wf_wdcHQ#9p*oq#$D-obCw_Qy^jARX{|L}GNABtBudAusoQ6%-2Co8^ zIl{F#;2v3rB_M2vnG9)lNMtdV1Cp!n0j*}%R30t}9XAC{F$B*^_qH>37skkI3v1}0 z<6*kp94uEh2I+jsnuW5_3x6t1jK%iibs^goBbgb0>|AA`tjn}PPk*YA@+hbKoMpH} z%siJFe_iFdFWGoBOCU7v|L(&H$=q@CE7xHsWBFm;UMd|2%?!!U__@p#6kE`b&@dKh_2R(;1$dkmNeR zVgGr%__XzanC^#O(oIrweYe+td{f!7ptJNWwm%TznQR{(!>-Q(8B4ktO);$NkmSqy zD<^4%cGJwj_ak$4Y0}Z8p3+7=Qt*k?N}F-rtfxSLot%;?=}V@Y@_J8sQbulb<+Q)D?velDNZK!CRahb?U$3orIEMezam zo3WSS!;hH94<_GHzg<7^kU+UHBw^DwMgl`iaqtlWR+_afnsyxm2Q@B^yVeVTXM~E2 z3pO_drPM?3h`LIg?CXPCvxC#-yd&*MvSx?`5yTQfNp)*)rIcGxv&-VJ*E^$byTn;r zV@3=v?2;T?;#4?y>VK5F_=9ZuHfMtSL?Hj&OKSY!-iHD9Kl1T@j>nhN;ivEA*lVJ$ ze?Pqk960v=SoSq)1HgeC0CvxRV_B5uXvd@-mZS-cc+~+mX^d2__=qI;q*(ZEaJChW zI-E*NaMsK7kXY{Z{E~Db&JF{#-tqEG!G@VWoGTa^;>CDXo=0MPq!(UMEf_J@MB%kl z2w9Xog30@F5WkaCclik{^dIl_eAPEM`-t%Ky-ynh*}sgRtvl})d$`|!ul~B(x^Yz` z(gl$&iZ?^+?=*KVEy{-HZR*s6()*i-Y0@2f~hWNd|}&ppQX`iLoA}GqJvU z=nEI9llhqPloSE4HGs&~!L z`@egXX#6bEe25%B6+Z0oe%yWD+DkWw#khPrnfr&9P;uauspoxGBlKH7K=jGGOM2hC zD4n$W{LuXmEZe{Qyw@In`WgtG;=UE-eIfm z=Yngt&$#voz4rru`PaW-Kwj_le&2n`0Bmk+#ivBu_0~@Z_+xNi|M9)OC_z(LUmzKD zJapd+2?Z?*(EJ1>eLV`qQWgqH-xnT*Q;P-8=%Yi42jCKLm;Et0HO**$xHuPoIY6e; zHnxUawq?SSW~T$10^!@VBao5WqFPPnT7k^PRU(|3eS9!~g|jjK!}<8<_~fpLdJM?N zoV~v2cR(w!ke6okr4d;joZ5Sm;NhR&z`o0Sf5EG}8M{M%llH##5`h(zbVv$lG}pFZ zLt`;W=)vL&k`x=ba2m%s&vRd#P4*Ld&Ytpw*rRN?3tW;7ixEY+qeI6fCyUgAe5jXV zggfrpZT+2pL5#4p6gEC$+hsYcY^>k|dbOhu69z~9f?JL1QYkI0SeGnCk$)fx!okupoVfG7#_3FXRd|E^MX;ISoW!P?qgk zCL8WDst$}h5u153S#2A9vu8=obu4Bp*+WP!2I9tlWm98$;ryX7A>F9T&sAlw<)&yg zY$rQ^$X0!6l=e7=`NUM-P$m8$S^i}34&?pni6ply21Jo0L4unL6tK&JN(!eupoTn1 zC77@nu>DDv7c68pSqp09>}4_V_hCt8tA!;VNjfj%__rqUSA?HZprEv4F~_7>sy}3A!*~OMa$i>ybwTrC zf?5nTlCS!cjQL$e%Ijjfcb3emE)jXf=aRk=qomS|mdssr7dl)t(T!zxTIbspIcT|m zRpz;uIaf!+#Z0P}sk>F1bGJyl)jBo{`421Lzw280^}y7Zc41ElUt6<%IaK}rhJFh1 zV?y69t~J7MhZJZ~XhGJGayZC&fpW_NTyd1;Oz>q%h@M#B*e!;6u@+8P9koSgTP>}# zzzqgve7FR&YBo+VJHuUwyMaDAF{XgZvuWT~5W+Td1+|ye zL~c&|>a<(k6*SLS{OWM~gvI-SgER_i(S+yPI7ZU28JIL|uneREDH>;;zFC^ z!u~L#$?6P*38c%#;cg(+hhWuir`d2s)ce!CIvFeD6v>;ljwEBWNH)dRT(r)AiZ4Xs zh@=tYb2J)`e2q;cdmAg}AFF+RE46>ufvT zkP}5YsMvtNSkkKW21PK$_3ave6ec#Tn45CH@3!LD;&t*5)bFcYAYk-~`uLsv^Jl9) zdY^7RLrDUA4x*Xc!63rLAR9wt9&9o;3`to3Aj+nIi2WW)S5K0yNLh!qiqF%EJfg!f z(H*$FXfj4#sj0ftF@9=9^`Z{6GbFgybIb{s<8!`ixrjQ7r88Z$EIkQ-S4}aWapg&{ z|0JgG1*w@?6wRYl$9=S=#g!8eddI~}UzCSne^z|?lhG@VAMX5hHF;y>JkLfgk27)1 zMnMV4!G9ivp=W>flv!84E*;n-&Qzq}qhJCLd%4a9&FLvhfVqMT)O7;1v^3+ZCug(-`oomVJC96lacD0?QG zS}N?_Xj-4WLK)>@E-`JeE0)!GQ*T6O&f;4FG0$0784hoG{?=}P2hw3h49M}(i)Tl5 zsulG@$mP-G^X5->|0*P;5d-=^sj3`}BB*Sx@aP|N0y9PDG0*mmt~RIiuX zZtsqj`mCwt>C8KSRkv2ME?XYDVG*e_|A4EAc;W+n#&xoujwN@N?bM4&I(zppUY_0N zzJmf?dpm~uWuOs1>m3Y+uFoD^kDlH-27~Ma=sujXAW@9cxBm1d35=ghaFAr+Ob=&a zIeYQglg*&5jvKt{wp1`%>A_*x3gyy4PM6X+h3>QjDev5WX*f1gr+HniHZ9MhWw8=9 zk!fprb2MZBK(FSzQ6eglq4Mg*eVb%=R;Yh?^1E_&Kk^&i%v~Y4f4-KnyGN5W1u`lN zf_0GRnG6I$*P6gCi{X&_gwa8Q`)Xn@xPS8~l1q=rr%}dLCoQP$HKytdS%@sqTtpxC#rwP zfqFA{1>*ks*b&avYVQ^ekiW=Z^W6&7X4m(Jlv-cF7J4M0#P)J0Qk=le% z$TsDFW*2risD|>q%euv!0HN`pyvf{+fsU-dIY0C@!*hew?i*hM|NFVe(Wk7#_0~_( z{c8IT^w%$3qnX>D*B{HmZHoZd9TpZOh{|2pgGh$(SQDZe#sY~8>%73+#rPR^J_*)r zB@=Os8=Rx7s4-KjtyU1(o*0(4R3vq?DAg%{F`G>XOO_50If$oTeHIH+-Xh|K=df}~ zjE~$Y6~>1fJMnJ{!$0a^yoU9+2JKH^eVW-cXXBvg1638~L4uRUSQJ!fkV)pOz8Z{2 zvkXg9FJMh5|D>!Vds8gD^Mx3yaa)$-g~d#eT^lL&WP$UXbr8bXpN>=UOzu*ZCO1ca z#!3(IX1iDEsj&xX;C>;B%+yB@(LuHUPQ88l%_V)RN%=b`44w?$0lZ&5oh<-5hvQh- z3}9P;Wzg-o-B$BW5f z60kln8f4&%rb$7LWNuli%$bidD-9@rP3WX7EEXU z)9@G~uSe7U5w3c(9+{8X+Wr~ex{QO&>#K_t1iMudlOz<$7 zYgrr|?oco$? z#eS$-{Al!s$i{2oT6;RLFR^^~8-NyBN%i7@b*!t^#BIjHX<7EfGeF^#7| z=;uXtNt@6>hGSdUqjMsE5GR%)Mm$E1LrE0!r|>_>I$8bd40p$x6nuEnIJ9Hygi8EumB2AI_9EJ%iB zYOW9hhlG`yyvU20UrvT(E^uXZ9HJ6-o)E{CwA$IqeiJ#axuDR0C6$YVaQfpt^KUe- z{OS7k1;FpzxW0!c5Q%6nH}0kG6vpBNY@ZhAp$rfhCc{GZ$$pV>Hfv#@qdHFrjmC8l zC)Mat9f`WMKaWl#>7NH=N30zqt|GCeN^XSiS7%0<=Ea->O}l;GsU|=)63`REqwwo* zWJ39Kz3Z>u(>!Tq%p<; zDV7V1HY9i07gQg`&y49jwXpgq?PxJvHdN4Ug-h<*Ta_Em7(B0z^Bi4Eu`|;G)C=iJ zgmkVtF42pB9Fn%^Eyt76CmTXjx7vjCkfHSM7d(UVf>QrQP~P24lObW(=Uft}83O1C z%!2>B7)DVzO}d0hP$(=d)(e*ae&B9)S%WA!RZ|#w(}R=5^LFA0g4g0T>g_@)PSS`( z0=9|=G-y~hN0+nw8AEE>e6d{2WMiEQWrwIc6I+~r+{s1zXASByD|le=fiuX`9!g+l zF9f7X!t_|&b6n6*krd;4C~CjZ&tuuyIIqIUUre|pn4dYlnR!kf&@n%;9om&HwPyzP z(l-@Chu_=_s>-RQQ|YK$a;aQ*z%Vf)EkZSaUxwQ{S%lks_1Y)B}%1(e-=k`I4CL@k_A5=ocmYjFAXUZgnV(F z(dXH0s%rob!)5Dy#X2!O=B=+gB(TOzi$nio&_}p#c(>BzwZDJI&eWizg zs!tk|YC|H^bMl7@8E=#1L&dT;uwGP-BmNm!R};4-pY%YsL;~4mK^O=bYm~wIzz`B& zIIs+uOH&SozUtd|abw+V6@{P=N0B*f{WxHoh{!~BZ%_=8_42r`N@7aul0eg>O+zYWGgx=}sJkH`k zL6TuDfnqs4EXnAo+Qh-|mz$hW>aC^w)S1{Scnv?IMArBo^Bsed9dNoX1A7{H%kVt1 zri_(!r|J5~ao+>4->BL6JznpB6&q0$ry;TDQGFG926%@)lL}LgCTXDjXa>Zwu-03p=r(f0ZjB)V zGLpsmY>~}zh|G&FpCBkZjc@fXJ^;ad1%mk3s%0dsOea;_vSFDdX?%|I>2KpN!r> ze7^IPN5*Z8CM?1;JqxpcdSxotXN+*xLn#|KF`Hmr6jB;52m_y5WXD~!4NCY%o}cZ_ zX1$+nCyI2KY)<^Sl0=HR042<`*+dE?`glMr1KGCYL3`c>(uzu)X>r`o&4tTWW=b11 zr~PR~|E8bd7YMJR?AP+ET2jlL*$BZ}l6RNAwA-c4CL~x!cICM?Dl~&O^w5h|}nc1ccfQR<4Q$=SFoabT(d3r7A>2YcWj3Kr6;gJKh0{?3wh^ zOXge#&65=h(!u8jZsM;5Ti&jnYVFMxhZ`xb(I~`mKMozMNlEQQ`_(Dx%0@GX4cf-> zYx3^x_kWZl?<3&1ZLumn_TI+)y2!m>|3VI|H+BaRK0VjfvQP(>e(>c{(!neOq%b7v zLe{YF;sR8Ekp~)a#$jG~R{3nd*w>@3*tN~Lh@Ioq)YC=WPzx{R2St%H{+`UH9)w-_ zkeUtLVcwbG{%(?WFdy^tS*Xc5rZrr$ZVf!8IfFKCXNRwlfbcW;Wta2a!(qL za~6pDJdXhm-NhZ!A+Ua0LRbUREC9p>v2EYs=6g_ohJLWpl2nugy$CO?zeOkzBp=ny zSXK~MjWjT?G>?DO$M1<(Fwa= zop@!zIni#pDb|CLwi&;{b4~Bw%B1(u+%Et7cLvYZ*cFu9IlK1(V_C3zJ0wd14zPSf zx&WnFg5*F}Ly;zkix><%_j~oSulw2b=#RI5^BFBpmtD$qO=2I>d9vQLTXi4SV|T_9 zZJ43WN?0exDWA~{>n$x?_l@#qRaLf@>%pHJZ?7IwI7n_^VC{T<1+&jjO7t;yu`$6B+6qvR*QD& zj^9YlXCLuvn)9d6|K!=cd4&&B#6uw&PGcxXgL(=Bi5WOCG|u22@a{H<3qa=LqA#gk zL^B+D5+6g2KM3CCB!v6DOm`V%RXTKkBF~p+!rm|UN6Mpob%hkIGAqok>|{5I2V^A6 z6gAQ_RnNBTJreHaW1&osf7-*ZBlvw5JY#ilxbyMGr#3-x^sU9M-x zfutnBzXpXmC|GRP!ED>IJ>ZNP)_D=8ZGE2WMp4Cx@;V$S%jK%0Ok*h;Zn`{wD7dw? z<8meDTGl2L(n|Lt-AuW)mE!~~FAM#EjHvEB*K@r=MmAF%4y47@_vj=%S1!m3yfjbx zh?V#nvHtLE@{>Wp;^_*a*2f8D#(`B70tt)+5O7fEf!N$5O&C@L2MQ^Q1pk=i>=)VH zGf|nFk+^lH+TIwAX(t1HrZ-@J?1`im#?i^nbdHwhrIeS{e4Y98~@k;`@j2# z`y@EK7Vr2G)Aq&iJBIJ~u2ki{EFmafQG)1&ED-w>AnF132uEqFr%q6R!oC*Ypxsxe zGv%GHhn}`*1viuIMY=CDlPuDVvEpxm;Ewxg&~b5za5+ zBwU)@aHGp|3=26nBR13V;^WA=Iw0ots6%y1tun8QYwXbkziX(6COjue^*Mt|zC(8B11y;M$x06k?|B z1!>o?#02$mz#i^i z#_iX>K?YmL^W`;vocSM5cYp=>*ZC3nE)idtbx3~Lt`QJoe zx8U=Hp?}5$-E6(Th^v8nOJ3OEZH(>fS7Utv{Jw-%Pa;ydB zVJk>kXA7K01?^;aBvu5hv5B~*CjKd$bW7tfQ?!}}W>p`5D`ysy#eKGz9~2qc?UcgP z6PGw$vVnhcRM9RT;1@7VitETz;Og0+k0U@lLIKte?r`uKLQtA|F|v8bN?Rmm$|0f2TUrWRN!dmVYFhDa zh^-@nn1=0t88t6$=S19KFwq0NBD@8*)Ds6&=gpbkXzE^$hZW0=f?^Zo^rNNYwK^C) zdS9BZcO!{^T%6?DVh`2RB3J}j3TTNuk)tFkvIJd79M26-%fLXG4uef)2K0jeZg6CJE2Sqo{Pp3ddNE?qn3Nt znQT2s2T=K`Sey&1_G00oN&QeS?PcGZpF{F6`M~6HeU(+-<8pAOO#&o@7!G+_+Oiqj zA|Wz|K%KNfXi0;5mvUaYiRa8-rM43piH8{LIlsS94ehv>9W^1ap{fGOzi1R11{+HV z&SnFDLFzH0sFgkp#&Wi7Qw4S6oMrHh;w{3{@}y#C;XViNsg8SF%K!PV57)$p>o4VP z`ddHR)bGXssQahuMtxWQV6NGN10gu5ups9M5jjrwGA)iUUBJPGc+{p}FspNI%Pp6? zS$dF&f zGoI+lj_@@kwPLOO6e#(O0bAlS4Sl_Vq^zNSWcl-&>HHB^VZR zjV4Kcfdq_MbX-9G)Jp&e?;nk zRaMUQKnpob>ASp9f_mH?tK6)P8>*11+7d`rdVzY?l8NyQ_)& zVPf#hFd)ZRim@1z#JE0QGfhaXv6M~P5cN|m%*_|$Ocurbq|g#x8`Vzm5iJHfW6KO0 z4Pw2OVjh^ywmgrz(o^zafFOG{Sx}gN=4@SgQJqJcWztcEYipS9C=P5Q&!UeN`was6 z6C_t%*ysAJKg{%hh2(1D7HTkdA5)MfZ3Fe=fxiG62@m8;CahHsEL4zkbIDho@*G>o zsuXsKZX0^!5dMF?zNp3eg(+Jmp{L0QV z$(7;}yB+0~u_7t@Hk|(N|10i$ALiA~bNz0${*e>#um&JJK0ehgha4j)K|t@&w`H;! z&Sn@K<3I+=fsmFYEY||{kx9KsG#Z1=rOtNbe2`1^qRWZ1Oo`=G6;Jaq>L&Gg$rA(D z7MmJjWyLg9Ys|CtrN%TfproOHggR)>Om~Vuow}4dXh(iR$*&ind+pA?Q%-*>?AEpN zxww>D(0?_q8U2-*kGfO06k2R{?Z0W`@Iz1^_O7r#E}nd(zC{R2U?`3EXM0GrSJt}V z{5t@%W%k8faTDBx7pE~Sj+BGBvYfZ{WWLTz*!sG8>v^+$9_7W9LV=eJ0U_Hc`Xb-gc#gIO%`BIMr(a-`7WNzMiNJcVr9 zNe*|VoXpEG-8G!PF*@6SObd3!2h5^CH+&mMXQbBbJ+~C8ES;LgVzgpOuCgT~iczC8 zTJ28_eD3EnKjhM4fbW+e0!uwaeR5tr2a6aD zqzL&U>od;u%_!oA`+BORlwI26-9_WG+179oa;?sZ&0;%L4QmpAL{U=68M?{!89Oe^ zjZNSJJt4P75iCU76s6TX8K=_V2pNXgr69g^Yr11~y8tIx@Y3VY>TW;v z&-?n79-9vZ20yhC`zpwOA%uOZjeJ`*Ki1u|{q$OIuP=Y_s2X^GJ9pQHxxLpEhU_(v zeD5;xPXmpQHv6~y;l@*_ah(bjgR&0A!r}q)V;fTNSTCi2r#O$mY>tDJhy5a{VYke| znXh*J8W`>Nuy>JMR{9%vCsp~XwK&8d4xB^h<_9#B*B27+kQOP53vX^Vc+8+BmQ-hI z?5O^UG)g;_jXgK~L8F`pu(#SD{R4g~rgyK1{?pF8>CzIwOVX{Vw)mu54Cz9o9iepk<>?&a_~qru(yW%&Q~&`y(@02^k4<{G3dWt%6RQqr9qTqPpo+%Wxuo z-;UD4QjQZOGBx9Zo;y9z&3?rer1p3U^7UeWn$7S9| z?w`Kly8qqiXYf4%RGR_^0pwXAbnB&Cj%QI0ZqY7^IW!G!sQZF_iJL7kJ&uvlT$n9R z3sMyD*re0_Wjl*TyZGe07o@W=)qL))9;=F^=|f#Rc!+YeyBo4X=>|9sWm+$J=5LZ;=Q zmeZ$F91e2j7!9G5MfMdaKm=xUtck)n`yNcT9k?4{Y7V2IJz;v5@AQ0>oF{X%ov(&# z7g=a5NRrNZom32UeKqTU+d3$M zUpkoaX6_Ee_4D)L3)`__`eKmmBq5E2dYDC7!0-Xh+1IM!91iln7W)DSvSli{W-SNb zIy0`$mPN3frzAE#Ve{Irg;ljF(FmU$mWbQU@ycAf1rs0K1F~EiiZ)#iOTpxSCkWGw ztN<~sfhrZq>q&f1TwkBzgTwx)P5e7bi-)x! ztYz62-nT(#C=jB&I9xuJjvLEV#>(tGT2-S%>y1i7J9C5Ssq+KofU1%q;+`*1Br=)f z;nXMm5sI&-(b=pfgh3XmK`YpQgebjmz_$@2r(*cpHTmdr;y>tY{HatlWE1SDZ^+Wu zpX#B&?#R3O@x5j2ub}^Av3~*NA2z6 zmW_Y3E@FWPvbnyv3kmW}nBo)%L>UX385=k=&IP5AjlT$?X4@b-#@vaU5e;Hx#hy@H zc8WBdD{%zDURE(X9%@v79SA|!=v@~`Vrz6Me#!GV^Yk{=`pVhdi!RoG??v6N64k#>>F1j2 z#mUSZ_yw*31^U0(=T1luS?l|0kLNM=qV75M8$;}B=$57hi4_nVkQjoj5CeM)%fa4) zdo=jSkS)h7@DDlkm2^g!wTQT~#Vvkj5BMTQw)0)p5H__p4P6RhaLL8w?1?dBgmpQt zBvqpixmw%f(rICTqiUovKF7)<(aj-tGnZ?`oI9@<$G7qF{LtS_q@4J z;IEVQXYR?v+!e?B=j%+p#~U07J3-swIRwx^tOxO{36mECikn~|mjv-JFh{Rg+zFG> zgue=gVS~*Dv1za^6A%o-x8q#fYSeDI9Cim{quEn*F>kGZCi9ZbV2)CqH0+usXXveH z@92^+G(@G$Gr!cvO7mwJ|GIWdxxw+oA|$~DoLI;0x8`fBsIL|FehA#d-W9pW#kJnv z9Xbq0Es}6Ri4K^t;L5pu1xLz)Eg1*7hV6k@L(wlr;C7V?r@Mk0+kRgkI5R6aTc-`tIVpJs1vwK6on0Sq;=V34{>p0gtQ@osY>{vz|J>#$FVfVu&m>v4#hF{i$`8(8I3OJu`v{uY>YXaueQL)|-i-Q-wQ=2}!Ge z3!gx^QM%vmya5(dntA9ti9QJlX`9DeaqH`oKQ{BL6Y)z(;l*x!HApW17rWN!gE+onAYQERT{#JCBCH=q~;MJwU?0 z1JCe}KH!&1koX^+!~g%Bz}u#Af+zW_1nV!;&p(?q4|Dyfd3=6i?)&a5uG>q-dVZ8~ zJ)DINq;EFMaUc}pND^p6>Q#&T(ate~iJMr(JgnB~vc8z@;vjLGvtKg4+Z1(+7uweJ zf2MVSn~fKTT%wI=OBo+2G|hMHcv5fGJ=g4)gO10e^tdQ)N5TMzr*4vVWI|Ngm$bPN z$Dcgop85S5D&N}fA^P?US8DlAz<@Z&0?>N>3kr%e58^KZ2U6-yQ*|*>o={lBWmV(LvCHe-1Tmz0&gV(v4)S$+tTZoS2pB)?qxJA_qYv zi$grgDN!KzTeLkVk&3vlC)uZ3;`b^A-!TW+=Wb2_>c9Ta|M?fu|3UVDJbJy}#kTHW zr!08`DGqG+bj^Z14df5qK!2y8%SW4^-dE{A6?VbQzF-7J(Jsg-`ij-8jhVE^f4Cr2 z!cmN1V0|>fPx}5n5t%w^6pSTz=^zH>P1-K7GoH;HMzP!Md`?ychYjdKfRE&I+l*Dv z0BG85oea92bzF;ErNOFsHV+2D(I(u5wpT3rPx=3U-#_;&pubT;;okxJUP}RWY{(eF zEN`Ki zFe)LZ^1|W#;W&FTc}3;v`s#+>Mi~ewL9@exh>M{~2%|yNY+E!7XrL}fe|jWg+ZG0T z=kGyL<$8(QJcACG-VsBYU0n<$t3n((Ii%~=B*WL{0v>dk5CdjWx<)(4`Oz_ARerXR zd1H5QHch+LSx*?rkayw}j5C&hrx^W>Z}?Cg=Xadd4<>uyp0A%ARv0=Kjp7zXkT`Bq zIIw>v@YWy@Ah4@a9Q-yEf5Tp=zsS%k54-uW@DA2c34(JtUGTvu#%M>>v2IK%S=U_} z8q~~4oJvT+3%q*4#v@f#oAG(c%+N$SVe2HCGj64y?Cntr?%U3twC-E^y{r!Sqbc@e z5CD0)x>h>7Gkq=t(m>W?`f^@Jokm*dzMf8&VZru!4U8Co>a z9m`}`x*KhqavLXPumebLh=o2NU{neB3 z4zo$d!yz{ee=r_le_@UZniPy?7zZXaa1Z@Scp80GbG90ax}h1fJRa{fPfTvF?#!EzU*JwPqNR{2L7<6O`7r&YxD;?j-h#W@ktkJq+P936hoOu3YIeX5U z{LZ9&w)hUndur*1hzBbfczXokU{eIspD^%Tf^+(U?<9tje<1Ef`<&bNh{(J-YntIk z<<8b}PUyCiqFP%Y7h5JK;*+_Vg)CXEwL@Gq(GFEJiS}B7pZMjv^gSkPldeqX1U*p2 z91~h!;^^)VOw6}!rtYq}Srow$)-&?P=6|{SWlHzAe#FImF!_e){koT7+=-dKdW;Pz zCLp)KAL$z(f1(y-E@59F2~c*Dkg8)C@Uy>%6iY6u2LdzJs@qT>mFj*^7Auzv%2h-x zCfT`~XrVifI+mqIc4v>taXpy`Q;6g7G;J!~M>76mNGmPdA!`Fc{EL71!?cFT>Aio@ zd%*K?Lc{mp8N-Jg`P5MFsr>I#{;!{TA9@mfY6bsRe**NI`~N%u`egL|Z9VQh1w+7` zc(9oh1Zj~dP1^mOYs}qv9+7 zvKo0Zvqf5|Wkov(jX|y_W~Uhrwi}8fgz6(yt9E-*G1PE9shNv)8PCqnCI4dt4WY6N z5$%^&f4A4Rw!KgODH84Z%k&#<+UvOlIq2V9gL-@KZ=g?bzpp>G#}XixfEFBf{o@f40{ymnI43v ze|B`zR-I7oXx~7lLsCDW+&+|+KP$&{f3Dnhs+T9K{60;_aW1w`TILMRHpfR_Ahc#b#ttWHpUoM#;>ef73oncc*mv~_x^hxC^@^Wr? zGoSzrf*Bv@bSdJ_QP>`d#`lo97zZsOe+`yxk!vKoQ;lwLk{2#AT>jz^y&q5`u4D7< z0(-u|-!J}o2cq6m5BBZU+N19f#r7q!A#p)*H0JbOW(d>9dasN^Ez|XS`85sn)C=9z z+?;@H3SUyjYRN~oEvm|TsVz((sxGI)L5!E{!ycVU#;`KQvx|wy9J~~#8<^vEe;&{W zZq|Wft;Q7gM6m-|oMyxy6fPf|d8N7I!k7V44`i}82}JQr1N0lqJ#^pPe(p#C`9~n7 zK z)Vq3YnHL95*U^?AX{qW}vJ$8ve~pfmjd46;3qPUS*`ec|lHHwG1w+h!dIsVSZ1Go| zf`9T`1Mgw3hw$K~kU}%acf1KmPJidvTdx7?Qaj|bsGXE%#`_U%A_VLD3wIj3d4bYdXBTUmH z9E@Ta+Jiqpy8^=wQZk@B29?2!=_@tPYNw7;UkCB`xhePQ>9F3FmON4O6Qa!9t+3zN z8P!&k*e%x0Tp{x!Ssf5Le^-Z#31v;Q)kV~2u8yo?bTd*`HIM)CMCGHy)t6=RE<(J= zuWzdFYeBN~%JDzyolt#^d)Wnt|b2v+`YXwsIRK~tD#%4);F0UQ3xblk3|{S zw^@>gJ&5xl_X(LWkD^QxWRc&)yj%@r*;Gf7-$a0M_>AE@eP;T<@13jhq5@xVvrQgafF2v;C91kGYJ-V z=)TL*_2~F3SrE3zhJ(S<*og;~*{dCr3*5GKY!O4mYLU|ifBvYt_K;`GB;C@6RHO5i zxS6q2x%MNFBdL+sjIHg&9gJO(PHvO9N2Gwo+BS<{YDMsF?~2Cb;;9J%By}Jx zfjt04X>j*Ex3A+(I=FMol2H!BVT^~pI3m7Nc3w4TwdJbi>b+JP!e%z7QB9nLTgXDl zsbrIe>&qi&>imve7Ktx&K4sM!XmFEf4@JWLm9^#^m1IznwXg1#TD1J$O-b3 znY{Lcf4I!QTfE}&e)+V-L;4r?LDB)A!i5#bq=5Sep%X#dv`gR?htVjFa_$Q)=WyE1 z7g;+$bHnp)#)od3j6+EnMng$K=|q_*16${n;n6?~f3o&6{zO~&$z#i4HLcB~DzGbS zot<$>UGqoAj=2~pmbcLXzp#6O2P=N3h}o0D2OhVpr&4C9=UVXSq=$Mog|QCEm?#jr zQZDFQahpMLoS`v~e6f7A>$t4c$}i`xG*L}#5v)3IIyCy;FlVeKMT^{xCd7h2x1A_N z!^5iMe{)sk?GnO`7`z9U-zXkeIs56HnmdS!@f`npDSmls=?>oCX({=`3HH(I1IEwI zCGV^(Lt1_RAcmkIGvIla&45^~uRleYRNn>B>f5nUF9?|7#%c&-g1ek`rpa12b#9oT zUg%;Alg%voyj~Z{&NIisEIWb9BNlvbqE*w7f72nBJ1jQB&~S6X6C;+LEs}-H7^CG~ z$8!Cpugm2P7v?K2%#U%o+It{!TZ^xTZd<%%V;Bip65Awki$EO?C~69_1TMtwG|1Oo z#{z!wMZ#?=OuEHJ6vf2~X-T%@2oPsEXuGr6Y{<9rHXTINe(&s$*&ZL@VxbjLG0D$N zf2=8&yv;Y-33Ef4PKOz5`n5J*3T*Mb@bpg5O}_9lP4e@#=iTT7mG?W>HTkvzS-=nh zPXvN53&S0o!fh5bgsu%@OPGKRZlfe5Pv}?KBRQVX`9biP2T4SQ#YXiZTNfq=%I%B) zucHitot026;>pe$HvYwqac4YV7{el*e>!e>HmAkNJ+kJ-o`z$q=EFIeJ+DCh@BCZa z)7{($INmoW&LqwLFdMk47{q!G1FJA|d}s%c;F^k81@OOY;(X zX~>ULp*M4;(jxGn|qoXUZs&oy}EXsH@Tbk0Qe}QO) z;U~@?Iv0Ik|DLUzj^GSzgQLsF5hf_^JfakbtO--yA2}4YZk#n#Z)O)uJ5uLpt6T(Q* zv7TQB%T%n#;4li?iN7#c4(7!Ze@@vQ&d2}cyy_2*r2@tesq{@l^F@pC5aIt_j34HD zj31w`HJNT>ld!;FB#3@Ul6}>8kVbPH#gViPqyuHrj0cW2ENw4D(FRev%6c9qBEEs_ zc316Lao3H6O(ULp++@9CTsNj(D*kXg5#5c0r5LPH=*XavgCp*C`qa{ke`?xH!f3>A z&#R@edAQZr3SZy)2R~$7drQ~H_u8jwRIUR=s!5x$41w;14#*ArRtaG!STPUQudGyR{EVnqQizrH56;DN}16T9nC|`EYd-4se-xi4P=D(sYClRL z-fX?2_1-Xn!9lfTv8W9cvqQ2V0w5vy03IDD+5UqA3zx?-FWl?d$*9EE9=b`Xo35mX zJ9RrS^K`?Q5pV4gy+&41dzQlE&}9e-nXS+@zg78_5GCIBJWv8Dam?B~U^3&A`r@!N zM~{=+Sy}{_zic10e@S+)gRx@>9NpsO{{ORK^u6&Oq3^%)v<;#dq`|-sCoIbJ7|g^? z8k9JmYg&+W?c2vPeQa;OaKSI@Gg=)Ua-ZW zLZ+U(_GjAgoK&qiI>o$cPAsIt63$nGogtRZmee}Wm^>iMf8DZd|MDSm`iCIxM>^mS zCVP0Eudn{&T@K8E`Wx0)$XS{s%rg*?aKQe$s0aEt*8+t!i{h^PVvnO~UtNrHgu#>8 z3-mA+c?=<`ak$gZ^=3G3=_Iu)AbuLMGJ>pai0%+Pzi1`8k_`H| zu=CPIAM0Ag9W}eWxJq|;ZR7-0_XVsljqf9HeW?^Vx}xGdpof? zZJQ(O!9`f0p}*UYrryNns~tu9zBlGi<}w)?GY>Seq%fn5*_Lm4YqF=grJnf-5tf2F z{{LG0f3hZJwWZDbj_ChzqHpatn5T&Dj;%PLD2j?A7u~_ADD$LvaejLzpe0&mon7Cq z*b)1crL~k~vB-R$Co@m)*>Jn5FV?Df^N=L9gl{*z7Ebh5<&*f_-J1Hj@osKF^9t_4 zs`6XY@s+{|!^TM(IPKXNf8vGR#u(V-Pf{$MMBDm!tFUYFuS(ii;_mjuYMb zro2}kd4O)zE@fRE_O1^I4mSL(CR6jF?x@c8>G4>zP+*lmdGtH=Q(F^)bz4VIwNPmw ze`5frg&iMgSP1_p#z9fg6xN6(X3!)7j^>-&bKB=;Yfs9?6g58Yloign!hy>~Vi%4# z2S9q*Qantfb-c}dk0H2RH92X!jxM2aax{nN^iMpWs^Ntrkat8{_o#qZb5|~z76+DQoiF7Uv(bat9T~d5;X7}`g7vUj- zvP<0= d{l;+~vIXA_6zvjE1Y7o7c@@x72Ej9E}<>wXj}9PJKBJ`^1;y@ZXo?L{%I0%ki)0ft&dA_`mD%&v6g?)AiJv^tP;8BXu;yHg_n7 z0Z`0>fY30i#;Pm}cP6k4ltY8`62%!4C>DV1zFu8ygm#q^sm}ZRv3*{-sK*YXW7-*P zf~_kuQrI64MhYq%224jQcWfUUf6sPIXyuf*Oor-c&tOxG5=X3@Ed1OjspUHRCdb$e z6Z=n|xgG$N|N0+ICzMay;J@43;74wZ_r6>q9APC+3bf}c{wMO&T2EBr-zPM zp0}gON(pHlyC+wS`ZI02GX3tZ6vzAcH1Bkmg|wYGs;w@u>*dPm!jQ~Kz7*&}{sDq= zEBpSbuEs|dhj)U6Mmc}0f6Mk)Q8(a5zZ9I#B_6AT@= zH;N&_?_y2Rl~S|~GExA9QJWy%^+OegGd4MC9hbN!n+`dZk7pU(cI+z$AaFDr%?LqB zB$PZ7e0*KZuO1ip3yj*aJ5};oSr`=v1XlCS;20nLZFE|0P^tT!e}to5m#!%t^pOspsa9`sX$ZI1{RaDSYQ^wxqSo1Oz2hr zsO&(Amr;jBmvUvn;X8z$918p`fV6WgUT{Zl`a= z?$KFJHO}PY6`chHfBuaZ`&|}eycer5sGBIHKy!0=obRH8~VCCwjr#p{NA{N>FWS<@G`={x>SH_g5DXondsncB(Ue@_{);Ez;}i{|xItQNH72=CYNr-kxTK=bL@_kSOyw*U37?2v@{{(!fF zjgL$4IX~{Bt=qSs_~#<>x6?l^+UNIL9=3^tKW*bW4!ey7(q@pD0F`G~_#RGjKzR}j zXR+^!!6AoLXNTs5K6l20wX3^sq72XdUjOQ=i(=k6e|8;l?Pf}_A1|(!Xwn)w4Tr}W z!i&^mO7b0BJPYB$6S@X1pqruN`^ufmOW@+^*&o}pn_3msZ~n9;|1dq`dCuBI?Sa}Z zw>BX*Y{al(u&^Z?013lmjRlbyPaf{&WHxR>g=t|DgT;+@?5_T~wck`UT z7Q_@of7e^4U``D_fjl1LipM!UQ;~gmok%D6E+69AGPaN0%gDfnTwJ- zs0k^`0`G?;L6w7n$ie}6IjF8tjDEu!lzplv@HP|Y{Js|*$YdsWQ1LWgisvm4%*kBE zeKnG{5uM* zmq}Y@xs9}|0YWGRS}lN>IGnZML4dM2=mjv`03jO)d>x0jnYU?!ys+3Hqwd}_#yut#%yM-~W~*hWcLu#s-?Oyo zIn1`ZZ>WMd$>`0`k3z46(A|5Ax{ujz<|ADJ)O~IFlIXEbi`ef!aAmjf9Fqe zd_G&RU153d&XUj_*t31i?yupLM;3CzEYoFwwVo<_#L&80Htei7&%wH;x&tUPa5oT9vW{a}I$FzE z-%u3ec%@|X&4N6o7RDp?k-FN0e*@ARFL3=BM*(Y6mrl%a`vNFIL4#z~yD^pPTJt!rE9LM{Ny1NIX!QBter3 zcQuPUI0SyMmIw|g9dM_Cogk}(!mmxVWO8?X9Kb_yo^Dr;HA7`_DD^f&e^bOEbe=0` zs}L!oXKvYR9E_}8gbs}(i<>1ycJMB_z+v0N@dlXH|dJ>4IfA?2#$-<4@=W*^5Ge(5)x~UD8yR^$0>dwM6-<)_uuydjn zRJ1loX~e9KRw?!aRbxq=CyNlz=~NQOU2Mwd$a~ki(7hZ^BKhOwfqCn}@kradpJbkR zztau7HDSw!aMbFGjho<&z?x*ts%?^E!6ru&l~7jKfg=LlENkN^e}%t!LTmYuq7EBH z)^+o`pO4S+_Ieta1K0AsK63F$@`5Q^aG0y+E+0zxitZ%lB^q^jOd?hxdM>0f(f21~ zUKu($zPcQG{=FaR?e{iIss=+_$ISC_`yPLjXM+FNjMp+;Ge=`J#x!udx`!PO1E!kf zz~|Ge&PoP2ctFm=f2uPv=8c;d^rAf9b=BbAYq0`#025r*XCZYyndwF6yhtLCk2bSme!i;4$u=j6L63JK<_-;X#T6AyLi)Ew z+6soNPE?=vf4-`!{g0MiYeKL?>*!BCRRfFJy2Dk;4wW@53ox>(VIJ#nrUm#dZGc-1 z^0;>r|0JsJJVrDv-xrNhvDc-GyqYA8G1{y)Cu+qFVr)c|^&3vK9jsoEMSN?3W3Ww};K29<=w-69nhQ~4`M|7vXVs6^o-*{L)=DQoC zK~f)&f5m_fmVSeERv*w7{n+BmJdit2*Y_-MO&Y!rt6TGK$nzjq2xTZ zHw}^w*DK~)?8##^TL*cZC4+^xB#L1|MwiT5pY)#ObXA_m zO@qZZ=u-x~NVAvJdrJz)gPGw?NeJwv6>T&2e(^a-=Uey(K?=6%qqe4L~2e$R9 zo=BZ)4N+NDm=Lr$3|`?pB>865U=zE?GASKO$QnRrdB+zkYA_7tve?k}Zl-By*Y1*l zLicxDiRg7l8XH6j#wfj^Whtn)?`DL6mPeIPX~aIwk63xUg{w_ruRnVL7Bf2q;6cya zf7EfS{82sF+rPAwzWrR0Nes^X;8N!6W6f1CP$O+~u@{@?ybbH0ClDyR0kgE2qc7eTe00>I~tVJYv=%eT8QV!T3lnd#OP@uJ0ejQh_exx-Vq~^vqwx;OKj3f zoc(gZ#mq&Sh-6&sS8SrM=Jr&vfA75ps~=o@^dEYImyu8S#Sdf5kLhmKX~Ktx$V&&s zOw}_N*f6Imc|rn%Mof1e(EnB#LD z=7$3HUHh#&g`Y;Ad&gm)N=-Z}ch5v7+&tLySS(n6DH2mrv#03Z(|!Bay) z15DAdD>^``fv5?Tu2t5qDh7$;R4_~JbO3>f?1&8VDkilHf56( zuoi&teQkc<5Kl8p7Sp3j_PSHjSnk$G9J8%C+*J~z3f4}U4D5~;e{kGkGuWB4LR^>` zHjX8m>2$S)n*?l+@6Y9)AZw=}_C@cT`c3W9YWF1T$Ep3*RGxhet=J#B%^&kU+pV6c zS+OMOKy1dOXh7v{jI87fdR5QEqB)ub(W8Y|sf};kpJ7(cgRO*|d11X#=d*LMDnNJI zIfYcQ^~U`^eGQcfe>2^(#i671cviN&V_`2B9W#-Vtao<9fwCTZLsC`TnK-+xIo?zTK5x3kiIX`C*;_rr)&utJ*QppWgWM&{I?&xc`{^ zR%i7Ne1HCfznag#UTf-SI`hx-R@eN~;GcTpTN?zFrD+4?e-?mW5I|A0fL1a(h|B>| zq*2^c}}`q~WF0FK~W{ zIMf`;*h@#$B`dMU-89LiYj{A!$kja~?tZgd0fEr83VEbcHG(Sux7^y13j-i4U+O=! z0I-)b(k;u}f8Ttx14Q{?VVhk zEI^r;&r%}bF~OKArP&K7XNI{9#}R$Sl!-ijh?hk$Z{IK}SZt<;Kslk; zV6`&@cD(E56N?{oFfU)?_)(h9blJMEh{(EBf7oM1wY^a`{ZM(+p0T#Z;}D+xcfAd; zQMv&bEDLIK3fKV%sZ10F`w&D`07A!baF%WEjYUopXHASEC|80q9ea6SC<%NkER~#? z@0lK#8apOShkzQ&r*Rz24#Z)Q?Dp2|xZdTlZ>nm?6R9=k1xiMYn5&eYeeFFdP@e;^ ze=lHxy12<5jD7O7s?XdCb^md#dn29Oe$-50+IJ47u5a)Uvm;+7z1#XR(#n~v^yQ|F zfy6;aQ9wy(mH_>wP3k1rn?r$SfF(G7lJ$}QLN_WWYp=e zg~>V?E7K8~^vk_VUUDRJ_I`|k!eYEUe=o0RZ6A`-v|PEJ#5JcU?Q|yHdqa;eZTnVZ z_rrVgi>V)GdLD22rKZE6p!@_p+qRvm`JqjiHVR=afJ~$gu(l1MKh3<6&6q|kx_u0m3Fl?Me6kT+6i_0;cN&u**=?rEs`06HPeWW}ppj#a3>L3W20r2={1 z;S?zg1cvHpoOsEiojcJk1nn#Rf6e?XutelBWx?ACZJ%fN-gWK3^%flgfbeM$|A%e9 z+cVa-dK|VIegmC_a=_UWIt!2;#h?^OAq)c077~070s>XM>Pqq^Sdy;N<}m5+qO)ml zHm=JeLQeNZr;m?1QX&i93fUm>zF=r#u*0;sDp@VJ`rB|vFe-chk9<@*A zhuyZ2m7V(oB%!tF9<3AqYC0#r`XIM%ihtjJj~OfTJ&yh~b2TLis)dDCje2Z=>~J7q zFce&nDw!2{IvW%v7CejJwa^wvSN&izQLc!mYdOn0OanU*9Q~!L(;bQn$ zH(jqzdOy!D6s`C9up>tD7Ce_ErAv$_sOvmG3u>UKwa5qhMTe*mzP=7jLKxmMuw z0gY~S3nTQ;69h&8GwU#cvshx+@(P}+HeRZ#S z2&vJdy$d2ubzbZke~GXM#c_~Y|r?xNqyMz zge?ZGSUrrQxGHB8Ts<6M3(i1UAa!&C79(u+`a4IY>jKU-jAgViMy9rx7dyDDVy=2ECl6RLM=owm9x_t=f>we3Kr{Qw(w=*vPQ^~Uk--c zVRzaf#Edvye@$h*>S}9{j2&1kd%xS)VSNJAE_ z>zlmI09hS^qVLi}!7w&X0SczhHaxn+Ytc#B*#?q&iVcB_&MF}VZz3;H}9@l)9s;u4EcV{ce7@5&~m70 zonS$9&H|QhaTMI(z?4xIYO^}1Bx=+WBu>`5!ta|y?ypuxFYd1wY=mo5@kpY|vBz)7 zPQe<=e`*jZ1}Pqw`|XK~jCeF8VI3c7aiH&A%fKCEMt83~I`D^OUmEFWZq9#0Z`Z&5 zo(J?uziv*<2!E-s^T%`_HmkBZ9-JDDW1P-XKygVe6vM)vU;tG?GCIeZ49G~{ zHPASn6BR2N^BQ3TnhQX%X^d#fABUV37n2UFfA?f{KH6MjPMfS6>^yNWt25EH{= zh$D4dCm7lyO_RV3lVJ!910>6SSC1jg&~2cuIA?F2_G8mt*z{76PT01~cKmz+s@v7k ze_j$B7L=he*Xv=)dO$3(h!G0(ifLunWK()m6l{N7ZXFOy&AJ(Se^x)Z@5*eSu;)7) z{`bxHn6NU@*;wfLaZDmyq~{diWj#D9PCbGm)G1P)m)+7# z&1tw(?$Pc&HLOySXTO!^_%bQjcztH=!1D zSwFV~2S$4dm*%>}JcR!4CVT!R8~8?kVfMj<8_t-gNU})(-{3^8nErcvpt! zN9xS`Y;9B5liW%4wbRB4kWm>pDDiOf9S-Oxf6LHfFLBiE zjD^*-9Pu)qva5yQ^8JA=PgZt>9pmZF9w@vwAC7Q2J#@&SLXWtO9YA3sX1ubX}ndV%@54&u^6Vc+6KB^W&f;p{m-_Q97tz04{`Q zHHTvc27*_@AVK5_8zsxwe}E*KZ`}0#l()M{QkHlrt(VvJNHnxcUXvYZ@_5oH=5VC0 zKmn_{P3yzGMKAnflMPB&Q96f0K?^2E*>F>^32PTb*x&DF__@FxH>q`>s;R=z zPYnT+-K+qw>U6q>-~mB8S>3Lj&OvlSbBtr+xXxlM+`f!SRP}jTf5J50z;{FUWF93T z9o-|Ex}rdC=A@+&6uVdwVZR@f8_UBwsRY86D~5C?>L?*{4Sc@CPCyP*#+V(N|m z&0EX|z@7ubPtImYe~5>HEHgNG=u#jSHXR4TC z-&^j~a)8kawGs0Yb+XHJCW813oZ{0w-BSs75-dH>H+>_OtZ^^o5rNMRk!$I`JXCkz zbqITxPgXS}wD)@585K_ONret)e*ocyw*~<2x|1L{$57xy z1HNp-eW{xO0HSc8GPuK1CgzYF2YOpzXumcv=Whio7%lSy5eA{D3)lPvkg;~S773lX zj@K=b$#STg6BS(__s+JVS@JA&)scL_u4kOJzOvWcIjybGnD$`+%EL>(rx#T3csMcX7c16InudKmuiI5eJ z*g4Oyp=fT2zO%XN3wo1F--aYjbIcc-?kOv{UYkvtfAMGIR*vu|9X$HG#;qr8Zho3% zO$a@75cjYa$Fh3$IL27pg5^np6Alk*4!7SpKQy&q+$*h80|0HWJPXX+xth0aP5l?Fx!AMs^i^RtONij!`iUr8tSn<7zd<1+1= z`zD&de^DjR1D|M;pKqpj4gH4|>q%~6W)mQM&L9YyqHu?(IsrNakR`f}86@CmIs+^A zT`9QXHuHcw&oo4I@i>d^BhIVqxn9l%&JgI%X%vyxLcETt`GCPU+&ndgQHLMzCVl;&k(jnYse_c6i>|D6eGYlQkiRU4 zf02bcoOiRklAm|iAJuAT=BjN~y{LE7rZz)WQr)m=(t-UHH33j$89;VG327Ou4YFVm zKTr{Go;#3NkW_@z^P8dxRIv zRrY7@Zm;WJ*HsFJ%Ccdy2q@rP%D8EZfASywChU&zJnD&m!eoCa8M&1bzf}>xOGH?b zt(uW>z@IoeVN)c4C?FRF^&4lBRf!MqF#!sDL)mqxAfvk70D?b0$Z>NZ%T{#dy9a_e zZ7ytpZo;8!iBS);Hk)ZzLWUh!7LfdfIMe4P0``3I4+B6}ake zC-hFq!nMwLK7S7@;D=guMYhU$e?vbD$YAKF=ikhCvqE!FGq-fJ3P9p$GNcU*H;I8H z0J8`X2~;I3bcO{L9l!(x%Dl_tM05yDM|w6YG`u%Hbp(Ivkgmf|hUY>YN(P5aY;7^i zJ!d}z$~fTUq1kn)(VXoe{@GTJtI+UP)Hp!R?IDhw6rmRKO}UZ>X5(SDf7&$Q|B$(T zo)c{HJka89ZHBPG6qQ&4XZ!p$(jlI=%l5B zrpzZHdoWdEWTb9?uA_3!4MAGqxU97%)O@uGqfOj32kz#&5=DVg!hYuB#92}aK-@3p zmb&-y$YJwHGW`VL&ix#Je}`fGV&d9DpGI4JBdEv?;1$8uC&3rMb(>;AYG#1q1RysZ zTz(d(OpxS#Z6;-joeo>Od(8J+f+E?0Bl}ZMW1`W_>+RLdmZJn4Yqr+Qf)fv_%kczT znMc$&xU;M;3Ps~&j8Wq)y&mfe^DsG;PJFwS9>2S(c=c%${b3yRf0*ytD39i(1Pz!Y z?4y_ij4MT26vJT_4STBzHx+T69PRJ`^I)ImcfL{?6K_VQhRHpP$X#vRK8*~DklZ)lh#sSx@M ze4)<`cyGe)Hu7dXe>(Nvhs@Bc@&_x4SM&Myn-wm6w)InMs{0o>@TmUd*#)ST4w>z~ z_W1Owx05`0Era~r_xRS1f6ypu!+ELV< zTBRLrXD8uwHr-{UCHe@toY$QcpGa&6?x+rXG+NUA zYJ7iB$+}%(`fnsNeWYazOB9 zQXI(|IEz+vf2t0C0BIVw{zfW`2Rm{d^ac!Ch8N+~_gtnw)34FiT`-rK#qVMT4|>Zv zs`NTqG&qgYm3!2gS>YFfHdJiB<0pGpaZF*A5L16yY0^92c#2i&V1P+)uq_1HRmtwN zn;pVDs|yP^6|mbk^a~~MBmn>=o_gtg5de_4AEDv$;Li)9GF+;D=RFots+ zaKmT^D1QjZQ42_a-2lYnYl|<;E}o_NXf@lT><3x5R4C)7+q%-oamjYjJ z0qwn{7oMl^Ufbz4lFA@v1@meZ5v#7xrD>@%-Mj z6#K_ce|tSuWx`vF(hs-Yp=rx70TI%{HLDa*Hc6svRk;>uE**5WByfn_8ze*5&Z9_& zaE8YA#N2b%%v|P$_%I5#B;ncux7F+gBVQzBgdA7o(TSClb_tWRnCv%;fth%e1dR1w zNLT)JCgcK5P7im-Byrz&)B4%D!%Wqw!#}l4f7YD2rE>)1FrXK)am=v+Qmp!A0b)x~ zfRBR%53Ve2GH)cBT^|ecw0l@hdv=dAM+kFb5`2kXj})5sm!2jpMuvWMEh^;_Z-@;M zS=`Nyfw&sy!Rk1kpC(#-UM{CmVV{qK(~OB$@%_vjN%f}_zw@Dg|HNwnHT=I;rrso7 ze-vs$z-lraME6yC3+mv&1vnIK8ywt4mDCaiMfDrG^m(w_sNS5&6OY?%z2O#FcR4dX z@Pk8^Gh=arL{u71ko_n+GKEnLlkN_&$8IRo{WDI8NA0lNyJLU|=P4G*c#$CCP15yT z%(>DJ{d4i(^PH72o(5VPE)pWPs!6N^f9#qC?mEuUxKl})NeJsW7SK{oucUxq+hwrm zQ!$pS{inDS*VpV=G$*kt}gG(;^Ti_^Z`p7yG$>#(z@r^^; z4}k>iPGU0U4mi`4b9|q>aLWz)DxKz=l$-jBJXh-a9mT?@X&c)=kF`__f0zkt9G+?h z#Q})~ya-t}C^caFw?V!|0EOqkvb$wad{!-3y&gVHwuQ_iAjZtbu{lj=y1YLgEQ9Vb z*$JD?%C)FR;iZ$wnqe&$WIny*$Yh6RjAJ-`UYP~C?Og}Ef*Pe4;b7f1{lX2(swVqe zyZlJqa-Xd-$L(cpg+|r_e+vz$NfM|-bdkJ}8 z;Pa2+4_@Hqjqi%<)$dme>-BHy#n$AO-lO!4UNFw9~Ne*#5yiv)b1FbEra^L&$B*O=`ydNUbK{PN5c+4W#%ebW)m18I{1 zx9-{D)^ihs8P4_`g3Sx=)ag>%vYVCXUbI}e<$y2brR;gT8EXxAd*3u+{5nXEs-bpe z_6L1rh5=X%c+qy={6kmxRgVYyi>5GHbHyLQbP%3F3~c=Ye;}v+&i0l4PiymaHQcWE z8zSq6McnGCKCbPf@dge&qEXcdG$`1?2^KDDm9e2?HU!){C@`unD;)DCdYO*LgrP2n zJ#FgQ*KkA)9c^Q(j;HOn3xu@zvzT2h>Qr)_={%c}{E9HfOF8wIm^ce&Ta-CQ1J;R` zxMyA#T8B+1e`E6-;k_3I_KU^qvFD47KD|{X1EpWRQ|}`8?c_&Af*+xLtH$&bgmpf+ z=HXV}@OR?)_Ka{H+lQ@49xaA4mLZ;h?n-CA3_-L_lXwr$(KwQZYQ+qP}DTib5m{=RSC zyg%+tCTGr_o0*fGcAsO|9KJa&pOVH5IuR>-RqMkG{sj9cE$=ab5!R6_+FJ z*K(;*p#uhBnfw#9-_EG=rSBl0?S(|Aw7hlN=tDtv_Qm2otF)(!ixq;K{FPgFm$hvY zkWy7Y{cKw_-!cH*skLjG(*R+X;b3WDhOfZy;iZNDJHrNx3jP=sUwM2A-pRW!=3y%q z$0s}=)o}iu%4g&l!<(<+7W$L;z`JcM0 zKcFQvF*aLi)<{M9-^_P~B5e;jbLv&XDe_?eU;_1k>s;rRCi?k(X{7k%m<{&~-2=ZQ zPgp0x+0~9oIIPw=_dd+_Pq2^E<)W0`=_0T50B}`mFWn@ z!Px&gI`HpZQ2*wKLPl_51cdi@qCQhDlDj-HRddEH*&E$*o>o0ZCXs4{&>CYHYO?qR z_~5Cjk29Q)A)?1d=U)B=S%B8V5+L2f!}o~3_g8SOGR9ks$eFC zsu&@EvzH4b*>gU!y!ay|&dP2m6*&#mLT+KfLKmdy(d>;K?I+H)=$w1a=Sn|WPg|X` zpllD3x)OBooOSa-J&xX01^YDR+t3=~2rdCzMu*58e-zQf4DFD5wINkVi%F` z77)UNG^~0MM=nAQ6B~?jwhA@EonDmGpTs9Qa_h8*fJmK^fyh$`1Ul3I8i5Bm$RA6o z5<_i@gCV+GeK}ogCO!0L2rPN1D8-LPGI*PFPg>pUe>TJEF6KaOzo0Ma(Qb`FykO82 zs^AR0wd=n^EA7QMQRzgWZ_xiOrc!|(q5RvZ`thTg#rfZh6aPJADJUxt zcqx_Cpa{T3@3%e%WQZBhyf5U(3QM?u6(zc>#o&jrPU3UEiLV!AP5*L(6IR})@IMCr zCiBS(5+iZV98B|brN2xoE6FY#hyOifuVS+bCYpd*`nhOesrEveutj3d*CYw?X5j9e zxqZDO9$$a)@wUSmv%uoHz4#6y_y2_i`zI484XE1x{qAHsP}cvXYo4J8z5I`t(#r^H z5A#0>qAX-|QaG4E1p#f_HHPor)eB$9!k#NsyC5HW2?8V{>j;%{5DlKYgSEE3q_wo` z=EL1N3B{x{ea|C>9e-c99H+RSsA{)W_fSIZgPoR~+9N6Q1_Ssz%Teln-s1?cvhi^6 zIN)v>2;tQ?#vUI6N7X5Cr2wa4iXaxFxal!qDV@rkl^SWih zB})LK@4-?`N`|}0sMmN@=82<`e7y~JA+nL6+K7H%|w)9HViJJ+Q&=XGiIh74P^%n*LUuVQUl~ z_>JXG5u}uf8yH|4pNU8=FOYYF$X_caB_}zKpV}n1!_nF){e-J5zv$d?p&uMM&D>@( zo6Rt-Cfgr4LG-LP3;CyDO+_w3SQ8{q#h|zcfp|4=rV?T+&$_pDa~f>CWZHHyVlR_Q z_O-4%RMM*EUx`d+S!iDEfhsVvK-V;wEA@p$y4utzpbmVGN2=so<})qrBGxe&04EFa zYxtGM$g_Gr$g_t&>5>CuAvz(`%{)TeY>pJ4Gc=+_dpeWYKhf?lkmyZ2-tf07KtwSV z)O$D`k8M!3C?vv5P$J4qTxINU6=;SKKZaulX2}wM#T~a%n!jkzFIMAI?+~@(4W81} zlLjwSux)_)vu^3VU#AL%fP&A=ilB0&^~vJ}OA*LE+I{K#xIub6W%6BIi!^hj)C8&Gl6Kx9Kefk@2y z+4Rp;sYQYd72Qss2CL86Q~EV&XQ1KjW&7))+vhI{qK{kNu12&dkh${pS$zut@8b8R zGVv6-Whg`UB>sIr)pxmNUo6gxkBs%A2xwp}yu1lr!0gj^SWndU?@~@mqG)pete8jpE#a)7F4qKFIJ6IH#!hSxG}@YVNL{ z?q2^D<9+k^iyK~%FGdKsd5jQOz-AAY-0!{{O@(;V^}*$V_?qWVe-F%g$tQnb&Z+Ms z^!{mj?40BC5!U~!!2Z)9sP=0dDKqq_r@7C~W7J-zRPDk zq`IaagIIEI1`v+~*zUQq2I%8bF0xDkXd4=_ZXfzQ{ND=qetPB z>wWoQh)p9v0(VCysNZT>OQ;@*JSHFglc+9q0G6X)ER*z1*R?#$NFf~#>RZWuqEuf; z!BnePu8|lQR8Zj1+n`Zr;tm0QmcK@5eQ14g=tJ1?mQ54X)%OE6F9)!oVqpEJ_pAgT+b9 z#JUI8gw_akLHVG*crYF`dCJVatEJ0uM>Nu{8sR#wPL7lexixt=%zQBG$?*B6{M-U1?s#kPb!%*EZ7`Ihz=rstKWwTR$3?ujN9vN z{-RK>^dj3LT2nR2;2FDOM|0ICUA&P)jXxYfzP%Rl;IKKq5&d3XV>71)P|y=?9{0nq zJuH2xk(z@E>}YwvIDgV!fTkZ1Ao10ajf(?yQc{?q19~+izrd#LluTi&6|w5$^|7H0 zy%3BBn7@Z_kO?(^%7^2|toXRxI8rqp8)W3?5jdf@bzAO(n=-01-E(Rze4q7NGst2~ zbixRBo|f(sX^(urqrSJ^kDiW_ZnK0T!qU1{2z zWTVg3MK`ZxO|X{9hUk|Rjjl9a2|YF#CCP(#PmPhZK`ag z8Uqfp?Yq3okU6_RK(-xMzXF!LdNSaiz(7QQR>$v-?~etyh7c`LJTxII&>XuW{e zY`?s2Fo!jkZ?7}nNGP!YrX@t2IB@dGB}}dVV|Ge@BI#t*ma#F;>h(jpyt{B-xaWye zq*E^8ppF+Qe@nLrVOj5GITnC?GR*ws?Dc7YljGIl8A1aa2oXv)5*ua%iiJ$fMbo#d{Gj<{gL69oEqjVip(OIHSzR2@We*GfnwD&Kp(vc_S|> zuPzZ1R1Y0>U^_usZ^#d=;_J?|I~W$4Y|+`+mN~u#P`+-+jeebc*o=F2ZvXi)e>-2~ zdAPm%8T;`rvqCTdc8a7LV+91k__g%b28$#2pJe)BlBAC z%1E8s6nZSJglcRMK3b{IUAR!6cxHf(%8W(Rq`4R_>5f_|-M8JP)4H1Cd9z0}CrY}c ztUAoHpbBDFEg5Pa41ZZU@own+;NN$R8>F8f{sKAF1!gtry*@tojey*apG*UVxYUZU zckuM$J*wC6@8pv4l;8XZ!}k()IL;rI9wtcTFBUi^i%e#=Am-U*L~Lx=S%++_-BaPs zHzz{g+fu7UE6t?lgomH{0Y&w-=DldC&-7OqcI1lxN4fd}d#``O|Px7m;I=?~B z%0B+Odb!8=EZ}}Hz5+TPLjB-HW)MiidQkL*2xm}!1@VRWb)nD*NLL7oMR#AK1i5lh zS=d(C*y6C>d${e&dY^%gSx!V0AIswi36NUxpqfL%qE(Y=k!*v-)_H zhh3hJxMG9;Rq$}&^kr)@wl1xc0`{Uk;`T9fHT;I~Hv}fLqyiw+kNy@+5k~V1l7`q% zcp#R7u?*r2Z1L9@#44>0=I%+u%0mh_@oW%+j=pJD;F9`?Ag@y&jaAJ_T~2|AhsH@7 zZfF7reoWdS6{pkt>)`Al1cp^xms7kEC3zPW*%7ewT>S(Y^;~j2^`aG4x*c|~NTlcP zed9}N6o^_9fehpwlhG9I(3ILJ=p2?(q6(%s2?|Bh)#w_w9^*EcR82Gxa+FOt>6#JYa7_BhaZ6|T zk)!9{SxpT}{3#TZ=PtbYp~4^;K$?7zgCwUgq-P|<90$;aBRhZ>lGO?&7_(0h>i8$g z>mgWi!M>CwO$U4q>V{vax79v#6MeR-?@UlpV@-_1wQjCVK6QbmwHE=CM9<0rHAgG7fZ^aIR(s|oJ8&m^D*LM?!v#m~4BHLt#q z(2_wy)nG5rpBRm^>75nH;qf*dX{I@a8~DosTfH_*uXhI(I-2#g_S_1AkJtGPCqA}TSApjys0{6$9!~8X zO+_@CE4JNiFfJAsCVk;}QRi}@$tn5GtYv*5XURETlJmcDtP{NU?aest@-yd#eAjYi z&y~4dX|#Uc?H(xwghFh=w>0B8P=^v??0^(ZY>wJdm{{pVeMfW`lqwHJr<<#l$onr> z*CnHTf~SiEG2a{~*vbcXc*OLQ<&N3nl9mr^YhF=_hV%xG@e3NfDy#1!qf0s(c;>Ae z%h;Xj+O8R2B)_~`S{e7i!mIxL*Z}QP_V6KZVNC!zzgPq>4ekF|$swZ`Dj`=5)deWV z$4!g`TOp5yiirC#9*g_)r#6O=Wz~C7qWi>zaM=S=xjLHcGF(Wh|DGx6em+!mH zn>_~S8%t-xYBt{==#+(Znw6zhD)KfWwL20Y3@#ZPebx_LxmYSAQ@?*FK&c!v?EWz` zW)Nojum>tLalKA8@0D}N}n`#AlYTXcT$~^-BfE2tq;RMH!!L7&P*-> zXq7*)G8eOy@gKO^mF$bU(I&Kd#(6e1u#2!hzD#*8woWG=&;mj6#0DNbzup*g*YKp?3A<=E)^~wA~dYI36!v zl!l%OWLYDgo_T1R(%(%%LH1gd4sg&}yjVD*dY--zMh+fG9S+)g)iB$QQSV{~p@C-| zm3$WcT00l>mIM9x7hTB(e$@Y|ue-AMcY07^|HxqA#-xc@v{j`~Dg(|K!42>_|El>) zn39hBW8f!D^2hRPiUc6?c~C1>rbAd5F;2A)AClesCu$&8*eSTlK4AuVQI zYIwD=8HeFf*SB_{yK{0ftrhJeE<4r6ZyF+H2*~cz{nyrb0G?0eC;1a-3s zxWuzjzIf%fF-H63ZUK~wtE!N^a3l1+mr!V^a&v$ARvmyalp@0A{?V60M8|v_l~BN# zdLT0}RTyKSJ)S! z5T6 zXJDuhJ`fp7M<@(sVAq%ns3>0~PnUylHoBVb@lk7?QpD7&Dj3d&gV2xHsFmyI8g`R5 zj42eVZ1(Fo*GrU*@a9BQtJfo_@iK8EoC*!673s4^^Gf~?hwrXXGa)zNPcrm?&LZp; zir^Pa?bsGx9dNo=#OP$aSQGsV6e?8UVJs11Ob%2Wy&u+COn{cK05Y2?ht0Eb8)0Dt z-qKnt!nfs`@glKF(`z6nV>nJc!o+5}!GMj4u0-Z4k2H(({<=xR2$ylB?eMojcmX|9v7 zK+l~DjRbo}XjhkrL2a3qLQ4K@m9g|d*bZCVrn6wyonGV*163q{r;7!JJT<0lLqg-_ zUo~+oRq_AMIa zdM#aEWk94>E5D%VPEutZa&MX(HW+%u59eqQ3}XH^BujL7)YpO5YsxILyQsO9M~|o} zsVVzCx)&^#GaSqMD4CY}@Y^+t$l)6!Q6=_M$6Yh7?eGwT=-?{Wu(sJ^)zrz#HHBG3 z+xF}wH=dHMFt;(>&$h&`XB0kVFo#e7E+G=yZJ=YC1cZrdvg0_-*l(;*<9ud#@Un{V zwLO$4okrig!>4RQJ3$3gKT_Y`zelV`vDeI>B-!tI5v&CAz&O<<5ZZopdBsNLb!ruz zHgoxhbD=Y%rFKl?Jd|2*Vez8ndsq|>Hu=AnbYn^)f6LUGTmyhiH;78@#*6OyhrlAyaDr^ z`z@b?r;FXSj0Ov6s8&~11YY#QeL{Mw;og#5KgFXb`(>!gsW}}@B&dyZRYqFf!O1U^P3b-o5ztJ0(I8aZDWko z8^;WNn~?4IA`h!3B#}3K7S!RU`Ty+C8%y$h0;gPzw7ZaK=b^>1Yg0GjXsD!arh->e z@J&c7_|swB_rR!THk{gW(y@2E!p=S-^1eGFvJ!rXg;VcMaJQ2bhU(HdPiu-57Vnw*REckz3au0Uq-{tX*~ z^srp=w{>`jhCgwKOCai*s(0*;$(iw>JhAuL;XVKS_ut(b302n}I>7aU^1N#vs3EJ` zj&kFzb_ga}K1_wbF;)erfaJF{XzHIjdVHLcy|l#Pgd;31)j!3Tha1-J1!bJ*!$Vk0EdO40W}ZzNvIbxtI)_ zF&8Uby(5LFp(i%3mv3Bg8@NL5G$WT!Y%-MV{Lgx_(14p!P*xU?p&3A&1N&C9EJdtLX>!zy2=pPEv!6*l*g2%0 zuPXY9Y-k`DC1p&~U%*8udvo5pQX5iMJQ@gFD)aF*fj}CDW~?mN-dCL@Z2K46`a9OU z3Lm-1R~j{gg;O{V`1hg9I?1gQ#-8}k#SIhw6x>ieBcryxyd!iUKpiF}qQ zukk%o_hShUpWIF%#7#E&?kXmUHK96mqlzFCX(Z|AohTT?J)t5i!}kxT(&X?S-%w1d z*VOr1$}w5DSdoNv_js>wW{#%91#G*})Iy0;RS9dx1@n2{rvUxat<;Z`;`vzBt-Xcn z!G4$1Z=auaVYRJJ+U~q5=O$M8iXy32rib*mO{Zk2$gFcn*iPi`u#CFZiH%Q1U(w~z zgGt4l4|m z$xt5~)~u$FJp`O6E%MhRJ9Z6HIkQ^z9yt(B9qa2|@#n;cg&!`2qb`Cb%WrAOFQi$k zWj+2h&AK)c&UT2K#*W@xvI9@lGgPs_kz56QSD%VDH@x78FX@Z}m`sm*cqE}FU-}tg zNC6bX2owcZm|yJ6fb;K_{gxn%s5G`Df#Q&0j}Get1fbX!^Pb_d#!DJilswl)jX7%q zy)&&w6>0ruK>Cbqsm@$gwUlrLFNe9(r9P%5=?AQ>yvd8FpZUAC{p02q4yN4=vOPHX z#C0kL8$MLDUaw?q0N=$XggQ)9Y;XS?gxBk`8rx$i;s(RDw5Yho9_5;>ouj_i3NiT~~Pl2rhr~h+aGs=C~{+3S1CY`C^klfK7^V0ynS3;2S zDh|r0`8UKuVQ%AS)jh*q8}ESg*d&Qc5p;*`Q;PwpCAQoh={QJuX$%cGvp2zM`Jie| zbxP0g#PD+JWx@b6h)~(h9hzPS{vTqr@D)GeXaPlk_&7eP@jP9`Q6au}?!Rpb72 zy+ET`80v4#*grl|;~gw!;W(TLzAEyQP&Cn}aVc-RLxJsJfu=BAwpn%L&0ULH$bAoW(vx9=_h5fbtTqcvK{Mf z)njp7=KkF_)^fqYcA9z;EBY$%92gTqSZhE#Dg0BNPw5FR>0yNt*wQ34<=$ZE)wN^Ctg4eHBnGC7w z2OBWX>G$lnIdDHdJ4~!U?z-BQSs%JMh!E>>Xk~G*5sH~wJEMpAHD3mOfW+n(fnvc&vI=|m% ztaSxBOLO8)Ow=-Ht~^MGjZX&RvOUEe3YEQ{ugG zf10~1w??6j;$O+(UsEM$f@ zTdB61LETG+b55MlWyevLU5EiZye!YjRo1sb$5$SCHE1}8Tm$=ZyIvwicSi}JV)PkZ ziOtvgBRC8~2`LgX3d)1_MR^rlej~Udl*hPbSA|dJ5H{B_%P{{~P)qMHf7M?~240<~ zUDNiv{;*{MaG{FQ664~Jhe?D^gkk(#`>)_v$|lF6~pj-Vf5QYa;wGd zo4AparlmSOv5TtZ-Nw2llRirnhMcYqn?U) zbslz7mt?;ACKr-90{i%b@!ixY_avi7X{pLhi5?W{6CaE|#+F!Zf7OtKz# zMdCoLZvbMnX|_r>u~S8f^EQw1yr8$R=$6I~WZwFptNQEn!N|>a=1!jaIB)xo)mGxB z{*?ltW{BcGex&oDA`PsyJB!HzE@rsjtvoK^k_)3J33|W7sP-;CxEXa1r~mcf1Y|ku zf&etJ8+M0v3bHhE+rf2{u_p%Xrf1BbA`EOGyZEOVCO9z(IH)*J;c6NVA z%cEGqqhfH7PwOL((`vi+419)sP<|Q#@7uN{Gk5hMK5z*i(=woLhHd;Bf{>D;WIMEc z9|JpnsBzL;UAuG+apuG%Mx+6c zF(FQWFP4nD>JG<7_Mz9@7-qsd7PrIOOb@ian=={rFnXFxvDJ5dX)@GTo9cL>+jeJx z*liAc%Hu=7wgG`RoKn$f9zET?>0eq@^k+w zIu*Vs6*t|&TYfCWV0ZJ`=ho|laER5(SHM<4mmO=7e4h}g+t#Go(xjDl-&UB7Lq=DE zq!4T%yxx_^g850}O9j&VqlUmA5)c4YgZ?`~jsu!$!gAKg@z&D(!}ECIa`^?2RAMlw zJ^zg<5>@vx`{;VIMj$($b?(EY8QFhQwV!qoJbccdkg2Y(AHU_p#O#7MLxJBuMgJG{ zYOf6mt_AdkTfBPLE)8#MY5#Ufzl;(Ze1V&Qo|jZ}yHKX8>GGN^)~-{5j1Zw-%BnU~ z|27rUKU2UL7Sb@8?*UE0ErJi=hvF7*85vjz2;fREfp%=)bI7t15nQ<136Qr9sm$8? z{zJhkka^&gsJ1C(z-+AiqM?_QwuC!ov!mLUr~!9Ux^MCD8wxo1SKZPzUAr5x6u$d_ zW<}5zK>~R9%3a?bZD04WR86!yeG;$d&N_f%ICx!pNFMSRi%pS!XH{ydU4E0jvyE;I5$T zqUwFHp$emc#_?bn)*5o;zobe5M-{AkzxO?H9x7uW>jAp(Ut0~ygQJf@-rahRl8ZQH zHHzHV%43u_G1Ag!ne0Fwa_mke(yia*dOZSiqgVCe@54Bj?Aofoi$Z0hsYmq}+N|NW zV%%m<*@w2C1f2#U&LmdI~H? zSZ0%WvSy5tIjisbouWv?IlQW6t&@x=zpGkT!DsB{s+A^Pg1HEE;?H419th-GrrBdP zmz(+53QEazuUJeYBqP%w zTX|!j$tL$*eAMncc8#at$eQsY+y51HhBLvZM)0J&l;8s}QW&#J&TL^!%acvL)a85b ziAZy&4qwWxh&h=9FK#0%y2iEBRMITsI_qB|IvHLJ{T=MXXGd2=Lvv@_+a0G2U9ZVB zZp_cgO?=_!or&(NS18E$AQ7Z2dw1@*D({sv0ERLs;VZ!UiOJ%kFTp;g2%>5|qk zgR)K0;q!oos4a)f#ty4?XMI6fT(-BfSShk>md`E*jT!HWiJW05Q8bi_OT)T&s1iE^ zQ9%OwzPpAME%TKN)3cK5Ch71q#^-Ois{Y)LFr-4w)$!{$y$1>0{ovyy8kSI5>b2cA z6>kZ-uF<;g^m63R&MK9P3==qYsFLv=Oa5>;0aAeCCGi}+-S>hDQV(I2Czl)jl_JhL9yaGp7xeeFK*rB976-2ObzQ|1FLNZ5 zddkf}qD?_qbLe=SC~GMjo#h(AWl;BBMU?h?T3nkY2}~P$YAEft?1=%81SugrsMtt% zSSSG9mTyF5)S<|5g4ci&JcB=RhyVmsF-j#c2dayc_PE6?d68&9cbh2N^^#{*& z#PS~3S1a3B<)5v9UI)8QZRMgDOYQ0SpAZlTp%CnyFznoQ6Lt8~QbUBOCJZLVa#jGW zEaEVm%mr4NE205WDQ6k^Y+=UDoj5c8G<^`odLs?p-lz@HGrzPA1V;5@<8!OZ`kV=M zD-BY;VV%}>pUWRUvk!&gSVB84mcvAAC@&mR)Wp5R_qo{XDpB-LFwL@Iy`{{&A}1tB8V_7t258OYk|S&%^^2K!*+AY5_d&?#N63*NG zEfqh)w_Da|&=)XpaYlW+I}Mmag~aL1?rCzwX9Ni0~bG%8W>pH zP>Dyd?PcA&)f3`)`w&1i*zfuzgh?UkFDBFM`$-D(GnKWDR4`u<7Hl_!66;=^Ibsd3 zOzvoY{E~u^(}ojb_K_e_c6Sliw=;FY;zgJHBai35D%Ev zaqQghzVerirbfcJH;&r1aIGck^$@^tMdyX4=l%$OUt_2+)yNPotO#+0{8Riq#{=`w zIlruWp~Q*QqFiFDN6YP(7+kRyvB9Zul7IIxKf5AZuZDy2MzVisW~Lp<)P1(BkzQ*- zb33ao{1MBqk^y}8iRkw*t@l5u-R-qTk-&^Vq50PgAg=>&b}$C+!A5h#1^vyE@F&bj zUv{KKS5VWs@n0G67@4?^<^d|6^}{sMtO@o^i`-S~m~ zSa}}&-1r7HVnq+qEhr9N03EGiAUMznJh*58S&sw$)~NBC?DATv;iP4jt)h*)(&hU% zb`3->Fat*R+6?NZSW#uGssx5#vx zx)tL-X+j*3W9Eqp(5HSlAwnebZl ziq6~yaOfU>Z5YrKv)k$WDA5voJ7RCH^d(PX{xQq!Njxk$;i$$bP}-)xCZ79Yh~>wC zf88n>jya3rD)h24!#b{EA89)nz5hbXnWS2NT^0Z;#LHecm{);cb@ZtF#}mM)>35fR z!GAjaEfHMR%r6)GdmnN>pFQ|b^gcuQzvU3W5g;T}Z;bxZN@dFFZ`fe|juL`@tZkOY@}m~)+xVs2{BgFre^#43zZ4*GIX!9Duj$H++d7ZL z*aF2Yd2AAGN_Ud+FfntHX|qK7*!QHUk~I4V_Z~R?DgJD7{AhNI5SKyN#ORvE#~00K zE*WfqVS;ik>_37764#sb?;JiTj~l`I)D?k-bq;OeYavD_KWcX{$?#`6KKN;xGST8V zRah+{qUsB+l^icXHjS!K#&Hct^wS_21J=2hL(FUG%y>cCKv_da%S%MU>GsHd3@$LZ z+%cp&JDLGSH%V-v;#^1N+BsLNYzuPftDHJ0=iXU4_ujo^;nn1Mk%AP3#DRdK20=wA z*Q>?>-TKc%kyPMM_8nsUnHkuk=?`)zo>@urZ+54_5M;)I%vY|ISPy>qZ00i}g^6FQ zhK2O-s%R9Y(Hi|D;yC}XQQx$!k>EU3SA~`#kMbJ-|EiDl0P(10*u?b)+vPPib z6g;A|erR-SuakGp>3Ft#epC27j2A7VTFk-KTpa*#lK$mNV^8zfLdJ9hw5`;7c=bt? z_ZTR$#pH^i))K(QbNOhnzEPnw=Fs@B2fN03j2l)kDth}orVOfWG`OptYAxKt;5Icv zCaDohox6KCu2Yuy)U3W}ivVoS3bWak5*s4u3`C)9P4y?$N2VDcgC`Y96kTlrNDe-^ zaKtgbI#)>+djv$0sVW^fvEjgH4*AVGD|jSp#1k~>23>i}1-1^d-!8I{1tAM0ZJU^J z4`!V<%6If!SOyZBU#O)FISVHZ?)!ghXo<1yHkaZc{`FbQUHML5Pyz(zl|>}1ENzwp zLT2PYcIm{u7PJ zj-H8rgp!f)6WCzblMDLycDdxB)8Hr6O-5M3DN=qnZPHpp-DkgCVd)5BdBTsGn??&Am zhgoD^;(R)*qNyko0ggcP?tTQc$i~$2m%!FbC0f_#Wj|3>a&^cl-%hV&4;ugK>`dN0 zg`kccei0cKe8mt~K}5U_cf#+*M@oCKp)4rovuuB(=9{C|4uBWchtu?>@+$qvY@`|K zNZV1%Ov95id%r#@FWQ_Xk~YWY;Kxm&iFD%%#Kp&cDd#NEi|FM=!%vFhS#Yrpd*9{z zI{kK}-_r%`^ZI|8o)g%m{9KMln6V}Nc7h&9qIW5g?TeOo9L*mOVnKif(@||d4W}8l zXf7ybs>pl=4|q5AH1%bLW*3j>WImdjb4n;ZI{d>Fd(zn4w4Zli(VSK`rNYYe1zB^o z6#Q3LY;=Ym6}=qQK5hR6ruN75%|X4aDWOwmH|7Q1|5@e}J+P<@we@y7<+NINP>w8u zB>Ui}&;T<0-W)VzPnIvi4uu#CUn=}moHweU?@HOlAaLjl@1IsRVPVB7-X2qS2*>5w4^R@RKK}}&R z)FDBIRK8S>dsXFQl4BsF^IOT=V1Mur$(_8xJa$Q!c4OWbh*$|kAqT&E!{pheeagNuW4REyZpCIxdEef2 zhunekkn2x>g2M&@+HX5iZ%Ql^_}E!}c;(e`qYZmbX1#EmE)26mW=%}tkj8Pz-mdNF ztFzO$tiJ9LnpeGszJIm~T-nGsx{m8QX+IS9%zq#(9^$?B-^^k$Bej4~BBP7r(Z~$j z3ZRnJWUVTnphUV;8N&nmuA=Uie}j3`{*vZAY9C8Ww(8EsTfP*}9oQ4)%&7eRv4mah zdCt)%w;DOeena6Xjv|=jSz7HPwryM42PN=F0sDhnMr?4-uqAm7crP{1)IM zpC`4G=)UWsSKrT0E#588?=%YZn+Woez!ISyI>;ZE=JW z@2paNk}1dYNrBjzUY7T7;OH_uSO=TrE72-wr&n|D0)hUC^4%=N8a9TIKQbi0W; z6x0ndWL}t%q%|4{ji7noj=rB>3*f*6GNQoueE)YQN|=VKvR?~a?AYTEe7~5SNL9Ps zJAS#{W`tGsS$;B}NjYq|wlKF#@dO`^`3IjWVq6m(^tq37+)%`g*TrS2?eTumE3Vau z{}!Q-tM3UpE|3uL4u`vqTS&oo%O47f0^?VQecV3=uL_oi8A#eDqhGAa0SM;on3)u@|x4t06?DOITt zeaE7>0C%V1)t5s&`l(UL4iKjbx6S^rJPWGB{Ih1&2s?dLNpvC{lQR)GVI=TJ>vogo z%!0aza&6y=;P<4zL=1M}cyk8;zk@;!)n-4@iu1O!Yi0-Vmc2i9jO07Hcz3l;#)hsirzoV6qs z^V%ZUcF8xYx~J!EN9RNebF(@DuKe?yvLXFOVYjjgW5J7G>07Hg#AO@gUP@b%)M>dO z08XO9rcM*2bUX%kmNIn<4*nea(s*-3yVp*C$*M=te*JLWBwMMQnK;b!B>oKjgYe)F;l3t#Pr+SP(6S z_(NOm0J_ZcN*_R%%=dBP*`kAxT%)7gxe>V`^GTV5)H5c;02{-$*+&LP-BE=TPs5N{ z!am%+ zYkwDayw`^qpT)$E9o9*sJSMu8TaDo9W>=L2sJf=ua--Qzvel09ZlhGWvQ5k{Oi@U_ z-$LV3Yg^QnIOb*X*&FXt=W%OLbM9F;{$a2=2AwZXDsIwxyCFj4$U*Ek28GUR zfJOoJ+g+}v>J$!L)-WQauwwPQ+dv5X>mZgnL*v(TyyEbCeOF7&r{|sX_5;Gra50iw z_rpHxb=O*Zo_A*{i>7YvQW&gLeD7(nIJ^?79Xi7qVOQ~vIsd6pt_SG-5SsU?5#c%5 z#;AtO3}MvZP&vViHTUj@-K^!nTVDJkaBHKB$&9lwdi{&#-p^Y_K85b|;$m&AGl)8E z){7fP^dg$OB8q83COhWoEIO{a@#5Q~clqj%StioUb@nD*C6sQ2oy|RjzPE#Z-^E^a z-$FEh79&jf@1!7H-_l_>8QrMT51>#d(xl-_J*0{!Vb zrmJjcF|=n3>0%lIXV|^^3u}hKRf|e8)&gD``F&Fv9^PG>WMjOTH5=Z# zi>~iu)-)+^6_Y6rnn9A1{PqvAS<@VASHcKaQOVEUwq*^C%Om{In+%7PChh?SL#R%E z$wct5XYkMqj3Z*~GUzi2{|7`syT4-YxgLKO)8Rs%>MlNp8@j7Q0YVseQX(ticu^}d zQ($~E&;w^|G%ky*Gss&h8kyTV%PH(iY0#rvTe-DS%UVUJuse(*?H658mJ4p0PyDxb z68v)SaTF%b<;AcGz*5SXs{Iz#?v}S_Hxf5?CcbQw}UR&zY1HbXcw}0fA@`L0ly9%(Fd^eA}l< zZzIH3pvigCn;&N8U=cXXazSDyJ)~WJJV|{y;MLVB*{!57ETTAFv^eG1yBOMLX*RYC1820;xE8=Un_468n=2DQw?PkYDMG`L$M@1gB+U>pBs1Ng~?=5(FVT`ig?m2% z>x|iJ^|wti7e_6>Y1h4o4R@}867dl63J^N;J|o5w?SzrL5iD_K1?;ibR>#TU5Ugdz zXSt=<_S|ERr!tC#OPgHoM`wS%_Xkhcx^J-)?`^)pa%-sO-R+#EavKZig`m~~!LTK; zFv3_!*L1ynGOwVs1`i1`^X#zgW}v3tWfCe*%fS2N4w0R*>0DskY#fqg9W<22l;7wR zDNK7qbv10953_UJg8+`a1h%@^QV9l6il4$H{&K5#PPp z=jMNVJi=dL`*vJHS#1HAW&t0gV;P1Si$tIuL{5P6mVwF*BOqAPp9Ex$^N!c~xyRLx zT1c(^_<$xW|58h-y;ghmp~bnZ)=sCrNyqTfd3hNxLRm(hu*GVBA2^6=YgLo@%XoU| zVAeWo%0YOZ0>3|B_Va%R$alcM^LEhubTjWiK=uvMHzX}dhmxS6gOHcCbW@@_%Q3{V zBp%*iSeY82C=fdBI7m0y1!WA`B{tX7Y=M-=_~*cJ$Us>cLZXDmFB6TdHFvPfX$FJ8ERN?v{| zBY8DfJ_GUox*~?IxrhnN5)A9|Yzz>j!OF!Dgh7=CvK>Oe74zIPFlltI;ihJ{3og_lV7@YG#|Zzb2}C2 z_dJg3&E6G}+r{G}setf;t}KtH2iY4i-U1YDO<;UMj|@zh0fJfsOV*QFyf&hdx+z6; zDvf`${ox={T%(D;uO;phk7dept89UtChfPz+vZ43l%8a(%c3=3)we=jNHN{H(_yGB zsfA|VN?5Vm=TX2fJ?!IiC>}S#-wwcfJ*}$TTk+A4zMjNX`t#c?e&~woe5UtZaX+%@ zUw1`i=(-h1F4P^M%`)F&FkZ$VQy`S*)u1~*M6~CvhqPthfQ9Km9K|!IDzX_F^BI|2j0GE zB+Gk-TP_b5`8^`72ZJ|AZ&wepEE#_z$gDU?Dxa0Y0;-ZEz~Wvl^1zIjr~Uxm`jb7V zr=*6nz#pg_PmRJi6iq0`gY+`N9`J=_$86^p-pJ}>IvCsZytcxPc69WGJH5;TKZMM^ zrsceSAi6a-gu!S@>|a!T9t!Ac^AAL z48)3%IFu@WnEk*w>7e5^L<<|>6hum7%EDsKNamA=x$ShzBC%~iHO-#JKG#g49z1NA z&8*->VKFl8K`ZH7r%8HQWwyDXDSOn6WPCX4be1X!9hyqe%E$G7zST3JiD!$^?%#F6 z;8musuv35YL1_o+iwyi~H>fpF+vsSW+?tM}x^z8>>B%zqMpAy*eEoHa9{**D{^8y7nB0Hcp*_sINVx3a zhvSECed7@jSed23Ga~0_vF>-*%J)Xg{(9f?uo(u*9#pV^yO2%Olnq!Vi6IeQ2F$%8G5IEjsKUhvC|Gxr?HV8oWr9(H^q= z4Kua|bz{|L_VTW=&G~<=z4T`NXxATzJ+iCcH9eM>CHBi1zV5C=d2&wMH@D$^wp#)8 zvGIBk?RCSDX^N&K;*vYl4aA71%z;9NF%V@a$01Rmx&kg2uy4k02*9gHExZ8I zB#?rXwJ^vTpaKS!$nx>^<%u(#%o$|}#&J))CNotUZqo0@m*G$va&8`M+_{*uMVJNi z%dFPi1i9g@&j*PeZt%$)dEM287hA)wF{_VyPFSYdKWnBDc+Ctsfk zSaslg=k<=1xk`>d?Q_4=G=CSbcQ#Ad-ZfN$>zp zSS>;P(DX0}%dL38u0p2Dum)tW5FNoVlqJXr;Qv@b#-OYKN%9jZ*J)|WR=fhHZQVo* zZD);er`bRe-g9chCM!QqHr_HblP)M``q}E#XrO=jm|bhMks6#l@0{bPcAk&oR)TAn zOKacf_s`QNpr8zDW!{Tb`Zw^RK!HhS=TCBQ%7cD;%y`Ayiq8mwS_y?T7? z6VE`w1@Rz>L#B;{HxV0ax@ncNFj_B2`IsN^nI)gL z8nG}cijt$aoC?pFL$?S*@Pj_U&VX!8LoEVF-K z^5BskQn(L=QC~Lu{@IfEY_iAl`TEHXG5cg4=Mb(**c^BwEJOCCP9guqfPBSqIoL{A zj(Wknwd1rNcC#JH6%xCTDb~|R+X+?F`m{0wYjN2vC(<k0LY=^b9!xNz)tP>sKTG=RbbUhzUEnY(!_Pnlx#22C(nd${dr}kJaK01GwekhiE z_o@Ep#}c}~bAI!K$vaqY*H57uV**6i-liUeWqo}V%S0K9fz%~UxS;37Jlc6#bYqH= zTuYxMtx6NBk=vC`435rvs&S;#>Kk=69EI2_nH>1#F1FS)znqVc(Ka%aGZOBTL#=uk zDQ+<_ot#dgm841#qRaoN46%Q2J`$M^AGbe3^)bbH+XddrQs2dqH~gRO&|hhxAC*yk zGk3@R`uR!;-Abr}P!+`Ju)Q)64>PvOfaVOSa`1T}<71gPO5zY9zv^x}J)y=@h%XAp zn;9tYK0ggC_J?)*kc*P)FTemsoR`}P1Xjl0+u<#wK(7&S%)PcY=@Z)X>~|sF_r_8tM37=X4X_5E(jer z1x+yo&q?>TGjxLNv4D~AeIp{JP92n7@GX865k=XU{)wtV zX&@#1W4q|fqZ}KSa7eG{^|SwJc7as62qYV zgh2XBkNZE?1^?3-o|};5I>2H7dAs02)K>X#)Na4MBs2aiNu4Ubom&6rA>&7z_jmPv<0){Y9fmEDIhQO+mcmzVKoTwab6R2tq75)1<0F4_(+LCCQV6u|LrZb+5dv14 zwJm>|b{zr-H7<_3)(dBZii-<2Hw2~BL+^;XN}TNLgIcqL)8@P*?MSj_hy)SD5onLeB=7#ZTl zcvYT9Vtb?)UQsO=G1f%kwNnULlstmT`*9GzlT&y32`uy<@AZ7uH#hr;@bkS-8v}pY zzl@))JMR{IxZkh-y4kvMRV3qpFgyArkBrnZcZ5^UBlxjr0oGgN3 zNCxZEX&2-BbWv-M$fSyaGL3_KIjDcn5!w&y%08_1NZdbOd*a=T|J$fTu&9fJ;syu8 zj&ex`h!voZL5Yd69;7p|zIx~j7pRl@nDUeq6;*v#C|y`&z(7$WZSEdN2`lCrwe(S= zle!3R$#PbA)2*KhX*3ipGxrXwDW1vMDr4G`K6;ZKnfc7{&sw~z@b2@(HFJO4|E#&Z zi8YIdJny-e(`)J8hia;K&CmP4dz5JWEYW<396uF4?D2lwecswjH;2Wzd^(x?hn7%r z;FYQ8eO4p%TRuSa$-7H>-@7QCwEFze{SPeLzx=${9)9{72%X}-73F;){j4Q*6BvD< zfdny>3+`cImO51SEYu3dB+t3Q6A=9)(kj1KlD zV|n5Hp)n!dsLIb(Wv}I?XfsCLqGgt-?cI3f4Jx)`B z5d?*y%uB}7;)ZTr_{tjb(OP=i3!IXt`D9xtBRtN5jQTs+Os{Rhx6SNW0ZKHVgR=E8xHDTKV1hZ;3PcDBvyNJc6-Z#~ySSKq?rdB({U5LAZ zJ~=U_fXcIJ;8qaAHgg5Fm(@gWPW$S#Tiq2j&shBGaQlSC`+$Qq3Tn}W=h`?%(y$qr zG;FX8qyi}#XPv%Tn(MhQbMC_aFrvxo41@`!%f;btAk~Lp)o!QRa75Jm)4VzvE8`T& zo3($ABxAHlHpSLlw9bkzMB<2~5#w_-8jgI8O(c68E9M`oeSIsne=j%r(0g8?{Iwn8 z4&M8Yz<@#-TtLr;oSz8`A=wv4aKK$5T@=G$1q2SbKSujKYLH{CHFRUpnj12!XgiT} z*AK03HVmbV8f?@>MwRPqJKm5JMLDS0fWLoO(yH_ZMKHwm?HUv&HmsPNa=-7k;@IMK z@(t37(3ZaqUu0(%akncKl2!o?sPLt`FnGBylJSpOi(rhth3 z9!ghFlC4Nthqa2&(~3Nz!!gkvxV&gGMqa6@y3;X!YDD#-4zx2QxYl#b376w@zH5KE zh&qa;GhMVSJqcG$F`seeNwEJUrtbx*nOPLgqg2Ozw57$B6AyaF#YXW8*x}MlFvsam+?R3CO{J9)#pH2XZeUC;Ado9`WknRdN{%LyMah2`!}B zgt;gPh3v={n;HXB2`F^Rji_Q=G%9~F>5QpPT1|vWb?ETNdcPvAZcUbzu?$8SC5gC4 zDb^HL!P}bl;G%DX>q{xqA7+dn)&Pvh$LnCa<%|2Oq@WGNfD%J-(3zr~Wpfy6g7XXM zV&H`-i=v%ZC`24S9#|-QCYxF+?A>TupS?mE)@}#VVMPqc@zINCM|G+d^+L$y(d6}D`i5igTRUdJMBJw5gRcKCpt;^YKWZ0! zyg@wO`0p2mjDEC>KCE4FzI}W;b_@DJ+@?v7>w8uK*+mjCOC8st`m*1q=@JY~Vo=w- zzsWbn8tB82w1AWGI zvYw75cb4tci%B|r_b^_b-R8c70$qDMhWcfo5kKo442G`H9$b%}-Z}<@>;vdNoU$NM zjMBIM^dXJI*e@z|5ipskJ@yy~`8Fk9)tVb}`g(m{Vtm(ncxGVWOr7me|Yk{a&|xR z8{W)aA-I3Oma)4>lQab~Dhq;jkms2U1VPuDz%Gm7ko$zuL4x~gVlTLV^C*%_kH@D` z##Q6diQ$Lmw6GgeKP-Q^Xf5LYC6LBM$S;!J#B8~xLQsrWn&T+XsPr2d6-v{Z? z-qgp!!jyVt-6Nvl);1@qf5(A(Gj|2z{`uKo2gM@m_GNm3XeS)jb})*8J01(^LkpY) zlkhypdf^CMjs-qfxS>eXm93vidoE)qUzd)4PQ^6rOc=F@kT8EHX)8%U!*Wc`{a|R? zyVexC)9{?gQ;u5)Q+;{V20OEpbaj8L$_+rgXX<_lig$xO81Gk4aDXbu#Y`8xXbkgk z8Wd9u-02(KF$CmJN!BD#0O$oAjL)GhCSjjmmY6vBF_+Tvdu1;B#Zp7}O3s zNS(9y6r4Ln!Tf(vNJNs6+JsQZHsxj)b~vbp^1REs#hd`4@t?fO+>L>btiL%w^fkkC zgVgRDUjqO8xyR9`ti$!zPtpBq`wsNiFI=OU+n(1S%ffAo0N5QC79@zuUDtz1hVWPu zq8i2mi3{tzz}&_78FoGi)@&scaf}v|25ZQm87?!qFBz3bW)hRKXO$SSs z4iGtrr(S&)3sT-9;)Un1a!HJj+$j~thZ{TbZwkXd>R`Nv^|uD?PhfqT*)(V4py&ft z73M*Llg3ySRA`V%=B&ONj7PH!OH(gkO(_4QtRs6rh%}OEm3L zVK&Q`~Z$zc+(J}??&;Ebk8L5_c9Zdt0#nU66m4Jb|Mq%15Ni<&GF zWn|5=(A;IJRA;eD0&fIEqJ+s!{1(lMC*C`T{HSw4gqOF`NJnx$1;z&U< zAq{_<=CTBOG4PI-8jVqUS)ydb1vxkJ;M(8Q;2$gUsuzi2J7t-&>3E zx6fDc_HB6sNsx)VFl0>dFqvyxN{ldJK;af^Iv~1rJrKt8!ckpN1Gn*ZVs}cGl2?$2RbqdhG*{)<;c62`Cb5*#IlY@8oJ1J<*;CGI z)1V$cR{`0?+`a2jdOw`|nr_8@s9OAJ^oGgPjlLk@L%e7@eIZMiU_pKiLkYAmHU~~A zFtmLWUz>vDm4{;F3-RJ=6<*?cDntUdpEQD%r@S(=5W51NJ`%R`R=F?&kD)uG8_TZlmafyCOq(2AZ+{|Mx@~cs*3fLpT|kVY08N( z@S4K(HXS*r?;;jYTxKzir$OlFMRtElo6tapV_Vpxb0QEYmLWzwMvddyP+u08eQ>OI z$Di(>U!eS@z4LED`Mzg@)C4>b0>>QGWlYCG364Wa6!NF=Kgc>+{pt@QiSMBdt<|o@ zq@*0Cqi`8*lJN$Z)aooqhGlB55CVsUm72WBiu-N#LiuyO>#yF^J)iPO1AHASpAs$~y99mv2CicZxQ(xO z|LFnSKfjlEc@?|^iepH~kkT~TA2sz@*tq-3*$|;Xg2n@8jiuceF+c7G1+_gd1XK3J zZp&c5DgT4_@+rFc`d*&D;p5DBTV&pA-Q8!#^}T$)`^C%r;i0Y%CU5WM{rb7lD-JOx zD32g*Lo(ndK@s#sMjo3yU@+ci0zHAH~m%={&Wt`Y7#aF z|3y&V-At1qVb|we5~mpg=m^Y$|GOAQQ8-Pygh@~+EG^axmjHg?ZgyFNC^=PA7SLZJcDHDWzah%cT>?F;{NbV0Z!ZOS==d07hoV8}gw!0+u>9Em>H1Wvs zLPhx8ZQ_5^Hq@|fVidD|rH86d8k1^6BGYs7hYA^QljK9ivNy0^RE{J58CX{nwL!UM0_pRPK$Jea_9Cv{o5gg7B)hG4@TGs~cW=o z2WWn6#y%Upf%kmpSqKLCFbmvE$7JoEn+2|xVklVC7}^G5BZhjeOVF>Hg4^A0vpEfx zVsfnA5Y#{@e}LGjHpYmXpqKOPjO!<4d9p{-IoXAnF}%cUBx(lq@wi-T=3(Jr%2{2? z;@N-7mYZ@?+1p!b;~O;B8TmW)uHMYu;kZrq_gYuij_^2&f&0MX@aQN-_mm8Z!xHb= zjDrDtk73*ku_1)s>F7Mp;y^)?VJ(4TIXo=M=&0Jn!SI)xoKWhmrTf&G*eZApKcYm| z_#X2egOVL^x-J8I8hFd_JhG;Ym361-`p189-vh7TsM+{EUhfqfQ52^kvFA~J6?z7E zhdz@EQ;sHSp!{eC#Idm6doPqCxgN##a2$J>mPk%JJX@#jdb)ArVo9-8eV}Q5aA?gY z+@8mEu-=ZsBfjW1a>H(oAp$az#rkZK&2fm#i!PraC_9aB^)5aD!F&aR`5hpxX6}Dn z9zhY1;9@y&vPg&WSlHN{{^TvnQQ&Dov_^W^t21IGHVVAxNW1L1jrGg{p@%!&%+9sW zi<@p;mP#$I1jwHv+3COz=QWC=Jm&@sW20eRJ z@44dd?)NF<@9zK8a?PKN-avf5^OS!_#%+uyEW$HA3$uDaMnX98#ghVU|kea z8ZQU~pIT(cU9=5K_(qT{JD}uin#zK%(K}<3MBe?Kr92X+{60pWqh=uc7SM^QY+VLU=WKlRS{1wWWVh(;|AI z2M7MDYcdXn!$UQeYe zL_=#aOvFGd#!Wlk0gLRJ^wLY_Tn6On3}G`TVpj3MS*w;pkb@mB&8(w92D6DjU0U)V zBOuUbJr2Zva6cdSe+{{Z!5eaqt7r0#Apk7ML4Yuv1IY|-6BKSbz_)*ct^-y!P)Fjp z{VH{nP;!~mgIjc;P?5~FK~=^dpCsc7te=iA<2NcutIT|3)&IZg)}p6 zLqZ>f5-?t97(#!Rg}s_|?oP#w@#&0PizIA!;GS)iaW|W$pv;+YWIztLCq&84gl14` zl&?k{tqtuJu~n>muJG>FZV~v zqkMIR6sv(lb@hw(C6-?&V{lOpkxs!>=RweHJ`pb#J)y@y4e; z=>4?jKLGD)5vFZ@p6f31!BCRTKgVj06yHQ0IZz z+#^jGRs;tMDT)ODnB?pi+1)cynVXTgb*6vX-WZK(Cj)(^H(>0Eq!q@|$>%to+cD!D&MN5emjH+o$M`^34PEf+W7T=)VSEn=Oov(+UwrB-6nV~4PABjrc<>GMas{$y?%Zsk)E8Hd3 zK~X82i8{GlRwKD1if9qeFX1Fyn%r=s%W@10IW{9U)A8ct$htZp=JlvUbxN%=uZnBz z(H|wozBIV%@BIgOeg8w=vHSk(fa8C)7UES|2GJQyf`E)7TnZ%VIK;XX@S1%eSQ2+Z zCghk7YrdGF(IU9W{>HA%lBo~7(@~Z@eH;}nxrw`jt+cD-i60-F!rPqOk%0(QFk? zyQ_qV`+7tN?)|7>(-*_vzK@&Tdn*;!iMV*w!_e{PO`7O zj2*5gr^OjdR)OH!oBb4GrtJl3*RbQXBR2K7JIUWUM%+?p}Y!?bp6R23yDT`}io0$KF zUBBtexAoOC?$@`s`*!)?L|?by^Ms*)#sl4Ky}yX7fqP3{*x+r9?dw-#eF6NwgjP=? zQn=+YHV*C&&={|(M$|YfZaHBqNLgnKoJIxhWOpQ11gx=%xTYrlDV%?FOXDz8w3-HH zRUa#77L&z&wwNCj8QJZW!qXF%I9;-Ve{xjOE*{_)FieW_QOqnj9Rsfgx4rb!s{E_} zDqR0gO80O5s2;t)^LU++Z-#1H2-<1-8@^2UF+GncisX zUXF(q%Z!3z6Xf)xrQ@|a7(9Aknyz;viGN(22Xs4;!P zS#vv~Obeci#u9qSJ0qi(d)Aq3JxB*o`Kef(3#;~G;h{%raHdTHB!n0ad0N`C8QUTuGKWB&v_WV|gL;>8Ub%_q%wDCo6B&tz80$H|zfcYB zxR)I@A+VvU0?B{BXcQU-8%qezW&=U$F`}rIJ`Bckwro=cb>f_5@Qvav!qf7kVrSt# z2k)tldt1u?`L7Sx#E0uIqG*@FWiIH<57=LiuwPWCb_ zjxb%o!G(C#re83tb8X8lm%CYdkdK4(eA>*@`FcH;#BqP%U=Yo0N1kW!6VaJn_QUMV zfG&s`WnE>D7dCQO9&u{nyCE~4=*f=oH6*oSt^DKB*qe0re!#QeKA*7sjRetGtlpDD zILh|*M+r!o;lSTpkeVeJ7IKXyNuf0Dncylq4)tP=;pDCuT@uk+HKJg3gEM%2vea)M16ln(b{Y@N2_puMCw&l&hpn$y_I4fn9a64kGg--Q}SSdAbT}gP?+XyU3pQRN1A2Q zQG{!2nC>VJY$DI1j}`k30{RmqS6$fW`m8_9^nZoqYT_1ZFm@kPkS1*d_2YrR02&Do z1J@Rt8ewI{G*o|U%(L~S#xygaq@jd5XwFP`ia(vYlsaff zenQEw7odCX&c0Jle=6+Oweq>Rlv~h$HLe-`m6(sZQ@0daYT?G6^9uA|XmV&NO?Vv6!8LOG(24tN+5WoEhyf*5GQZiH-W5E@<#*E)IB$$Gt7 zeOF!gR?ilovx9qss((t!_Lh3M;IHTNd?*W4y$KT#7-bgpgOKO9NQ?Gxi-UE&FNcF! zEb$`b-v@G}(BetX1^GOMY}!czj0e zz>;$uP}Bge#8EVdx)cYC7!9Nd`6BBx&h*VF;)eTrs-%=%+T-0tqCs^>(byB3KWB~4#j`M;sNqw8&dFC zFQunAkHBn>gOrE;BB^1w%)yzjcKsR{?e?&Dkz7{#8+RvF`Kq-z#2*fvL+9oPG?UjC z67P@}DT)hkZZ>$#pe2@6XKL)I{)se7JC%(+H~c}PoCmPC+8_M`ek!JSuZaG)T5I-S z?4$VXFDrd4<@a?ebwD=x{B<{RTeBFB;xHSeTlTeD zY=2^#B5e<~dLN!aZNdT99edSj6ORPZrI^^Y*Hvr^<7&QMw8W|Bm4U!Ggt{333L3M zOpmRCPMf2=s%N6Q=~T;bB7WbF(!x@X6C^S<iECo3w^{8G9 z>B1Dn2w)3dfRbH;YUiWDMm#f{8Kcg|enA~Cg?AZM7u;B7rLi=3DH$9NlM6rW)(dSa z;(V28J>#(1p9elak@(fX#1ctJv*dB- zshm{{)9imzU}z!7o|tbS2heg58XhPAE(P$E6zbXjYYOU){Jlflo8sovolk+{ql?=Q zV85HYB7FaR)!p1CGe3YCgbF`hWhHDpDXe>yQ&Uu|%&T4-;B;5T(LR)i%?#*_(jb>J{)YYxd z&GF;HmPMO1io<<1>wnuiD1u))nDJ)r4#f5I^Wh8Iv0?gRknAKOjf8rbMOnb`0nORh zs^J_C^1c@P0tm8YD!FDY2j4m~uFjT4u$-qPHa%hU+OLIGwJFgEpB$Em+s*OHT)G7l zAKZTfvRoR9HeC)&!Q>|h(~PVDF|C0r70ByJd{10opW%bU{-{m-J4%a(wJT(|k576F zyD#Dc>Jk_qtOI%^i-7b4_@b<3*%scnL1!osqP#d^xdkqeJVBN<%wy zgXyXB1LlCLk|E-rFHj^hnd9NqC;SnLucm*|*{mjnK^Cb&E7*i6y>P&{5hJH!_}Vr3 z=yKve=xqF{R5WB0?5JL%pCXyt^o!5zu4zaNDo=-`)QBoG4`VFIrSSu>}u$i zrUi)=5F3yff~*h&dkf3K-hz8H_{fkg$1LyvIj(;sRih8NTHE8&X+u=C`&_JvQ@v8}w z7Xyl$U?G}V(uq_i148phLT-$2YZn=LPb_Zgk*;8~e zZ>=WtlFeX_Qk^vHnk8rGt!VG)k}xzxrOY$G)W%BlXBhvwc1yXz@x&q|!3CUH$L+V~ zYpbZQ7507z+{4}#xyQw|-rgNL3`Z@Ja6pL;n6co>xqSsk%7QH!2f2prfmcJ(FGk>Y zl?tc9AldQ31XD;fKbwCLy}TB+#>aL%*1Kjj88hFfHpi z*E>_ZoOSG2MjSolx>_9my*|&65%}St_J?9(N!l+wFRI4i+|RTYH)B1F*AIW)EZjm3 z$8u5FVPW#RjEz}9tAVW8>kEc441u#8O+p?VeZh58(-Eg@mr#GVaYdqQ4Ij1DT9^m5 z=%gJ!uG`5(4(S~$Oi)*9y`mG*Wgt38uuJ&bSP)y~qKA?)sK><+73Z+IA9MDxxfcKR zD?Uaqu1<<)e*&mQNYFZ--HS_T2(J2C0F=kEG{&&3icq7 za!hbRsYitW-eBXG;`?`lJqqtv&qV=1K1`sXGAA7uBzlYkv&=>@(j{DuMoH3w*Z?Pp z7mAQbu$$eAT9_~GgQK$*N zC2L|V-m4c~$g5HqC>L#pb|KYjVjTDCG&+7*AIlg$O$rTFm!nY3F7`O51Y}=xXcn)7 z@=$UU-dlgxn~9)Pg*%H0NvjK=K)6x5-|oBt7E_ve=sJl$2?=SN$6Imh>ytk=^Q#l_ zPdiG#*}H*o-^-tRN?R;rvZhJGoNz#8?$Vaa!kR!?1k1662ca^AirA~B@8BG}_!?bV zO2e;tL-Wd^$1hAl3{blAOv4P&M5Om8Eb32o=%;_Rn0wa1M|K>!*>z)@%vDL*kCUBV zJB=)ll14j^hQH`8{sYhOk3Qg+N|5*;ox}hCoWR?rae^oLs|4#W)6W1sK*GO2n=}t| z{iu0-eq!$X?kld_OU8PBlyNqahtP$UoyVi6m^Ri+Sc@@b%2|V7l&M;jc7|5A1O4=ckFmlZ`D25?3aU%$D{PP zC~il>0Enk>oJma4E{TV9X+U_Cx_6t{P`A)!qILHFfdi@IuiZc)5 zF9HWr>RO-^=qVHyVA6cC@eHWZY)-%|BX{eN6l~dlbT28Arw859LC}H@HEq4p^6=7) zWUR@zI}x0imFm`EJf0#4K_rVqJjp3hAop9eJtvWhxUVPKr&{9oDh1y$2iWIsP5|n^ z{?GsU7t#Mg_J2Hjz23#P?q8=Yc>^g9Z1;4{f;=kp`fM( zu`NL{s%$e($7Q2sopY4Q0m*Olj*!iBAkuDE_3SP#>Rq`r8iS`t^jNi)(H>u%tU)4> z+kG02R*l_E?;h7FZT{*zKgKXBA*b@f;r!t^dop=N<>~tBhTcXQ2q;0b!-9y5p-BjT zqe0YcTQm!3pe{#xBw^bY272f3K~d#;iP}7a4wv2$Lz!J&3?!>U9633p>(wN~*X9Bq zbeRwXW>LCEJIDFaF=ADIwvc&acW^dMyVY4w7|D=#;uDNBmVc)h{f%$gIu?!M7DbRaZc;d~ewb&YiUGTlu}L4)~)f_GAzMdAhn*I=eG{E(6j))?)f{UVVLC5LIHJ0AnbBP)M*C zh?z;3sY6H=)J@bB1;X`fA=pH|In9iTJLN&g{$n|N&YJwrq4u00D;aou1mIv(1k;~?Fz{T0bNYhs zB!-e8?nV2Y+xLjbyg6%{;YQ`o)^bkhwv(b-TOSu&CMM#OxtWD5S*^80Tr|-RRWph9 zT7jSV<+}7eCTo+fOy>kWP{kY*T3_Pm?hj1Nw{52GuDMwh!4cLo^2X+Wx%*{G_qTq; z#e6XNhUopemtowAnZ9~|j14I!Ah*CD=^G!S7Gy4AUmyukc9M{)V;JzWzlRh{E~*Ct zGuEoxP#=}*eoq!FmkY{OL@XxRxteI9JB~V*rABsVkI8X8nFv#eFVp|T4R?Uz=!*S5C3PyQ(q?fJ{}8*SR_xdb`r-&})wd+%?c zPjJ7lKeopbAeMj}ga>{U#G@XGQ>Y8>6KfIHwaz7Qe8h|M1q6}|Cl$V!dMAA&E6sRY zS(zqH3wtu0^J>Kp=pi|}@I?u_mvgh+qtezcvaD*!(4b_0o#&`l)TxQ0j}d|xZY!OP z{@}5HkK_mG&4-Nl6Kim1*58Kv41SAit6jQK++xGUr;Ka?aT<2HS%;KVTE9 z-16~oy+DG0jpi~8dlc!J9)zcMbkbIxQ0-{nK&C@dKcL(`l$Jj$$8>+L+;ys#C#wFl z!FeGV_X%7;!CXHjDbfh@QlhL3tw}6K=UwEx2bLw9%nIY=d zJX)P$Q%IM1VITBKw?g5qxJ-iS( zWuph4vFyotd>pTKlyzA#L(@>>J%VXlYp@%d>8;xM&6j4}J3_YOf)pcQi5>$oHw zVEs6V?`_bryx@)&t2J}bR!LLgGf^tZfmahtBoVzi*}0{9sk~(#>HZ#1<=RLJE@#t! zvZ55vX~&Wh?RTNZ#OAz6H*zw=XT!Nyt%vMu-9>+#eiO|#WS)Mu`atYUOC zQdTvO|M5iSqr=sgW%4dUyvMI^s_$z-vh>RFKkA-8An$eKJ^l10ZT_w#{}J51y*H?@ zs{5;wQnITaKBwUY08Q8a3l7>Bq^C0&LnJ|x{OcG>~-^09I4P@C=N0HxuM3}o+ z&iBGf-5-dgF}OA>RG&w8t#q0$oiu61b40jolWmC&HOW}Evo0!mqVzR(I;Y5y1L8k} zea3$cvzzCz7hUrlSJ&qWvr}JT`VQ3ZER|pFzG3)$^J$rMfrf$%I^>K|7xwkOXc6_Txn?>h&bPQvuJtNPkCP`fTwHm)qs@fhUKu zILKm<6wPsjg%jX*!)P-J7I)~r%hC1d_$yfuw#SBp!P3}?2bI~Y9g+)w+_rUW5ktgk zk<$nMsJix$XUinr(uP!{^Od-nxLAgSt4q1|BakDhk=Kl^?Zh37U6D?1lekBufW_K2 zi(hI*@NVyl#^d6t2>~Q^AS{7B07YqV_dK_+<4roabIX!Z4#Q!LhrKu=zEgHyHE6Zv zs^#jvRvN-)Hm6ZdoP=9{$U?}eX31EJT$<%N<2leB?*@Fhn-$I$BM!nMuOxrJKcPbz z#~bu=T+W)9nBT<}*R{wA@{^go_Je=8%)eW_;_-g@w8TUD7xqEY0iVK!700B2`v;*D zLEE%T;1-9`D2;ON3oYkx+RYbPJ3n*7^KQn6ZkvolNf<^$NkQprNTlmRi%V0IF&7&%?D{GydaY{@aUw6dNzfz4#=1&5V=w==v#4{L2;a+F^_z)e6;JhtklXc=dLtSO>7aYI&V5O z`ra^StR+Q@+>IuG#DYJ!ohU@Z!>Z$RRpspx!i^Zb2bbR{9#=X0>71H7h>GzX|9UBY zd1~nn-rs2{`NIkJ(dq-n&&?(8tSm!Xeg7bapdd5gd6vz9Sgo%=MVM6I1<~r;u~07v znBm512xEe~oOPzjS~qoWn4n(hVhfYaEcv`%7s<{u$H6RrJAuk07JP4_Rnw5uA(lHV zHp0+wbHNiMmYpqH`)nvLzzy88Eg8rHeL#B@x1W#PS8!h@G?#E z^R?&Q=mVAaJJ&V&wgOqe5CKmFf-eih9h<^!7Bqye4Pr}}fDCS6@QXFOjR!y=qIZg@7Q#mGIf z=Ea_dW2@%FIhj4LK>hFhTies!+y^+`Hz&>{&HgYOxT+Y$dJY4tFlus?N8l(+*evLu z7~t$*usO@Ay>O3f1sF^75_)OKk5i#NCOR$>Qx9R0a7;JaCYf*CQ?BYMkw}g%2jioo zE3m46bPdrg%6Kzdn$o6$XocY?&L27#eR`iyd80dSWt;ud$<;S=58V3CPed=(r#e6k z;F269ei)Q=Am2tgu*LxI3p4}ifqsf4UqmT7>5B77hhxNA*KtQZMH zOp1|nuo%>Pw+j)Sy&x09NYSyLUk1xmtjFMgFbdm=zc5!0=EW0E*&WWu|Kz;t500e* z#t*6VO+)iVi}4WQ|6Pn9=6Z}DpRYBUZex?Mz+WVYen^si)pw9aa~#Eyv<;*KWzviX zjx{W8FGSG>QM$@{9ws8bf$Vly?OAcxjf71jo_XA4y<%K9rd}%ka61v*jf15atWoHH z$e@vfBkp$k)Y6M;+DyV|#Ba~5rLlRq)z=DN-}(nXWL$eo*T?tTr)pHL14ODxo3IRl z?u6uAlVag77LvTS$yyl16|mr-FS5Cnb1a5?#9N>0nu*4YXzvz=Qgq`G`3bgWzvQ~^PGdSY{fNvbEOzQ+ZXPXR5EhCN+dHL!t< z;9UgS$w_SI9gXn3JyawI3Q&72=NR1y21@hW#b7lQYpqI|(GnfaL&coNGm6`PPbN}A z%(wAtKI--qpC(X$>m_PGN+I5Cy`%NsFoD5AwPdlV4HUCOvLFH=A@~3u9VglTg98hf z$1*S6>)FYu#MU0VNvWHzq=!3oJ23Nf!q{0%;SAv~?A(qXS)H=_Y zJRr;6vTXnIA#wVLAnivw;14Eyc%HAX{^MN^%z*kE)>p_`nk39K5Rq`e{<^3K`Zw1C zg*1!euKQw-qiJ7VjBu;X+4GjP4^{9Pz%FK_Cc)S8>_pdBe z-&nrl_x1MEqQ$T{xZV~oKt6r_AO6DDIHrJ(S^u}sB%vifau>Z+UC7r@5tnp7{w8mV!F||62R9CS|py&HIk%|8Syj?KhaGi0+Q9IG`wsiXs=? z!Kf(nq%pZ`<11&lw`5Ue4ZyWPw&}qyQweMs(AB|B(;QZH@p^3 z^j77Q_}tx^`nmCLZb0)2?!l_^ThsBC!U)60NgCv+3mQP33Dh$UvwBms`*o7;2S=Voh9 z%ElBmKJSzj&bY#X%S2)qjyDHDde~AtOrv$Y&3um`xLh?kX}gXtp>T3Ehv@WAJfEuJ zg(H#8Rtwx*^Xc!?yW!`5D)Q5u*b|F$AN-wo=ssJ2+l-HB2mlpF*D1S_xBy=Wkt9To zhN&|a1D*(N7{G%O4*o{d&h$p-r4VOiisTz3FGJftE(3B03d^154m}c>R$CQ3h^>iq zE)CJueB@nHd~s&?^nn-QA%e0?-5JlRojR1};@UYk#d^QyyPj$gy_oWA`Ti|6^ik#K z77%`aGI)!B{CFOHIS!=wm*c>Xe>qNlIS%{8m*eo?m*YfL8}-ZaujhfA`1AO`>+#QV z5Bt;g)SC3RtXd;=G{iP{D24%0%z}W>FsjC?EDLugunUw!gY*)`851ZLfb70rU2KGQ zl@qDX`}?tdUb(2p4x(e)8Ek^BD>72p9}h-<3Mw21Oh+qsY#$rXc1&pHl($TV>S)hk zQ;ZTvteh?czdW%`5ToC|wt1{o*8t%9+9~*d zBH!+ZeUR?6-7aqRvL+yJF1HQDE=ae5BBONpzs+(Gzkzq;02F5f8A;*54B&6jNo=AZ zY~0!Ghgx|#CzH-y9J6$k`Y^UdIY7$5v? zbXsmusr#LTqg|J-DIN5Y6!)R>d>Q$t4VXTrtL=At-D0bNda)~S3nD-RHE5u$aFVG& zQ`80)ld@P~7QnfE1IA3~RsX2$`xp60NqHK~Gi!M1pCzOtY|GP<1%c4n%qEO)#Rs!2 zvCF_DSIeQGsKsR+fue4wZ^Z6@(OFJ4&gA12odpE`jTie}7Gu3(+@aIE3s70OP98Es z|F)a_PG-=jX>0qwjJ5KEOx$oV8+7BaVl4tEVRt8BPk_~FVnAV-xQSC$zQ>zwzQB|1 zLDx?O#>QqL*`AC08nT|Pr+6?ZyW+CAhS)X>w4R4iE1?`55%N@XYtuCRC1 zahdPvJ#Nj7$)q&ZpOwca2rhT^WM?u@W;sd1|Os6=a z>dgYX00=cX6g1=z)7!ws(;V!zKw`Zs26J}za~7GStST7nZgGwJ{dGt7mmn|N(#15s zIJ)X%JM|C@9in?$P0OQyGa^QV;hvnC+R5Kf8L{AxRE~@0^;E1DwB!iy*YT%?@=`$a z>Dl*xAEmbc^{?!Zg!%q}w}Oq2OYk{A?xU^Sx1aduBJ#J>KQ7wm_gWsdiGx3F<2nwz zjRn$XkeC3KXIJu|LUuYV%|A+ z9dYeuO0XXq%J+C=Sv+Ag;?AvSEpuwk&UB^v+(+`u#Ag;9r?a7xkg*&C`tV#obm`c zjwv&f&5@WPrl<8gJ9Duj%CWc2*OQq)Sn;fG7yQuQPD<*0><;%*EHy&-+9+OAJm!}& zlUfrt2Du-#>sA6~zyX{e!fJacfC5qsS^O^>K7Y}jcq*`n7d zjt0zfbxLNdWvF)sy-?q?wCOp_w!3erf;Y+N&CicQuY}Oud&ydPuf_a6JNn@U#kmW? z8+?Ur!kgvqWSoDRw!R=QW39Y%7L-6$?urG14c)*@j-ji90H9@oO9H4d(1O5#y<h&bea!B!;gm-fa>6XrWq-AvDtpAx zx>`2utT*G6VA2S=9E(Zrc0P8r=2!bw8R`l%s9z+q<7+o_N304ZAgA%Z6~&>WYn<;ElkVWX!5QM!aJ#yP9S#Ggn&iNL=hLgsN(MN1K+eLdGco3kn-}z=Jm2Lz>Nre27nzJx zEcC21?aXDq=Z4_{^bmUlKe+n5G}O71kzN=SES2}?qG~y8awtU%WKb7{GW({8NaBgT ze%nu}hDMwFx4yTz=cI^QzIeN@nR}R*M^Tu7S{BgC)K1|1)6$1$_$mE=Q?*NY*#)w{ z{#{f0UnvQGRQD35s!e`V%H2v`vN{A?6vSSZfjJO=(I6@X(4y+S#9|;}hDgK&;osNh zUa!4fq<7}iPBEKFBb>afJb5&j5Itmh9XN_NH8aMbMo5|IMd!RoB9D(YvtfR|s>aDS zCy7CicOm8u4Rpm76-+{Z`nN^e3WlprRG;>~s;d2umR)N?utV$UPd!xwi`lxvRml#O zH7pA-vZ`So>u{z8_$_UKTMhEKcM|_3s_r~SG%ep3jZv}JrHj0pB#bfItTrcV#SLO? z*oh)z88T>RXY2jT=}h%4R$54%QJ*%B!Oq7w`6B04KgxH7&o^*?&9gabSR8K4Ph&6J zS~Z0KmWl2vQ?6>*4!#M_(Kbq8z}qqw1qOo+&VYx4Nl*@mme@Bc(~*TMT5r-nsostm z8Iy~X4p<~8#FH{mun_^ml+=}Ic|q&kV$IEbp~sE_;Q3enY_bZ6>~ua(GB&pm5Lt%D zG9^cJr@dls+S}iMcvwE>yBniHQXh}VD*1z^Ifnqv9%F%4fg~)Fq=6X3CDX_d7LGKg|{S%VM0ci%vzuIAttB9 zAUFn`Aa*qGEQ2?zGgov~p2tmt#W(0v2E0hKm(+Vp3dnGb2Zad zwrXD06?N||lr5t|K`jTi^{SpoooWqHSyh-2v^Wf2;XEYyX4PO5yT>vq9ZJX=KxcW! z7b|Ko4CS)e(DrVoX=vB(l7K?@cUy_*bw?T-LHKiuT&X&?5iCumYIIf`^R0@H0nr%)CmQN}PFP+LOafSM@8q%?+s z>Ap5ws^@y&K^B^|*(cMrv=f$Dr0STvbVb0W3|Evf(0NC)w-s=YFYJqKsT7q4i(x4; z@-@nTt=QnlXsiyMxt_%Yxv^fLoHo4Z>nM^qoaOchy_5-C#Q!l+$bI0DfAC=g3-IW4FZUX(2lz zQ5J}^5t!Z)BapL4Ojb*5(n*~Ca=^vRMVW|yWL)f5Y@)B`_EfR&y#}ivTzm8%dV`md zPx!?TW6Y1~Zq{kShlj{Z2gOX)GZ)w}rz&|u0*h$H7Z4l@)30*=+4|1NoCt-e4HO+vmr1MZ z@;uT)lV}J4z{>z24iHlrh> zkI%vTtMj??*MF!oQ``P=?v=9Po%yTx8ea2LE%%?^5YLl7o4*!U)KfOXD2}2@h9ltu z;5s~eI0k}Qpx|Kh1c5eXlN7KPfbV^6e%}yJGfNiJqe}L=Q_@)O)<+z(tvTF(RT85L z)=rrW?2Z<2++j1=nX^J%m>D*XC7bDVwS}7mY>)5H<(?pGry%x4@0SeGRSHAG*yS^F7fQngr3Kg;%MKZ`_|@ zR?dU1gq(R{y;0}0bFnHwciK6Bg;cTi#{E8h4V4Kq-Ll1@qxE=Jw!C9uFBcs%k&>); zcEf?PEfLb1Wk&DVCEZZ+-aCqhUWcr3xgT4FWgGearTyFYHSNCLm0k-8e31EJo&cub zwEU~uG0>mh`18SsFh&+}H-{L|onpL*h38w8Z4 zX#?aIfL{OZsqu$MB@Ez8{Be6-_%DWCJ*oE zi`4*jmGY_fhjfRgX_V3-jMXU}2LQ@+FmMuC9Ul3>II;xTf_fADn+tb12f{%tCd2Wb zT#1{NS(2`|SZwKJxS#EvT$?OFnU~K}BH%H>m?@>%3nyoWxeUjD5q-s!i9DG*7n?)vTzef;ER5x)o(tDzsI**@lbwnsftL)hpj0WrRX!Q<4z;a^+FNE4!qDtVG- z4OqSq%9(F)p{bGhlle?pS%b}GEEbkIxypPekPkLHR5W?5$|cuWwft# z*K<-bF<-e;@qaC_OV#|m*mC621v zZeqxQ6Cwn#AfVM>(S)s<(7sD zo6`3WyCH2$U5Z$2riVZ|q1RxwGX!?L>*W)RA9OG;U*hd4X{zV0T?U`YH|wL0SKu~6b1VbL{$Jn$8d0#ZSIXlP7-HL zj3Ovkf-)U@d0!|Ad@C%KoS5&K9+w(BCQFBa8p@|}9Lx^HVUX92*!Iv6X{5t;PMy-QwyawK#1evE;_V!S*ruV-x^lG3zX zxt+u{rzh=nCf$2Ok1uWeR%7?Wd-98^A7*+UZ~3LB!=Rx21U%ceovQhvO_(+cVJ(16 zqzY)>V3rsMlHz;%Q)boyB9Arzz$F{Y-Aeu;i1B^Uh^V>7`@2|?%oA0guGtcH_+PlSD zLyfT;w}!!3AYmEO1fms!Wd>LR;Py#SvIDL{Qg)RG1rLxnQfKwl?_AGrtP1XFsQCao zAS&yQc*&xjJJBu#?JNDw{4B6UawiF=VmX>T^J%OXNf_eH0Vk2+E!3*HLZAo0FnXkxI-t<8C0&SdF- zV&UGQgKiR~SE>>cPEH=RPv(c+wvd&b`vWAQwdfwL6aQ*DC%*b1w{D7m-+qr7EAu^$ z{xownB?+p9g;tGvY=G==AYm{RT#zc66?i%u6eSisi{G`-7Dre8U@}pzh^K2g%R1w@ zYeygjkqmLsIpI_Pe8}Nq_*gexuTFY@KhG`{t@rt`BTV~O2kGN>zNg+6GYk2w>VdBbraq=4rFPCFK8xD5~uIz-j? z)G^)`qGIp?*U6_Q&df5niKCg2ahsXsLM%R=rGDS&6*}u*whDh*ql~k<4o0(o9UP$Q zc1L>=dZd>Cu#@J5@VB{E;PU~IqVJ>0@1w+4;rHiApb`4omxG?C+3%F=d!DnlZ+oC! zuFte|leIutY&*b(!V?jmv*7!g4s8-3E+ra*J|wSf&J)?;Mk^+f8T$5@$&9C96+ z<#M%_F21Rqhttt&JwknTuXzZ6snMgo3nEQ*UhEi&um{C(*&SiVslU8ZgT-i7EOv5} zlK)|s^x!(bBsOf%_^?TR*z$xe2CY~v@k}dwwD(>%(NExn4$NczUd-MJ>M{=gX9bvcsH26;wD%vwPX8Jg6r&VC^&~qq*H7%2> zHYvttPz%Q}8)a2o08f6SOG4Fj6UozH!>hu?DF-Q=@t`aOtnX?W#Y0%$dX@w4u;%eciJGtj5u9QWxeWZYmkf`SS)+L+t*=z6vEH=b7N=P zxFjfPJg+&w#|K|~IDr+SKUK%XmuE#gQ|qsP|3>$M=Q%&Fz&9L zu36LVp??hde$02XW^>STsA-*GL3GXnmTqwr+~B~JQ5I^mI;bRS)Dk34*1N**n?vre zRz@%GuNQ2DYg6%mNTSNI$8X3^!5YeH5Ge*J9+&&=iHnSQG$dgiA8B!*?_JBl9b`s# zuRJ>Nhh<+H>1S@ve?xEAzx|#E^hm#MPRs~@sju_LbRRaWvN;}{8jWL|&Qd^eS1D>7 z<`5La!k%CNRY5X3$C(VsNZvKjIGqy}D;e_|VFQ{AK(J|ljA+Uqhny7`lMbu*WOY8; zTw+jn8L4UwXY@2C7;D#L&d^$z;v#{g1#CwxH=k?s|^}RUhchubf z;Y%vpe*cMfRZhE#IxG+q!()gebz3JG+9FMpzzmaN2n+)x%YIjnA%@9;?HT^U08K}+jJll4r zd*DfeZUy*>Pf6P_#{3Y`e@t0f^>Os4nd_EQfaw+v`eKxT$gQeB2#_e~pC}HVGA5{5 zNN^Z`VepNBU6Bx{+^l+q=U@}Pxyk*x=4)SF!bNM_(FPqs|==pI>B3z{B z6yRk&JSt8-f+Ex@Ql6LH(oD^1xKr-Y?macEQj%xCmFD;|DcI#@q?O_b?4QlBwB_Ig z=z4II1?LBz5R_3BNa4VFuG*pD)SG17qrNRvK8PKlMg zQb}Yt8oLW(Kc%hXmSi`f7IRrYw)t&J%+~B~N1YAi>bdM@%cj8&`=-I>Ba!YY>%5Mz zVC>#>^I_Hx1;X%=>I@Q`eK+N;!cYVH-0D3~p=FU@TaN99^~3#tD#r zQ5iTW@o@7U4(KP#&|)uf)a{Ig)wCS(GM=)lh2Zl2fh|u~c7z?{>CPS~yf+_?a5+76 z$e}`yxQ!i0S}@uotDK$6Ba_^TflDR3)q7~`Q;K*~T;U5-H}`a1p$TH$s&3D3l=XPb zR~hr;pe3QI+R{-vs9pdrgl9E}V+IC)f>**ILF5S=CCk`=B${vB^!=2#yGc@(cqy%y z*Y!v=v`Su+9cl7-(kSL|q^>{#tGP|{9=<0N>@=jheAOMCPvwCQ?LnZ7ihK& zX`|TR?`HV9z#TWKb)TxK!q86*0h8UV0I%wFx`yBZK{{F8uAI(6bV75CW8%1f&SEUw zzKls!^?6ysG~U2>L-%AJB_JK$BbvIRKyK!wr4banSQ25sACnu)!#b%1!j&tAbSCO3 zA#x3TzQayH4pYXM9n5vKFd}cFP;2{08syP&c%33n1KJApNvci(jgdzVjEH6yh5dfgcnPVh;E4rhM@YMSPM2~{z*Px#*t zX^`hR8xyw%0PebzAUMZR;6nqxY{Px2n*ac!aGx@`!%`;ZkQ@hkTVQCvHZbRJ1uGaW z^8*nEp{Wbk`~;A(cDNP^ow<(JEs@D`sG1WMT_5+(w#!8)E@SzbarJuxa^jpRHUhbN zu+Mr~yt`bb!8b0=b1T1prY^?4qw!r)`X!6>!+7|4&c=MLftFedRv!w2DTAxLLYo3( zfgeMIC9SF+H^reCiCG5m#v|0Ut>o}WB|NEWf20m0%|1-VCoPUStY<3IVT>$XW=6T> zB)F*7VJ3D(z_hQd!EcF>6^__B&#$3qZi&9Lx#|mglS|)*Bu#UF%om#ODJ!^Mn@yVW zXX93m@FyKS`n$%hCv0whnq*A~J#-NFuolO%di6NQSlfc-Nr4j%4{8p#-#9-swP4&U zty1M6!OXL{FXW41jL(d6BKGr=vc^`X0Xw&Xp*0ArgshfhZXBdZenH=Abids2%4gB zhp0LMIs}j@Hn$cV*pvkHD_#yr+0`K@eT5575IVSu2G+Tll?yQST>GzQ5gT{k04Ff2dvp zmb!U?zXMx5=4&p)?Vtr*I3|ZzZkrBjN>KM1CTh^2PBTz~24_jfI1niTa`uK(=*Z(M z!Awg=H)rHvW}WfHQX*Jx9@sOgW3eQexyfl1k=8=Ij;Z;8!8hDIHHJ}#AMYl8{h*PU zwn3?bl$ncvuB>!@4tc+jzbuE5g*u#fv%8X?ch?`)YG~%FZB@OfchjaeLse4UuxZkP z{S-9;P-GcEc0dVf8LSPmU=Tl04#vL8ikyy1h8a>pC%uxH?ach)Jjl!mElkm2L7cF4 zKal*Ph8hYoGK=xpDQSCz7tB@mXYOvV>t5GY3WmymvSG3aDBxYnxM_>>AN?lmj_^F{ ziGRXme<&Hbl@h;I5x+}BSdy)pk#WGEI67fdB!DO&7X|ejXOdNk5AZPo3VTD@b*Lbt zy4?VRKR(EDb0EuBbmhATf;eq1Y=CaUp=*gz53@F#X;(sq9b>su>)t)!s->c>Tf6XPRYWx&Uik5e-A6*hgx+-w#s=!KMTlU=%?r3%y+Xw zb5Jw4bh8RT;%G9Y4GcGlfg}L42oMQWB`b7>1r;5@1O&>w%i~0J2uw$MHYzl{H$HU) zf9jB~!%v3iLL5p4hfHj3G0Qz?KLpA+;N+p%b*Ryt?IHfzR*tLC@K)3~K+WwTj+_*K zp%(H@xsnHF<6*YiG~oY`xqY4!Z1OzN;%;q*u)q|RSOVn0wgn<;LpNcct*Yj-CXhCq zMWOGiecS4k4E)KO3Hj)xrGlo+Cn0+wIWr>{*Tf2MA_gjJ@*?}YbQ%+-|(ah`Z z)y$To1RHC%*2{tu530-Y1Y4O$)Hk@ZtS<^h<7A9c<1M`&>kIQRIh9U)yOkb)zq_e; z^=T9RVI1_B@7XAi=A;A-m?P|?m;;O}MOqZYVHOR0s|hz1$iHY1;LsNK#(_tc>e;1y zWR?>GJr?BA`Am$Y3|mO5XV`phdP7{^EirP6;JmQ768)ieDtgpGLnTC3PJs6EU4Ayj zkLt!9%LCcOXVY(Jm?WtX`V4%3q0bF?Z^G_2@@70b_1=ff(5vzXD~VV0`SzO?E_}B2 zQ){aG7dY^!{^QvNsFeI#R`6kn)9GKgaEWy;!n|qxzSb zz1;=omEWX{+8q?*4ddET)SX(T9c^bP;dD0LWuztg2)UfsofMx)YzOYB4twO64vP+f zEKNGINVe^8NUGm2mijbW(*0_De^1G}U19ofBr|=aaXt0OgxSFddag$M4?BE3P1#(B z$8oFEhe=ZwkWY5ijmC0+K=5T!9LX9ui&k{14t@Y>8n*sMDvJj@avk&r3|fX4;neqB zra#lK(biosmzl-yVg(O+%Q>p_I$AV1jnb8S)R|e~7lAfZY`)_sdslHxVU-Y5e_3hL zJKuPURq0@WNpG+%1ld)|?z5X6!aS=B3pW+8+c)$JCGaEx043#rBV+G3D8tr-wap({ zdk-p*1^2*BKMf}k*la~yEPXa^{N2*^%P;{E(!n*W6i_xvqHI;U z7HBRVbhRXKh};__L)XruNQZES#`eVAbJomU=7sn$3brKS+5)%L>;)rVBxHmfSLD%& zm6LV}ld_oXH;aLpc$5T;^a2cgG}g-*?l0`q{a|Ox3BwKebENoVlfQ z1miHE7qM~7u>n%7`egxPOHhE1g98t)ENwDxB${0x3-h#lSWSC&k26OIb7B&FiC&Ks zn)jEUCM-sVeswJ>_kAu^UiB|Fb%o|Dd zrxU;Pp@08>#A^XH{J&PF-XvWVYC^zjG8{zrReB5R;J^hq6m1(E+(nht5(P!|8@cp( zu-d5JoX8W8+ikt!7Fl;WGd=KwLzXjRae_ot8cvY?C^|BQQ4Evr4zb5>DAWBjPKZbC zu-m(1fC%R)7RY#!AmL5Y^<2!k(hvP}@!#{Dl`)=w23i^}5+b&$Nvs3xng#AU&d|71 zNtsCq>o^wBQcka=fM45Xu;^1UmaFCPGKu(P8t^6-2tf>Zo=*3*UTAj5?igR|E56HY z_z9*=U|-+!*YQb}Qf24#F-sQ_WV#;6?8O}$iIAB$*RxHC~5l0Iugm}1TyiBL)s641nf>?GUX09)0A_3pSy6&4f-mb=9`q8`ieYP>iQjj z#loj)8{0pRwNwk332PjlY6isti3Gd|Sv4p%VEea0zC{3q=fJYNWl(%pEm*xCK1{ZS z%p)Mi%*L@fO=r5iKOQWD?lIX3o6X9#s7K+YlgXN4Ef-`yz2wMbhh~gpIDKB31-b2A z2fKnAr5E8~-8TKg4a%w}`&+yGNZoROpRF>-?PYC+M%Drg4X8;Hr5u_eaklOaWmps} zJHxU7cZo&|_*!*KKcA?hnicV3$0gmwvo)RC|%k&o1X3 zie-u*)?6RW*GolC$n3%(R|}`tCu(c2HkzC5gZDQ&{Br+P7u^4-J>L$;YFhSx@mhZQMIPuIz77+0SoHhg_8nxaBh1}-CO(AkU)9kkK58%g zr%KVEN@BN~h&S&)RrPxbd0*i3kKqqq;N^|)itE+yR}1U)Z|cR?lL5Ex+2Pi66N4Gf_8fxE3+~kEQrfbcmFHfxT)5?cFXW}{ zdAk{F4S0LsG-3QYNRFzZc4hVlePo6KSPXd4cHaC$SNK(r2l|VqFj;ed#UH_R5S~E{ zZ2bWsr~c0NmHkg^^K~`cuJ;=v>xV_$>Zv}i?W6Gq4m_e!)d(~w*ue=FE^3vrp<^}# z+&U;QsxB)W^Co(kj>m+dE{8pB>e<(DL=7EnW2%m)?Y9erwD_}_T`cNUa-Hcso00sA zFvd$c^_Q493uarCIYtA2)`^$6XI>UshfODA^Bdv47Y6o=#p|)>i;O@2KDg%LR^IS;;`sKAa2?x+tw)2{#$t3y9p-9(f%rY$mAd$vm)78C z3wf%dn+`t-j-0w?PcG#JxT2M%W%c)h!(Yo}E-{md30MyUV1 z(Plvi0)irnbf^j}!e|T7A_zh_kgHX_yojnfFE9pQpS^IISi5bE&DLYtm=M7kHRCiD z!nLH}G$VRR0G2>$zds*of7o{CUHYp`$wcKa*C+k~!*FD+`NHL*IQb-AsH?fpWc^Z4 z(fMlpov6URJU0YAC;B~4;WxU?e@s_d>i)XbY2IQ1;IVMF(pmsCPC7QYGz_dBz&|Yv zLPK%?4f20wop7w|Jz}Rr2w^(5pCDn+WLB{f&JYO<%*dvX7Brlfcl92hr zzAnt$z1E~wHlp1B`LEW|i!sQb8snZ|*(f&ZKfi4|49);-NI5!5Qp!A7vs)l}a?$u0i>eWAW#DDLo zWP%XP0H42VyvSe%v zcjcz=r73ptf5ddL(-!(zxQu{-JP2_y=jDRI)L9CF5hfq)WPggoy%P8-)hBlMGp{?3 z)^TL=JL<0XjFlx?hb?6nV_PM$eyuEwc!n<2V!|EV-mJ(c`*Bc&B;s}Fe{1ckL`gR}V@! zU@YRw=i`*pxL)jh)1XcFZO?4#HWA;(C3hdZKI^|g2KLGGu7-ZLqHZl?8$;HA-el$w zI;v9^iDPgN!CeJbBv67u8M3MxYoj0x0JPb9BaGDs$0K6NJGn%)3+nBsv+0tRb3Iw3)Dk(|l$eTa6py|1J zvmv(&U)7%m-}x5SU@hLt1o;;%q*fco`@3QK2UOyaTT+id${@8`cz$xrURo-=IE`O+ z5_o;Aw2D8zc=BI7jP8L&+b?_ZDXX31W{~@L7qoAox^q$U_5UAGO9KQH0000808(6S zmp1YNxC2sLZI|)#0n7tZTy2-Y^8u*?Qe17fZ1e$D2?J7GZI{IT0qPM_Ty0k?KTafn z000280000fml4F{K&~ z#maY_<%~%JWw%BGUmR=<`9Ypw#>7t7-&eT6)Ykt`&ZptYS#zrzUwv2a15gZ00|XQR z000O8Qe17fcK-pF0s~T9ZMP5t0#5-CQe16UHp2i`R09A2p&$U4PzMDfw~zw@i30;t zTy2waDk7Jl2LdFQpaTpGmu&|E4iQpZZC4JKzh#00003(g0029e5!eJ6mw*EdAeRmV z32?8tv15{jXmstw}KoL@0ZCA3!+4f8Q003QS0stnL5!eJ6l`sql zm&ywQ4S(XuvMv06%+7yk+vky+h34VfcdoS<#3%$vj1Si=LJA3iCNv<>!};x>OOTo5 zKz3*C+}CzjRi`9K2d#+ka9_S6^k09N{ekfZ{8c7@C<{~Xbtm1qVs<-!sDp9$*B>4I zkBM&n(d`V(>szbKe{=@(ZrdDhe*Ncv{MR2Blz)VO_>pyRJfHk=qW|+hsz3ku6XCdt z(l{iU6(!_XaI${o-mh#&0`d!^)U*ElAMqFWi~h&|{?GsTeEt z=XGgF)0=+Fn7iDC8Vt^vyY;NxU(Y7$w2wE+I*?MwEQFPno+-*Olig{t9L~-gjZ7z@ zZnjPLzyG`XFq_0Av`J`rB&`wqH+!u9s6TWlFO45CBc_(I3eGIPlf*Ul!p<{l05ZJ4{Z98jndtN*Ya}|e*RJb zAF<1ytUS%4;3>6|$oDZyo?<_Dy?;l)12-0CpTCw8pI905;KhQF4EZE^^oGm}2y&wb zFGdJj>u-(Ef9a6?Y!u!NJWjS?ywMV(MP85{S;Qg@|CcaNIjkVsjw6Uza>UOEUiY*~ zoC6iaMn>-yZ5ueM)sH5t?l3)+bCQl?3Ol~ONjKAUJI#muDnX<4zzw?Hn17_3e*4m2 z@rr`^erwn#k%5=v9rt+Pp)mEHtjLd&^pAi1-|7~gF(>B?-ux8dJ+vphM*pIIQMcDz zKf-WHgtrUNmvTR@El|Ih+ogacE_nh_2@2pP=FULiK}QQvX6^2N=eadM8^Ax=pr6@? zHvR1KU9&op!}2yoV7jAOL4R@(LWCn6g+#_d5+`7ak~l}kpEv6+&86%jSWKjoQ#y$* zsyX8>LnUX#V^~Uz=FTTeL(=AsT}Bk&9Pe7YOEVj(L1U_JhR5w>aL_@5MMm$&UtRFGc~^m*YEJS(;^JWOINfIDdMP$DAY(*+K&AV9IeI zIu_xFOdjCcxcIGU+BCacySNmFVTOBISVi;Uw3vl+;p7h*=~~>$MaMBZSSxbFu)C%a zc9teX`v+fgqj0KE)U7#|I&|I~jg+1H8@RsQ+Rb50_qYb>)4|JrAv^HGAI0|GaE0&v z`5nfPWl#bUMSqUQyk+wuEn0}NY0SxjfLLVFlEes{@Bm{WnAnq;4kSBkjz>bj)xl_- zQk_MZDDG;z+^l*%#cHB`GMh%*T|v2Vc67J|DVs2(E}e6u$x_X6!B|B)oB4dMBz#c( zCB`-hyd;Sp#FYDLdVCPkrBw*#Tpk2N5OWaQ%N`ld=eT2f)v*D-AyaVigH~dWzi(G*3mlq%*+FA8>M20kiSYz zcAmTQ;eTKDYo9)7tqh{(1cLR@eM(R67uf&#8I z$jB_=9G0d;f#E4j_#EY>GYG@(+&D53ADXANu$&{+Uk%R9>`=0_j^~74&ld|OL(Yg< zvF(*>O1!>yGI>ok+Qcv~E;}{{w%of&r)yr4uAXc zZtF~krhjn{o8e#A1RvqQi(k0PL&yw~Wtq1jBIIQ(TZHFpazb+^!&g|LW;dK52;ehS)DV=UXjV9^;EM4yNJ zK((5snHt7m7RLR*n)j|m)Yp)I27mWG2lkU--`fSK?@#Y@bpf~+Bug?-og8p35=%jf z=+L$;TLLA@lpxXqBR`n>niq^pZZy{m)$VcY6Lrzdg|^lc(g{Wv+8@pGFgy0Ui*OJn zyLE7IAsAI=GhT`OAvb|Ab2`cBltFh&@SuEoVqN~c3m92s1=UAfN!Yd-X!9X_EnC0Xs>tA73_i@)P?e-iLJvw-*A*?sLr z1X|JJXv;nUZzTgKj?D(j87rn}^u+9nFe6+%WNXvV?ct zPCD>cLzJJC4Kk>1YdToSOQ!7iW{sWPo2uBDCTqf_oAcC|cdgWtMt_T?wljI{_x#D- z?bUoB`x(NYli~jY%s>C2*H-xa^?Ub2cuS_B*K@Q?B$lUmNrLJNPr*M~l59~B99k3~ zP=!&yzij3Q6gN(t(@biI-BqY3Njg6C*8@vCG>rXZM4I+x#4k&IIqt+7%I0d|N8^<7 z+|6=r9y`5#(DBW*Fn?8hxIl^Z_uA#|)*dv`=l5QdTg)%|p2hv}3;)uV`m}XkTf|~4 zO28H)iBR!k83duF$Px%GDQFwPLBwV;5R4CEbA|U*lj*LUUVojma5Fmb4&^3WCSuNq z4%)!CZK`2sQM5Mp!0t$05#wRHiiJyd+IB2Yr`AFDs6yMa^cY*RhW(~6O~Z!PqKe<^rGNFE)n0*p>lLn5%AbVuY7yYP z9=sty9ErmsgxJ`ISP*#_{A z4bCIWShajop7zR8ku=Xt^tHX!x#b0!>VA;VEX6jG?JkSe9@(tU%D$iOma%`<@b7fZ z>wR6TbARG5=03Nq>$*P*W@WI#vifqSGEcl0EMC-8-D<#vN7wVc^ z4%xA1Z!WoNg`^k`&VeCzr`hVa*zNkZYG(Uwgn#jM5&S0s{`!*u`LEybh71>p#c(1m zgR9^rMiilZL-8Q%03D9x*fIezjwL+eNP=cDK;GN{@dojAM^d~oHyo*xtv(Y{W`*ZM zycl~^rf*EzZaZFWhD<6sr@gqGvcA$EKz4Ov18Hh##$tCw%H+KLOMS;@P4e~q-l}H& zeScfk;)5S;liFg1eSL7xLqWt~SwPwmV%av7ePte8u_Qpq4fhXad|;vo`^X`Sr}^-r zjQH+cE*s+|eO?%flCAuyzdK2noz@Kd`(3*+m>JV%V@Y?!Z5Baw zBx3>FRXi*spq-eS^dQXVpy7cScSoxW1Zne)fthXTd40ho1Yd0F5Hx6Wt#mH*<&esr z+~di3MYv|$u!~hZ;IxM1x|-BZ?On1Jnu`X{x8n8m3(($G3?FdLpY+??eb?a^^M5vE zxJh7s67QQy!25P|kGDt=&sq+61BpkJ03N``tiaGLjYS^lJsyj!Og%`tDMJvvi`dUw zB6mFMMkhg$DlSgzW64aDP#;|yYcINTsNpj}Z#Q<+gV6W!?0>Bg_M?DaO;&(jkM7fIo3#ZF0t60AoPJ7;t~5`oXK$z=hCxtOXd zp62lbrwb*gezG~XWBzzKY@EpiAKk7o7T_zLBWGDe;ePAmhCg2QmBV1&aA%AXFD4z; zSWmOjV#kDXy51R%Dj9~`X!WN}d}#j;<9T;;RgVT;M=daW2KXiq{C`PsZzciQ+tD4U z3?yVM$6y4mR05GRh-4(0ktx}N{!1v)suVL6^MJ=e)Y4}rYGIzsdC=$4VHHWO`QnU( zbR;sRq(|#wp&qvS;;5}!?fyt~oQXG~n+`Tyr6KlXV{3O#gKW3o6s?RGJLj?edtLW- zYd0q$-XmITDt{Ev+J9n&XMJ$b4s$#YLmm32Kyy6dIZhNIKxIXNmRSVCDqCQ%Z9fol z>ErfkI@}nEWin}O9pzA$SZT&E%iU05M|O$QlJ4iOy__6fOKrD}^oXK$GVCp&oqEak zEKVnWREoJn57?~Ii*GaK_u#DWtd6waRy|%t89$2Xi`5F%mw%Ic;s8N92BI#Qw-`%w z7@C)D0a9EGi8P_1@DIE&{Cyxfr3!BhvwEZ35~4)TTezgR73Zi#i~aC;R6F`)**!7i zEI+P%{W%i5vv09U47@Uo}nwv(58MsZs1i z&aK|$chcSJuCDx`@D{|XR{f(WRt75=tDpA{)PhPg2Y>Zt**+<$7F_m`foA93YpfR6z^90Q&e;w>JWfI!(2W-W-cWC4MqiU;3I9&}i;38a&^ z?>BdGnKXqa-5xfV%`T?TGj+v;;bNpDm@ONZ#p)#X&0;TTqA`_uG1B(V7Gj5maEzmg z#T2vC;M^LoHmEtQfv&*&yq5Oob0zI9Y%k@tzkd(g=k_a6$;-*p)$FxTVl3H+CLq=1 zC7Ksy;I$Zrz>z>xvTR$R-?V_V{v4`VbEbrGW;FQ$yPXdurZ5Fn(9La0uk2kpqVY&J z`J9JZz-2MXJDPrA8neM{O}lPiY7MvTEt*eS&F;3*+gRteEvci1@(dLSTEoKW+!3I zjhp6hJ>sQtsphTGT5R?d$Ls9|MPCp%=6~4q%hRB2y+Bqwa8#sEDf<-Ue&)gO&He6V5|)j3Pd_E9Yd)}as_k9 z5{k2>?j$qa)rS!{&R({*(H021FJ_PW7Hhv3Rz)-5LavK@s(IseF~{wF&oU>-eT0`q z8+RaGk^eBN>ubM>`zzYDnQJKN&<^NCDO!?gil(73B1i~AaSD`6mIE4LiU+N*^Popc zj?s6)UxnL9JqXi_<;~09dQVY{-G8ZJtp{#F^6fgDD?@40qPJsj)0o5DKPtOMk1G;) zk5>mDMY~zHh^MyI!zV4exc@SU?_N9alBYbb2JrQ_#X94!WqY}I)oj16;5hvo`S2muwcZIQ8fn8!p0Xe|Wlg$D~1&v~RqLYrdy>G6_s!Du2am-$w| zB)mT~Eq>pcpN(C&t7c-XILp&%Fdz6uaL#uq>Mz>!R(7BY#y$}|=#y;OO-pCO{n#*x zlj!8x;7U&(Dbm}!AfosiEq@JO7*z|dBq*rM_s#PDv;Tbl=!C zyz%J}_kz>Rbc>0`;o(|37t5$TH3c`C$7+&l!``?!s#f1<%ICdcm=+`bm}pS@a3ykH z7GLGYkMRysK++glmrNr9C4aRLBiX>ZOMtm7iQpNb9uERIPyvY?NWU$Xf_VG$rr1)K zo_97Tx}mvdlR@K)zn-CPt0k;iW`69AXA8G8?2IUBKcKdj2EXO{lU;|IFX&z>htW(| z=1oVO6)mX1hnwMIGIzdmhL2;Af82*OFRccJA-G?gI0z=&>ri6ezklb`mi@#fUTdkp zvRx8onP0VAm8!hdqJSoOdR~=St#|ypedOVotv>C#6sh{w^k+SR{+*uiVz-u?-j1t2 zQFYHcWRn@nW|1R6?SzebhA8tf@;M$oHe- zi5zp}-+JJ?j%yPf<)L-$xYyNLf1_IyP|}p-DGIAsfU>^jr62okbq)Gq{brn!1p4Vy z9QhZ=^RHj%mG8cG!vwicb`r%^_XgSC$L?KU{C@X-wp(@Y=i{fVwVT2Ycv;XF2~hZw zIG(ehW6PL;xEczK#O6gt5Ji9Hk@6AA&DBV^m0c+Zj=CAh!{Mac8&6qtAkAm(U1-PZ zVeg-D+L4$uv+5fy+PtjH)YojIJrcS$8!!36=F(b%(k?ZR?ul&vGXDGCY+v6oR2*Co zt3xoxd>|OE*M0-q7rQmMFK17+!5UpqsB;eFc0hiM5{)2j5hwz}MV^0RfM29J47?aj zH4n<(Xs)z7qQmdYFcT-cv62XiS!lTZPCrmKFtyz*rvqmtOXyqX15_{R& z#l6!(JWe!07HFH_PlM^kShObI;;V|{UnC~gJ=P&@)qOukOVzdCLh%~Z-j1GXL)XZN z*c5OJ4zeA@Kz70rQ6hgxq-1cnl#CpfLp*ZOgY>UsIs5kwwrq5fC=9 zGABSKPN;;tgaLmN$`W8OSwiKF9+Wk^1933dGv;{d1#CC!bpp&Syw!v>r_v_vDOS|p zZjY*Ojt?z=ByLE^U(V%>YmEBhezo0bLhBN4!oE*SNVDfwXXP{(e>s-E32n7*06=9w zn?37`--q?OW}sdyaJ6w2GqIHp7c_hhNFN0Tcqm#D2t#7al#PHg28W9sntnvatC!u- z7`pZb3hGL(9XAneiw-BqQ;ZjEk&N*rGCJAT>~>mMdl_3bS=BdJEknB7SmXs$H$$)al)h3c9>}MWZl~~kM`Ift@zVyBANMGokXN(t6?ilyiuhL+w|7msNsx& z9zCu*M0KZ|;~KH7*cVew8<}0ULo97Nn@eXJ{$w2fY5P2mM(R>gC#%7WDTDz-zZ1L~x|GfaYj^JEltf6sG)x;2hTQppCZIZpgb+;3^_ zpSL9U{SbM7PJF+I`ORpB_wDehHg%2tIZCDw7CBiKfir-*EvO0TDk!2YkQ7NA2Hz!; z2gHG#Y$N43Nk+3tvp<-GJy%M4;i&6-W7lfP&1^P|2d5g+#y8nL|kY-2?@HKN`!tSgm2b9p6PV6$``hB4MFA z1T!#{9vPdjNK*+&84wp(wjkK{qul{^PRr5RX`_)2`0?bF#eFR7c)e(bdd`g9DH+VR z%o!0fTkkt=qsXMljG%-Bx?`hQdxAVWw|8tXjaQRF4qWk6bOfDW5NIE@tr|2t8VYlQ$GwS^ zHPdAF@7zRS(*^iz2JIHYek}ae7r)(5_onNA%Jl2$HKe^x41864t~MVPB?e|~n9d!Z zr?j~`#8P0*8766K$@hthzry&g-Tr)TwGSnq=cfFB zF3NYtuQ=absLDN+3g${`fWX{_S~do41c#vF&q#$w&j`I1XkSeO!Cz++Qsg<;8a6zO_9L^_WZs`=J%5@i56Zb1O@hM>H;*5=sk6 zTyhZa9;gL(?tQTd+i!8Q51Sw%c7BGJUn~M2f6(wzj>AhB6UkwKP$H6LL(NS9=!q>_ z6qLaqv2yw{caOA!2U|%F=bq#9X?_wFug&CLUeCB0My4AXl23ICO`FG?(MHiNnc`M^ zS(PnwyF-iCx*M3sk-v4v@?<$;)!IG10F_#xN&-iO;w-<`zN%8$hpzfNapGIkl?wXJ ze}$^2-eN@rSu7+zAl7AhD1$*a1!)wrWJE)ql9eq&NsMKY2Oagyj)U~jw+{yCHsHqw{vJxhi~ zXJsvaFIIfmA79HBf8L4~?;(CJWPA_emwPP&5r5ToMi3kFf(0}T;W2bP&|om2=mjnT z@ec@uMRPPwd863!Hn$t9UVEaz1l;Qz2YRtf{DwCR;-Mk!BCR1MQZjW4!?JV4G|6t9 z_XT+a#U|k(cH$A!S%`}sv)(q)Pu3Z~=Ptf3xqQ)hcg4(WZ1Y~#^;+KiX8YY)uAA`g zynl{zu3|2ZMij1eZw_bkSb|1mK`-M#>s33iQ8ZKuF^2YhP`H-{J^6BIddt6>EMkb?U1hNZo^fCWuH%iy>LlEGrT-K?&9yNh%W$sQntKuEYPSQNtRnne}4 zOGncLcQE9J(+Ra~+AANT1Z@{=JZHB!brv~w+)WkT94f~hvm4JEwjV6kW|&IzuoETi zwE+{ypl!@3SHe&S{ic+Y;SX|bkX=JiOem+?mLF&nhG87mvMEbq9GSa`x;~(On(4E~crsQ_2kdpE zts|Jj6*nUrR2-B}*e}%XUR-+v8NONBmc}?^*ZSBnJ-nw+!Jxf#50Fin>3=a?v)W=e z5;Q9i?6M;gB4H+UZs6Q8|d0B}$QXAlWZ3x_!An{_#K6yzsX) zLGV?sbN0u4_W8?wuLI;&$XLzPwSlYpRDj|w601m^l>~@=BqCxW5Q!qV-uaP17(d)3 zmF$sKCdp1Hc$!=HZ1&)FI)C(ZC}jgT2$wwNrXm6R4&KUz0gp&SpKmr_R|KdZhxP?w8lq&n1^W$)A+7pF5#v3+0*Ufx50ll zTdjMz9X?%cT_yRF#X<>Pq#R0?9G>Bk$iXoYs`@XBCGdU@<2+*i^M7$voYjU!DZ5mn z2kVLDW!4CCr93z^52`a_x5Gt?S%ktRKaWE(Og7RKv3mi;=LgT3bxW@|h@DxqS&7Hs z&^t~*CHrq(V}yZoBji4&xAn#EH&EhNZ36@HYT;T@l%N6w;g5r82I5$O!3gTUGza;C zC0k;}%2k`tKA7R-d4DjstbBN46cCy0r|!l&;8RqR#qOX*dF#a3x!h>2WFrx~JQ_}M zzAwmrsh1sV4mTs3-M+9no!9hv8?BP{wmI17|Jvd481Q-((Cxi%5r6&t?*aa18BlGc z#$1$uR0DOZGV77aw!JU-pRZ4Y3-Yo zbDkP;(4K1t$5mGwt09X*VA!h}J*J?!HF{$sdQo%$f<=g-g0izhkcKfaA+x5HD%H*R&V7;f<~K{)bcFSNZ!jj^aOw zqxkP*`f3(%eLbn8DE`X5fXo@Oq}s5WVzJHBeC5Su$A9La>&gOQMaUbtM=OB`S!l_7 z`Out_zzR%$lx*o%w_sz_5>`W(x?C>0)otv?y42sF1WFA=t2tn{hY%%t5)Jkyz4A;0 zJiXbP#tnJVJDex~x+NW-<`$2J#kICh{gdtR$a=N*t7-*gU( zy(1L+sZ2BH?dqgKWRng@tb4TOuH;x#+zEB!U_~}}O?7Z%#*hO6;CBn+Mx1p{wb~b4zQLUM8JXDB&ej zM$BmTr0V*7eoN=?9xYRK5(tg{NhQ(SID`?AAc6n` z3V)c$rocN^`~Q6ohoO$vf{1cs5-sPfG-1b$@RUyXdY8f%JTf=<;PBb}l&8Byna<>; z$nWxk+MZj7(UQy;^5NKLZK1DlXA=U0V#|5w;PF7MZ=tw8#G;BEuOgN=xYd)&TimKk z?9bp&A`BO{+LoVTxazrJmL*Ue0DlH7YPB+lvN;K~pbs2eQz)8khMoqrBBHIA z`2&99HJPEHs-Rf$==P~(4}GPjD7cW>Q*+{gvSmAPjqs^e?ieqBrOrhvP&<8gWXGK65&cO>H0(7 zIc1I|O~e@;9chFzoe_CYiWlml9ZyzmC0wqGzte%<^&hx*0`yreje3h1^IM43_MRcD zPo8Q+S7ryuG8SQ;fGUQvK~x4=4u1p1Q%>nDsUj7w|SY@Aw3+zGYG_T((p3#(+*Axw*v zEhIy>N%eO@oJ-LW32m7P;~*+iNv6`Z-0_8DWA-wvF7-;62YrP4E)G{~H4N87=pPly zUbCteX22^u)rQ2JEh8kNs()-)?^*$2s%VJY7`F5*jL93@&Z*&tJn2V6APW@~X@&Y01`pTxa*)i3S#+U%IjhF$mkZR_!v zdh=+qYV*10#S$S%WsqO3jfjEldm9{qswcFcaPBx)u?_@T?$ksO;Bxa>iGQ^N2VYX;3ZbP0IZMR9qER&Iu-P5M#G+eGn9jahEPCryl$FpFpDQh0Il&2oVX<2*~|>3+A*kB)2nM^+(w}r1 zdx|+cyK4Bd5P#QK@p4@`{v=xb-T->BcSGWOQpbuny$|cy@E;}9L?V^+8F5fBwxQ5t zRSzYy9fuZyHG9C6Dom?uuG+_4N-X2lKCBe7Y^meEkgmIno?_(XA>NPK-kdi4adWyF z3mQ9=x{Bi4%p%9Zj+L|1VQ3!P@|cYK?Zqfi*I(@Jh<^^`$;+-~m3LzY?#)L)Rfo4Y z8>YFp*FH>i-;cdt4L-wpJ-ds&Ve;odo8Ukm2F@Ki7Apu4GeH?mmIVRm2#|=#^dna^ zW}#2;^JdIP5=k|4lqK(# zD}z}F%mwIz<1h>sPRaGB<>ZX}2YWumCF3W@fq!T;N?JTmHnwWDT0k%qzuCp|ib|;H z!VjJ4`MHMQLaa7-!>m3AzVNvt5mv5NN)aSO`C0;bOQm)Z2qQ@d%2(CnB|zOFKSC`X z#TU|@Zz<+PtE9a(B|mY7M?M$asNc?FQz@s#a06k7WK2~ZN0a@;rB5X@=9XqCo7{AE z?th+X*2L>^uvu7!uyDoad_JkN1z@KjZlYiM(wj>k{MI*@dcWGcqH{Z`XR_Olicpe9 z4rNt)T+kxVNKnloBF`e)VZe(~JVulSB8|`CDf{~|Z)}ku?G7Uds9GbTGi;k#BBzeo zp0-iEYmUWCGsc#wx|c?|7Q3KX=NC$XGk+L(t#)>{2kjW%oW}E%G%m&E>bIWZ@j@^2 zkpEyh|9)S2HTiMTj(ELSr#uSq`&M%YVS@x7yss zm*i7O+8ZYxCn-N%Fi6SeCTg5ln2dI(f#J$iQzR?3B`^H>Y0yYU-RvL)?s=84wtsOr z$nH$qwG;c8QNmYGS?uU^S}|72Y+eF~w9URNETr~YSLp~7_C^xsxPg4O9at?lZ-8q0;PlKI9LK_2Gu~p0#z!q z7{-3!x?1#6>#+0IRMe%2>N6vptUH$$H2}rhUQ=nlA&KJ?P&YKAPp0$!RDW>I{aTwG zvZl>$bG?TZA_zM*Ky9bn9x&X(iG|lFv--Y3rv6l%{cP_Q3^=)qxCsX?isc24hmIpu z%3PX3qD_O0lwlnPB&5|k%tsII^>$-2JVaq&drI07Pq8~;+jHy83>kwmz0ImIFq(YX zZws$X1$OYNM`SyHAP$Exv$#J*_v?xve{v zWDbi!d}0f9dX_DSAY5mGwL(y*kRU@u5YuwZgZ*?2pUhYLojhFRHh)v}>D@GylWl9u zvVFmn`?@!#@}d{^&axVJg<{mZIIG+ZFz6o#sc>8++nq~|S7cmzKKnqI1#V zXb0Ig$U}ho#TJ9HEMN)FMMso~MX|zzbq}+~ur023xdgnEX@9pMdN7Z?Jc#C5bP+~M zz?bFpL{Td{->)Uc$I4h5iL2#4B;v_#r%HfTPT8Q2KE3Gdfjaooad1`9SGZh4>&XT= z&Q%FmgX-hWG5yoA122{LF@XZCNWgOZ|jVR8h5DNtfo}D|14<(S%jw!_amxcIm-M*bkL;v76V{Hn;#`+5C|jA%^?vA{#iQHVAA`ZH z;jDwg1e$+*q+k!+}=BsCO$%JAl8;X9=O9UW{i6mfKb_9oJdG_HWeO7^xA0njphF()- zt0!nMz0-Ja4)~!)ADTMNc@VU*8*MBZS<-KcO@FSsfh&cB_SWsNc)LCAi+1mvX?lk( zRud(ctlLn+uj%zi;rF+COJ%9rc<|~(Du1t5^L`kr!Z5o*T?$H`4zR#92A>Z1WzigA zVbE01i;^C#$=~X_)5fg3ZmqGYu8*v~&3bc58W%k>Je9eSmRW`dPADo^W(2n!hgHi z_Dx3p>1$PP`2N#B>$I;gTu0udc<4AZ2Wm~5=V>HYfrjWvti|&Z<_PAh`Sn5d))c1PdFsY7 zwdtrQV^wsw+$8FddeX%A6{2O_yZsDC%tQT@U)mpb&ZNt9qockAoe_#eYNC+TQj!6PH_MWhd z@Sap^MWDuCKQ8djUif4aQn}&Rc?%+Llv>EQu3zw3y#nnB4imauwOu(7G>^i^?=|PW z$*NuN&+o=R2a;$3!hZm|3I#BzbU6sFWvJWGM36w600J^xEq{M79d1axV>+rIkLY#K zO9kiTkLQaCBhLng#`aqIqA=7{+c4|-nNv<}YBgyapq=Kd=DC-Qn7P4lZMtALQAJ;Q_(02t{qs?bwSp?@nT?*ICM96w{mHAaarx z_bt`zM;qW;!acoZ_u_zOmpwKtw!2XowYCAa=aUc%tGTWEg)e4CC*Ss-Jt^>1Ug*}y z08{l*U;n+Z>VIbKibs7|OYCpKHwA&CRV5^F`#?rfJmhB(ZPt$^1X9$JEuMO)28x+u zGiwIBQ?Bou3o`bX0xt-?PSee!!cVAO|J?Qm)JhISZM8X!X_eZIqXwmrb1L_ZX*+|0 z>v~3+9ae)RX1zsw>^<&J^{!)i;yq>2P1bSOuY8EWtACW@!-NBuzJ(VUs<46|H63-G zRBST*urJWjDo%`XzcFnfY+B`Uh(U@bwSyr8RSmq@OoG1I8=jksZV(D~q?}H<_dKaY zQ3f{wm48edLbVu(fooA-{@8P_Pa6FDNPJ?s-WmMk<$6ieGm(rP3*r-C!D(3#B~gGp z-?ji77RnPcRKu#h2jm921z?J!v-ZupP{&-p&Ep&|z%2oHI~0Q`T*1 zRjgV~t;JIXHPmU+az_gdV{xkXXB|FQoB^vO%71w~|DsU;{3PN3^WXK_$3OnR*NVj3 z+e}dCzJU7^Wz~lOP(ZK0=06~O_u5_A6?C3Na4=&7-U1Z!EgtxJ+2$Pq*%(w?7J;Gc zJc@E6G~1qqZL1SC?d{~U?kzngIrBYGHJH20Y^{wXcr+&JUK+#5`5 zGuJ7AgILkwAf2=c&A^l@O1#C}h_xgUvrr47s^^bCS}0(3M^mlg6p)~r(xjYiH{G1; zd;X9`VLMqJcWk?_Le|?C1u$!g4kQ#jQzaM-BY;GW zfiqy51qXhD8VLh(_5-5IYv?n&jKzLW!Egb^60l9 zuDW%YW2?>pBAolv4;;=nY3i%3XLwWKabD(HD969^5}S^|k%wH*!uDGt!3 z5Wf*%uRjMBO>7+Q<*78?+v^2)!DuxeF#~^<-CNCW)Y;&+sGxEsWD#r5Q)hint+u>a z>n+~vc->iYxC}6)Eyj3eBd#%1kQiED>}B_!w0I?_?~7Wu0R45nHN4$^-X8ni*6a0B zklLT!6@R}7%oF%h&~n5lH&^j0ECa4PL~*s>bp4R%YK;Z`;f1F#vY)GfFR#YFm)(D! z5^(#tm&K{kRV{t@EnfRc{l@oBpZe!IMs48vaeEx05hpN&NH$E91PY_J14Vm?HVERJ zDp&KNr|7YOd4q%V$%TbZyieehMvDGiS8?N%)~p%fUwU+(2S zed$hDP&MTH4Zk&ux7w6GNPa_<`iOseJlftgqxg!{onZ7KFY-Nyb!V|c?e6rBQfC|y zd`PuEk;be;@!+>?0ko0?#B2`BL6wjaMF?phl*FPX8)t48&EnItz-!ykS=l>IXJ-3s zsG`CzWLW{3*5?t`h8|gDa=I(@iw>4T362|m#x!dQo&7^x!a3J*GGTAz98a& zM)^g8^zPaR#`xRX$vcCu7*%I?>PZIEP*N5gTLe8j1?p~|w;7(VRBq7O5R2sMNssn} zWT)F$&)W0CzzBKmU3L-qfiYw zR&WRiAt64sMZu}aqDN0(RYsO=hN`hrOq*}^+SBE&-J*-YBHbc&ztypKV;`v2J>t#M#Ss*W#5$`9%s{t)sKDYHoi%d5}wgnA*Ok zLmo*Xb|`(h{x=Ac^qm>%)nQ)W|E#jFW`dW^6>6d2XP=UX_Xb~cxQZ`$s*=>7QRTmw zt9!!j_>N1#bfqPbfjE(9TDBk!2C|GrHcKIl83?2+@gjNjuwzkgsJQLzk`}+}VRb`N zD=PwXgou#n-k=Oh+OvNWvKlrhq=@68lOK28G-6CSv|>xmN^O>vYloTjdO5tSXKvDC z@`caM!)rIFZsHxkU$ruPKbX-{&$@dW$`#Ryf%)?%%6ZSmZg5tIcV#?AqF7lXJW#D1 zi216rFBTj~^s4o@)s_~>p+Tzf=*i|MdoowoA%ASxnSR_mY8EnN{y?5EWVsc`+NHZ> zyiuDEx?SKU-KHRGzJQyn1#?uT6&;S}h$=iI>6q+>-|PKtyO#=00v&&`I4r{?gd7Rv z#GpG63CJ2Dy#Rj%ku>c<2csS+skm_0J1!0u*E-@>tHsTPa-4TWzbupfCfSdAWP`eU zugPZWoL|}?wmUV(p1(dJ@V`-Q5qXm*$(``Fq!EN&}*l_;EuKmx;px#&EUQ`Y5_~~o-R=@i-@^vf5sFHu9)sgBeAyD1kj==`NOiN*WO#P)!FU|eh*=2zr3Pd-&h1?h;4hxwbb}J zMdU9Z{_IeqxNNN#<43=6tXD`Ni4;(v<$jx;Q=9c)OSa1tk+hfd zvq`LJvvVoRyGEXr$z(GTg0LaC!n5D$Is9zfSd(@qJsbP!F*WAAu-3QwFo;Q>gk$ZC z9a~;>^Y1#w$7)42H}RiO#;+P51oEFNt8KrjOT6xX_ve3g`@4TKkA1cG+zj=}T|Nsc zQCp%}>`*lDC6*;1Q9v|k(IkeFAi@+VMAsT|)VkT`7Gvb#NlM_WWgByu%`Cfc` zm{&FCq>q2=M!v_Lyx6OuxED9)NorgT`(ImTNfhvSvYjB&gq1`~A= z%s7#ur(&_75jV#UQH4oDc4Gn}>WK zf3|ERZG28s{l^a6(~Pa1-!Gq);JAqaC5C^{stzF$f~p|FLQPC>$aIh?W8lQ#hE8@M z%aSZ_r-!txCd=MpY0V(+!Irkk3rh@HFL%0lbo;{EJa5lNuoRSw&&ey_xSX9NT`mh| zNsz_7SZ1{D1#442QDxuZ$cO*Z{=m)t_e-+drwQNe(Ox~71AySBUbV#lB}jlM4TXOb z2i|Q9v6|ZY3}!JjO#?gB0ofJQ#n{AWD$G*ntSdyo40P76UGvZrr%Y{=B0iW7XE|{= zn&=osc5`4q)F4@HgS19HcVE=pc(U5ecNFZE^DJch>a#g+sx$N-s?OS}-c0bWI|H4j z)%dbxlL}}updtV;g+M^Ji2!1yA{c+e&;;I9MHXM0{ox3mhb&=V?8zy1b4Rv~VI)LX zgilsI5N-+VIWPrdrTCFshYO7+Dm@=vit4Z$Uz3Z)9_b-H6B)PI#mQj0W#0C8_(@d_ z2*Jj$X+Cu3jr@o+_&o2!EH8sCwt_#lClvwh4MM^>*eKI641@QkX-WcO9Tk_FQUX_h z-T9kbxp4!U;|v}Kz^s4b2yX6=+Lf{LLw@XK%C?W{)Adsh4`Lv2tP%!7;3|kmRUGUO zXgYzISW|4r0ANektuB%AI_CD$iUZvXUJEYOKRXj`C*(>sC3d5Ujw^Wy8e(-PtS^3I zGPOod%0xdeid2zRyJYd9ELpW)k*7(2k5}~FV11Dv`E|`t95`v(6m%v3O#z|xkZC?O1ZE<@>a(b60e=k&2c5>%4u#kibN%rk z(glAVE>D+ij*Yp(K57e`pAQgC-$=pyire~OjZHI*_iP>2ghef~xPtTME)9bsUQ#!X z@rkTffwm;26Ouh%*>^0f&FB4<9sFg^)+)~fPy3e{i7Euu`~$8)5R|qOk5FH4wo3kPX`liNQ{nWJfN=q^?c;)M%EU~RuY2t zb~i;~XTb2T3Vk?X7Ch>xdMHTWtJ!vC0)GS#f8FHmtgl9Ihn~#dXi9Jz*HJ))bR1(r zy=&kUqca$PtHXQBASz(4y4rDk`g2bzuYx%n4BVYKR(c6_W#i4%S3#o4t(IkewS_&~ zbHvN)B=+J#?9;Wx+jTVGER->3+a*$x9&*7h+>D5bjT>#e?~z^M$&r{xP`+og&?65e4gIE#t&^iErmk59>7C0j$X2Fg~0Bel_C1Q|W znJ$SlaJ^WY$&3D2rkG35w}}J+Dfmnox!C$h9s5!+Q}Nz;%H!AGp_-t|l^DIdARGp9Wg^?Pixo z9ZUg#{0P*&Nz#Dl;wZqoO>-m-ML-Y8ka4{Ad_B9Ihn2dmdxD3b(%zy_ zu4lzHis8cAtOl+&WA^yWI_vIcYvxg3JT9pvS4rjc+AmR3qhYC*HJL7a{W_}p-@yAt zmIG1K-UL9n;Cr@dKVNjgZpc;*5CY<@t?xU3_TNJ0zw>H8PkC=D|32{aT7$zwA&jcg z2Jn+O1JEXdAZ$a!p$3G#CfXvNMpq>pr8Em^X-b^PCa2!WJMkvRUybo)dom_kbli}v zQ}gC}DwB#`$H^|NH;XEYiP6fPWzH$U`->Eus`Flpx$&H%<8l3V%6yX8I~E(pXqdtOe4)oWhM0QmcN-)@RUW0xz^hVn?WHUE0DOd$O!})dG@ri-GA!48{G;HKWuI7(BHFv&wbVx z``pJ`DdKH|qZ&?uP>rUy42@|N0je(@SSJ$2NeX2R4YWESFzG-(tDbD1)`G3(@jlrK zn~OL)<8yyWO$x*lq}^E9o>(zbmi>4IutzW+DaGip-VGE?V$jF0#Vea&7SjFB==hN6I zzWgzO#Rib_-Z}Kkl8Zllgk|D!rnit;QI0Yg?m7|=tR|=O3m<7;(H>NtabC~Q`m5pZKq_H;{ zo9!KZNLU9hGWJy`yo*Hcg*P7FYihQn9x#@jDKtMkN8e{`?fQP%I6AMrpO`#J67 zNA)(|W@}9G_}nIb-0Ev+6p5fL4M@KV)Eb2`qzN(@z%MCO!_bCGh2ROk{n`$h==Q{Z zWJz|(cZ*+hxboephJLHe%1Iuy%NV@d(nD+_Zwi>|2-Bs0^9PGAoFBc&EYb_)Ca(Ge}X#tux3i)v)5V!E77Zg+Eb?xfpUU)t8=!)#})(KOrLZ3O}E z|NYDO9nD~~NN&OH?XDS$We^q!M-13SLxa7R0GGO{Pmi#;#j>y&vnJ4CU*B~=VH;b3 zjhF0P0!RVpmo;4iEPs0m!A&O_2#!GpscRsGWC0yiO;%%c1bkN#(P&1qx>7HC=UjEv zf+(kEA(mlwIs~f=drnmHxI)Qe;2Bjck%C*DhO?`p2*=q9udD(a8OA_AlKGL{sXjC8 zZ7npz&OsuJbL|__nWX)NywnwKP^FHHTP$DfA<`})QIFA(vw*m=I%v!> z6JD3_T>@x-UEv>taL~T|tix+NRb#p4_do4lza?xKC>)I_2>}%jp%dPC3 z$jVi+aV5GsHfTdy@Ka-|PQ#_fEqkaC<)<=HG7UF%pR62eV8MT|)#>x7iYdL!;xpnN zui<(t@ovx;XwEo~278lR?q_pd60`B_o3gXufW7N~2X5B+?{6fly;|oz35^6!Ttz4v z1OEYl2$Wz+iqb$Pz@Q+jMM1<})9J>@GxL9_x!AsA2ufxrSM;eCM91@Id1#lYW3SrqF^Q@CQA-T}yP zc;9wA&*{y3Ea;y6fnS6Sdv(r>in*AqP=ACMsYxDC77WY)d`Pfh&yNz&7Q4E+eR_-f{xeLf9CB>3p<4&W%9x)|A% zN+M8j(~Jhn0gWG_Lja^3u&x?}xg$$zlC0}u#`un5?O5eoxwl_A*9q@lV@KwBYNTVT4ma#=~+eboW+$3{~FBQ#lXft$IxiH0te6#PxrC-SyNmpK1KE=NsK;Uz5@D(9u5O zOWD^hW#>y$0qUT-B%+|Bj-aDCru7R|++t`4pyqox?AJQi~{?Z2dKkWFv zLDCe2W~yp|e+E<==)v&@En^HE0jEvVOnB2R4d}P8?Wil;lQcSHan8C*Hp}!w#AJG( z^tI)XT_JNa9LQ&_cQRO%bY#3R252!lZ}5Ksa~jqZwcC#q1Z8+`KZ;C~u6yVDd^Z2O z9p8lopX~S>#qa;O9p8)L8w3gZwZ?K3Noa7aG!4rblm@vY+B8Z9Jtz=$UHu8&O2T$~ zLJya*ri*lMzvkA`R$1;2QB@r|M!Sy5`I0IOBr>`Ba#|Lmvg3xdJuA-f(6|x8_$hGl@?%K)*7A~@ibIMU(eBJ`ChO01e)HYDl+kcvu~ah#sX!-~pTd>xv} zy55b$%scLL|8(-?WQLrRO}mneAAwlB#z$p;?poKdu@4J|8@X_lu{R!KMmQ=B5Y;NzYYHT?)N@ioV#J4AK_a%`lr!P zXhG95^ha>i%ao1LpRfP4)7|__U_uF%v#ST zqC%Z;GTtv&k-9I&*Y)LSV5p!z)jwhu(aMR)6kdx7jYT-qxf?i<0K-IbCkp zx*tt0w!9>lYjoU;?G-mJ$nGQNtsXP+X3jGlo$syX8>9selaHGQ{Q8;gUT1C1_c{by zNb~EaY1IglVw-}04HOS3eY0=qET(}}7sDtG)qzhXJ67)UI622x*niV}aJ88gRSwKAT?~-NmeMp60`&B+|96A4?qlzkfhaj^Cj9TSa;^ypfCYrN;JJ1Q#H423 z1f}nKlqPi&{(h1@mkYZO0!HyVTEU}D>I<|GavpyBgc6B=ohms z$=W!{w;1^2&;6hOc5pm@bLre>eOWrUp_bXXEghPqRgG;}~p% zB#pCXQ*5`xE1|~6WolvzVjLAdtrKT@qW6#2WjG#`su0Xsq|Da~wvdA=Uni?zyQq-W z%zrFpbi1%*Y#0~l{+g-VU>4=8^UUzBqPPD>4&C(8eeT11FG2I%I{=LS-jtxJ2=uW; z=yUN=_`Xf9eSWaba=GQ>V(kNbAQm@rtZC5MhQ|N&IJ(c)Je~W;r=v&%jSc}ZHiIId zY0?cij7*HcECTRVklCoPIT9ACb-+8cF@GA*gTx$dgd9@_*)VmYR0=~}0Vt~nE`}FO zs8w{Rh<=}!K@1`cEFIa=$#m#spccraty>Y+e00I$1G@lcfoF(sJGr#xb+TLOhugah z2D>p*t%3wzU=j|Qml1;cI6{8bnSgZXXLh|!*qHV9>Cb(Vds_fXHFOl#v!Rk0p?_Jp z0o*U9X*$DFh)Kde%Bm1>e{I*nSWZI3^KBsx7t$uZhW%r9#debe7kj!-&Z+wyqengK`JdHK%~!Xc5cf>t z#}`fF&YvcA=k>^cn&~cGX-xld@P89|@8EA;Jn9f$-%Jy-0 zt|Ry<*}I%A(i!MzhNJ`n#{L?`7b%D)nPNDkNQ{gS?3)fV@M{0RF9}wh?0|ipLV)#S13qTF zoA7b@v|u&ZEKm!D=nT_!1Q=>Co(XbO&C*E|6y3UE;i%E&UBzS(;MjPvU7+5wSJBIL zIOvi7iog{rD2iDznORoJ&lzPvhH+igao5{>0_#sycs(%{TCU&(iL#@9$ z9y9K5ELh@E^yer0%6%*}^bLv03t%6ya^nkYdL|by@z3q2n z^rp9Y7=6sw>MRZTWre@{69B28(WX=1;^I$({}g?Fp7H&;x0g@2D@&UUf~v6U!7T^I zlOzn2pfvDREPo0-a{>dWkRg$->SUx4nA!M1rB=_NrbzDQA~~Dq z0UMIrU74MBOcY(?G+*-smyBy&IUM|b!3C=b3lEYtXQPX|?N)x;QD7QQ`X`S3OH&l^ zMQ_x)cV8B`qkp<}v~C?ZIPG7(31k7Z!5JJ>dkCmj5P!2Nt--P;tI`&VA{eMyaGkKa zbkvkxo70mj!yi>yjob^+#iN=Ov>Eq#q#@8&}xCzI~ zyda#7L0`JW6Ms#zYh5nJr*1RdrC1pJ^!F3(w)Agk&F?_3FH_#k^?v=FkBNZ*!D0vm zG%ZcSh<^^~Gs@7-zH4ci1}+1@FAUbP-y+7CpB#tug_ikXX!rdXjZR)r(zt|?9Dw($ z2|}lgIf`QMKw0$83elt|Y-icj4fiY;pv1-(d@s4+3l>YMT2Sjp1BuuDp!1;r5eEA@ z=et?%1GoAuw+NxBa{)SY;ME}#uqYH(7z&`2rhl;vYcxm-2{0hi)u(kBZgan$N1Vg! z_&GUY>WMpyYFIZ1N6m^6CNVRUJZN(!%E!`nCk-lhna|^O)=#ya63|k8;MBQGFHyB0 zlbEROi*F;Z+l@5%>I?t&(TMnCH~T#NPm7uUFWbHsH*J`8*wQROowY_}i=h||;3`c} zAeW$R0$Tyym;7x4A%A=UdTvw4fSI&9l&Ka7>V_n%^Yrj?po(;Ul#tP&uslVN98qMD zYFjJ|_eipcJ|JO1hZrJYy8*H3AGq~Cv5%GoteiYQZ+hpIv7Aht;8yj!z5k|O+3mIc zvcC$cRSFN4m7DgHfVwr@YQz*EL7!HgY4I3DW8h^l$gB%Tx$|j?~%V7*O zYIXDkIV%P!MhvGL&+#K_Hy)og)04=Zqns@Pu6bP0F#0s4BEF~D`nH!(Dcxs`AUhkY zIz0G#dSSe5Fd4}4|LPt5WufHnJC%I!3ft4;;cEV`BFo_TH06^2wAD|akeT1}m@JTq zU;g;fxs#&#QGYo0HXS_hx6dsqb_>J|IF?{pH&tsvnhhrxqGCAcvq8XWXh0>B5Sfvd z-hmu=Y$VwJMMp;I-p0t}RBQy8%xd~T`%Ou{%+5_G>@21=sCddYs2Qx!EsLo|{id~QiuFDTVL$X=$E zlhP&U0e^tE-0#`_@?^pGKG?DJ%8`YjIN-%`%oYrNVUf}xZ*TGkC<~%m9JXHq7AtDvH2C;{&geMaRYV_A@?M6^^d2Bzr#dJYt8!~+ zf0Aq3nTesW^Vu55Ep51FuJcK*s>M8#6#lhU+-S z=s06_yv2JxmbZsSPQEqM;_SMNiTBJ*JNGhggU?u#BzDCbcZTMKpB;ztHsi*Oz1>{- z)qk#kr215jnOx9MLW?g#hz`TaFy0+(lT*I1M)`)g%63c42i>{WL4cTRHB1< zO%@S5>KU_LFvMgXWR2Rs45ewkUAn`dw|`#8CUNEqF}->+9SD2BZ@8yTfh~*`wgi|5 zn-fvuZO*KdQm!f=rr2(?kGmhmC(DuV=TIXsExJkx{jdhweX`bO?Wd>u>6C_5hz7vub-F{eKNw zBjojJO^fa1BCqjlwZLfkl-Bce&+tnr78iwh>CdhM<7hL;87WP&_f7Gjb`JuaEqjw> zyj6&GLeFV^j=*Vqn!W4cn|p>^ZYtjXjv)7G!n;ZDS5FdL7H>Fef?-_Tu8a;DB&z0d4);OJoIds*RTn|OF{ zcLV+b6)vQoXe6p0qn)i5{R|c*!(0UP%_FN?82my(YClWDZ zpW_zGGdAy^cZ1EwBPTPozp|IsWgnreKkW_6W1Lu}*VC}L&)mv`cN~N7AmxW*WM2!B z@c$`9diu6$YIQF@i@bQk%>#a_iG6=Iz6xSmqY?ARYSrcI{`9PToqx1>UauohX`#UR zn3M(B1#1`vtHUX&>WoUVGztd+Lm^GUUsWSIUKM|?j_3PJpt^yF09iQ*8Ee1ecIY7I zO=*%y(cbomn&adFNHaM33{n08nOW1mz7vo$dm0=sOYi=mS1G{ zp9=oDhuW^AgTfEfhJQcL+ZyQO;H_=cEp^r~XoI2g20Lr2{nG|ZfDRB;t|np<1V&RP z2u`}%lHm$*v_}dK@J%sEkmDlJSS~fAurN2L*cPbhq{TT2+de`~51y}OOK)D{isUWX z!L^_E(Ait=bcbp`C^2%YU=EgU^Q7-P#DD+&>-qAZwyU_!)fl+_ z@YJXR)F2dNU@QrmL;^E`EYoR>(kT}>h0lg&?%{fLnOS=H zSa`RJgueq}-+w2&TL3;i=RHv%zyuvk!-YZ201Oz=uz>pOO-WjUB|zi`o+#0=Ya$D7 z;AImrttE+(2=5XeycK;xuTc@M>Sb?u2rs(7uUrO|4tVLyzPPJNnwLa<*_X$_yNK5$ z%<^y<=_8by*BNrUH9-HmS4aB*UpKE8Q0A6i@~J-34}WWtz0TQ~?PZ`%F1fvx1O~{p z3L&|L;wA$`Hk|M{&9XYB=_H^iP46+pKs#b|aW>$z1FMGlfN_-dSdPRB(eN=h&q>;F zl+&mwB8X1K$q=2nQfdTtU8Ym5h{JsuUozyHUFpk!i;u?YVwthzUoh{RELI@lpP{Q8 zWnyK20)MY*U+^km{ijRr!>o-FKMXw=y#t9QpsNt6BB&10D|kn+3|R&u0{B0aVsVg_ zux3}%dbu%JE8PLowjW|^<_?BH(-BNIU`G%0rFV1TV==w2}g zxlXXFQI*EMY9*(9hWF~4KTpVWci03Flx|vu|0Kt1_BZ0aSs+AIb{Z9D8++RK8Uz0u zZr5*tl3%jz+k~xI->#Q0cLE&&p)THw8CCEjF0AOuO0 zEa?3h4g5n?1A-H$5zt{GCJv$#Ku5l|Lv+wk5S4i2N#@B{VcI_)j!2ezvA12(r5eSc zjJl}8BuWq~$VdBnk=q)h4{LMVi*XRC8=lu+E0uN@2`ycd1M?t!SF`KhM!4PJ9^D&= zL4u|>TOQofLkIZMvZy1=`lk-b^OTJ(pRboXcmf;&N0(Q40&jnY-&C--K>tf=rlDeR z@1Sc!aSddrLHF@EYft90V*Qc-uy(Gd&y3fDr)!xnip zo+I1&P}T;EUd1Ha(g|$dD|_-L1KrpOEd}cS$~8YT9GyYa^;Z2I5aMOZyIJ0@pMVGp z11SK?m@0+Rx=xoxc>*N?AeU=-0!IP$m$P{Sb^+0sDtZDv0XUavdID7s)l=CK7C0wR zL%{~m7_eKH%z6T8E8g+L#ck6}J_;}YjzQnN+ovlKVLl8B3Jg*QR}1!j+|*bAWEq3O z0n30lmtcDWY5{1M%X~56|*SwL`K5`Nb$0OqFqTGKy?Xf2~nX-W*|ZUHSuC z&nxL#{k=|qMiiPK@W@AJ!w-M{`xWFCz?Op`7SM%z(%@h0;P+kn=1pDGE^s)1-Yz~I zJ)kiBq3d|l*|g8L{mVD$F$3aLOJkZ88B1jv%m7Y(77%LCWm6>0m44Ov3W7Qy@28fUWf4Q(hV_M_Xs|*7k8bv}7 zX?D2wnRJZ>58_TSUW|$gQLgSa$cX{5Q!00%i{Rremt|_%wJwje1gYZe950eOuJd~2 z3`K&^MHZh?$Ms$tVUcKQ_w-xAND{nZv_rp)Z|*eeDRsLd9nL#vd)<5 zM{w-Rlg9aG`_ex$ALH-qg=e<=3|s_v23!=lc8`qQ%fr=mbBn61isrT1ZpYu z;N^W?6vWR>8E?4LCr;sq_19jeY>f7N-Io!60vZ8Mmn?q*Pc1Y2QDf!4SKqy#cewK| zXo6Gnb*w=^zZh)7>5pR{PF12=$v@k)-)C&h{(kkBsDA?Qf86!dRJT8>cyIFG>>>Dk z|Kd9_=u2ORyNc}n?>&mee-!;bWV0Vius8O8j6VBCxtYRAmOoXr=%|&{4Ev6iN0#+b z-_rO?V4@GManJ-VS#Ctd$D3~c!Tj>aP8&7rhwnf-=fgYl=Y9%(R41DOtUgfHg1oM+ zv7qKoW;soee|Fb|J*x{!rs41#3%yrz`q#f;LAGO!(|q4=!8W(O;=?xE4*hh2KNffU zmv7=v0;fo{X=MY-FsfdHI^cXy55V?jRN+4e!d8?=BK(p>f48VEm@OX-A{JMHucZf?fD3&wxJCB98|H~CF0 z{&0d#*g*+{AOV9kbq%}$1_g>3Hdhci>AjGGNf z(i|#Re>Mm;V&SCRCKo)+Fcb4)A9wf=jdFf(_jEnaXN8Vt1BY54DP>Ayh@G+PVR`Zd0cBYe*Z zYl~tvf2xI9nJ3A7*OT#$Od{n~v5$-J8`Va3Z}9Ti|87QWD!u&Y%ko7(1k4_j-L2Jp zeCjvaoKA2);Z~!L13kBa0|rB zGN9PRNDB~I3usLhj+gC&0#Yj2PkI&@`l&Gu*09_h^KjeOp|IIGnBBV}+)KE!=Y!Y5|SZ}6$Vd^UjziNbEyxR{JhBvx>9G6Xn0x$u4mwtr;E&+#^ zt%U+E0Wg=`g#u0K0Th1Oe5q!bV6mRcZ`ybcv?XH|&>Sh5|qWVaJ!E zh5|ML`!bh@zG*R*W(`9I}#UE-t~#G zLn1OeB(q6YN%-`-lQ)D`dFZHgjlsD*tqJYACGujoa)u~55-^J#YclMDw>|A%?(tU| zlHTV6OWZ#_wIXFO10p8Mz(9lm@&gQ|S%^SY4VD+KQWSqevX(*MU5YaY5oueVqF00$ z7$ZxjDwbY!mo)~#Tsj{IWt1Ot<#bfN9UD2NHDGrxrVNG{og{EV??|Sv$d&5XDthd% z`Jv&B^Zi{x^dP}*uh*w00zZ_hJZ5W+aQoQ4PB)=S(+>cY+9+W02xcHU!fHB;A}YB5 zpi==tiqwBd3Q*>+t>CfPq^}`NLR94_(~m>BOss4?Ox<)uUz}sMDkl4KFVJ%aJK#Mv ziLb@Z7-*J#&@cUwvc~%WIa~hhEXj+kT=JU&dmbVS+!4v)mAmX>r zk1~3%1NhUxe>-aG{m74a%+}iZ_VK9*0;st`J4Sy1T#vD!Si=b%_9??O$fg~Us+u?r z+ZbpaJM7#qMfFJZPriyDu9w-c+^!bKlQ|ie$wJD*WMCB6?Kr;1E9J^%o;0%+OzH{Y zz}d{$tGJ0KBXbrXrCKG7lc`KriCNu!2;hlsMFBo7H2i1H`(UE>-kr7(z^!#3=*<8s z$4D6s6e%oCaAYWw6woW3v5nTC$b zwRVpQoqt>NTd({b7xHbo))4p4&k+mg#~HI}kO3SOZZNumk~EB14Cod#aFbNrvJ9=m z6{^n}HXpN`Kv9LhNeF!|qM^MRo$ZwLDL9)^a_RM4pP;lL0P);8QcrzO)sGjIzlK~A zh%(D=9eJ}lFZxIII@(C5TLok=#Jfb`mrU_KVSi(c_p2v!fE>_7RTJU}6tyr4q?$C0 z&^Sc7IEXd~M#T{@P=`5;#UV;8ztk@Vw^nfq5z7)~c%^?{7h}o6=DU8iBaf&ux*8{I zjIp8T%$00}2Qjgj;$z|xv9p@t`UNM>ukm#`$1j6#m2s)*1C(EWkkQa%RJbpC~tc=6|$gdVf?U>Ne|dE!v-$_36!~096GkG0@Sd1Er%PM7F;04)|^X@rDh0k%QC>0_XQ8%~3kiz0w?Qo)jHSKF5B6`?jvjzrgpKhDHn zp_v$UHHX{zQI{smsWNpK8!#QhF@|!G5krw(lr>p%3EWR*U6VvUgwSycy+b;D0H1mnI=ZrU(o?2gE`dI5SaHhk&^W_8`V1KvGRM z#cMjKc5A)&k2+EeYk_ysaCKD=i}@zjwpNXdf~j>KkLbAaCk*c$#ArMim@2V6lR(5p zZdKJQ09YOCtV!Mkp;jd#yJxr8y_)W~&QG%9ffNctVUKwDCgpQ|Nj%)1b-@x$5AQhx>XhwRVmq&J&94K(FhA5@TPG&Pk?oS|@Vya*88=`1*< zfKeM5rRyXRzZQZL9jfW|+O7Rk<~<%gO)FkYqrrHl_4ERm3Xea`FXNi#@n}9EYc|!$ z=&XC$Y)Dq)Az%~7D5B`|KJE8#adg?(pxPm>4wZgWs`Dk=p*3Ec1Ap`J9Q~*G=jVBE zHvBO7goh#^P;BMH3}a$CkVF`RnGM5+G9;jZI&Oi_0%7CVX6#igPZs_r8qEEmVi)5O z-(e+*ZZ6T#Ky0(84e)yAQ&{AC^OGrm>FoSVrhj}tGeP499te)124d2xVIVlmA_M~31Na~CZd$YZgTUx(Q@Yyv zctJ-&&P79aokC#ATYz?0m`*DbMEKnL|csGR4p9(fX*5 zPkYZW)g_6n$W-XN@{iBVj|=j1Yk(i`Z=VeKl^cgsAQ8j}q<_hCXmV^wl)-Q~J~h@t zXaF!&ngRYz?@()~C4Wkh%>d`C1$%`!sYK4wP}q!4$uJZMJLwZwd~59d!V@lJ&JK~& zI-$pMn$1aU&gscfQo%$+9tnE`1b+Ozh>yQ-z3|z4x-&`-BINT@`9L|n_UHWa3AAeq zu#L~7|Fqn}_kYjjUDpZEfMjU`IATE2n#6yLfrGng;s6l}P*fIRiwtFU#Qd1)WaJ@P ziF-OWqlmxA!CYAG(l}##o8u9j$yml~VbCK?b{vWYuhPMQ_Qv(NB8FPBVLfz<*^4nA zI5HD5huk^s^S|+2K14U4pUd+fczrY8HktRzqxUzXeG)DoM?ZO)KTNTGnez5r-mlyD zmpqUHgMTwolq4~VFmV+p5!hO^4wnG_!Q-snqP87L5v)8}F#>;nnHoHAU9b|dj_$}0 zB9G`fOyTz_(0}dECac*qnpnj1dB122;NPvuFu*2|I7zdpgIK!Z0@JCkhp*fM7t_glnT*BaEd&epCcX+|8nQa0lePe&rYtWwgDl;|P9$Upx1|n*3&^ufBO!zro@I zXON*R1V?|>Mnp>yxN0$&WtgDqB1qb_5Jc}t+(F}Hm#kgSUQXG-nJ4U~npsBaQ2t=5 z8T@Um8oX7-&jpf&o7socpe9 z_}wVx`E+@nQAr$*=96A(_hVe!sR?UKvNC71+3s+y13gss8$1duVzQKagVe12@Zc`c zL$J$cr()wuHnE!)d!i>N!FS5H$4l~3Kl0639d$hMe`c(9irbb?SRmXY0PNBr32K7_c#KoZS)i4J?K^aQzzKV<&3$I!mZY=~yeUuE z1B1tNo7q|(Tb|TRp7ny`VWHR~@2pt0EpNiKTBiiew>kfHW4&RB&zXC__QpO>dNbbh z$g>m<_%IFJOG9P!2Ac(}mZVA8(`ZTuQ80gsSf<(Vh+i8~zaIDdu)h+5b7{Juhe8Gl z#7^aI(lZ03PG$+V345zhAIfv$>Y_WY_P0H+>Qm?QYP(RCrGbtUX(bAY7O(dCw9pT? zLi0D%v~T3^R3Chs?rx6T%l=+@5F;#u!VnbP2L^*%M@XuHWDpFtcuS`Z6wrGVWjlX_ zx)6Ft!(D1rjW zkD@_X4*R{;p_NHDp09Hg-$EC`$hd!Si54EV^4|2b70DE(LQ$K(a#1VykW5NvdleJ9m_jYCbPZxo7e!Uiz)ACNx2ya`|E!;&&Q>( z=7B%$#i7D*^AbT2Vz!nEd?hV;Ut)E!oX6B$IVih)(6dMN&J}+(-cZJ0 zjsMf)`5z{|8S#1KiATnCl)^RKQY{VD8f`AyFh&?-A*7C}sE#ux0+dDvU|^HW_~UMVB+b>8Bu4Yr|o)&%cOrvj?QRJ28NuS zPjhu?GKCsZyOLdex1)d2$@`ND+fep%;yd!YCTyp?NgfDL8@-)M%CWM8Co>O z`C^zY#?&mkAjn2k@KM~5eREYs<19Jr!-=rGb+K(t^WfKh?U;K^cr(f4>gjj`?_6sN zp@B|WCymA_VBlyY35^9dRtI+;LPm^2ItU1<>aR@+ags_h3uHFg%A>+XTy4n(g0sjb z)n#%76xmX#l@-j{7{GtiS&xYgk6!zIV=HN6oai41qnUQ*31>F7<&`FW8v%hj?U9N9 z;(k85n3zeSb}Q3<8t}Z#db8on&{HU>6W}M1s0l(`AoUyP9V9gjXhw0&0B#J}efR(| zP>1Y0A=jnUW5{tvPVtzCIFL_yy)UWWVd=kh&BA>nohoe_;|^@V7z`JuqX5w4}MP$&AFo*F=mlzKF#rq0RIAxOx;Qc~PV3$8LF)CwY7Q z)S1V(9LyuS6RLk4V44&JoT%k-AlbtSmIJUIpgGDxU#?NpCPnW^;{<8BL;7W@X2R$@_Bu z7(Rb&f;|l0obkAN#&{V5<`hs>o(m#73#ey;!YvnQ8IXVfzy=61VjOo~F?>-bq#GCY zb7s4p`I}rX0Dz$Z29NDvGTk4!ffpTD6Gzyt-E!@#qRWj%&!|P>u#*DUt`ky=>0=q6 z+oIO2VU0Fn_!{GV`}~g{BJWL*yQeFB_C}4~;Dz_=KR}gs#_mppSI@;TZPbMb0a8Ac zbTJ!5djx-pdO$9Bt=9li^a;*qT;@dpp3QfQT{UiVv#F&#bPqF2PZnWKE&OCO$n%Uj z?#OiJLw24GsrkSgW~~KT(k5D;RB5En15L;&V2W8ewR8MJY$ZPB{~6w;?ZoSD3v zyt(83`e{_*oDJ$%-)Deo@o<-P39MVaA^QadA2@%+166w0mhO9}43DRk7A5?2qUXVt zJ#G;y7wUtuk+hX###uPL4p!)12V$UR&`phwFK1yiI*P)KVvXdAduD84!?-f#5HrKZ zb2aKsQ1qq+d8@kn`PLtRqVM)@9=cyV7kL0K3iV(C;xG>+Myv;F1l$4L2k2>FywEU& zY#V=jHR(K4!3-(B;PxU48WW=UjVQJASpotsnIli+a2q3HdLcA}QqI|G%+cD=SrLns zJV=F-j@b1o9*GOiJ)6r-z8;LVjr8W8UIlRLZPK~scKOdgGkAJqy;E*SncoMDZNnz- zk}L&&fL$I~C6s0fk^}V>MOvUiV=zeYUR8h0+sqC}X{*j@ezt5ArmZ9AfU41Y(`=Pp zP)XjLC7K{b>(yi(8F4nJ8P;Fgjsp8ojE`l0iso%13Vfxt$s+pV)-LCO2+yS;1p_w0XSxFn9PN3SPe8;*zS7`1xKk3w)s_&OKCcMBLF0c_ zJUk|DUadIy$`};V#$&B@16uMIM43*F)jC7XkQ#-{y{ha3zPM)5rtx*x;|Yyo^5`9% z^se5YDWKS!>K`Be|5Pv$)&p2D7}9kpAZdM;BRh`Fb!?Pk@J<5kLrM>KUU1*ybv{eE zFjhoCT*U`&IX$k%b9)DZ!ZfD2Jkoy!=K{npeGLwq&31hZ$jfDBuV>+ffhC3=A-=T4 z_;Sn(5*{jfv-G4l^#3`T`l<)`>GMCO0B`Bj13mOnP>s-CzgmzPVlWIK+NW^__ko~t zK!pQ(Fb{pnfgqaU3UYV|w9$UzU*k!z+X-}=0{z&cvY;+6gtJ@j4wO$Fl@))IH{v|E z+M*S_C>)SyL7=Fyo+^5}UGI=!CmeEdb{PKabFy+Z9iK~v7uLZ*TrO8FWf@D} z@RH?T#OPq%z1$aU(18^|~4h zEs>uWfqD((U}(V)I$W7Sp9kE#*;*qp>bAJ)AnhAeh#=J4g+f85^uA76j3*V=JkPxHaOAC*-6 zV))zd<7W5XL5_ccpvnf;*o6cI;w+AVE!H7P*l=CKaUtFSCgD|_W#W1iFD_WLI!!!h zvztNIxV<9H8g`s!%qGXJIX#+gahZw-gWI~KBAzS99w*Wsl`Y*WqgH2g{9x+m1v_O< z)nUNy?@`9>W8Yi`TgUTdpV0l+(;a}z{`!BqGY}tsj`@H1L(Kog`XBo8V_k`+`*r{A zzW=q`m;HA6Pok@p^LhTzKf_ONw%)&&-oU+AJ?!@m#&%seu&#|ySM#z1-znVo83%`G z2;je0m5M5y<+t2qJDH}fGvPGq)X3(6SP`(~M*NzRk8vQkOJhG5wTcEtLYKq~iwXQL zU8s9eKumvA%zZubi1?ZgjCILb2&iui)&9Tl4%ro74gMlDKwH&*p&Fl}yjo30(VB@pH z7>n2u$_z`w+g-d%#Q_|_>!W6FUM>D`HqQJ-_E>)=8QFS#5_ZWFa%vzp80pOsFn#jk zQHJ#tA5MM)30-ka%Hmh|E?oZ^IPc&3Q@sQKjh}l0{y5iWY>FcxsB|F&c0gcDfclJr zLFeKw2d@E~ps5!#e&pIogM>^mBs5`5PlIMEZqEy9R*sqgTb~JH7Bm;sx;CwQ<^}^< zKjD8R;V-bI9=VvJ))#uCDLWw?mMk+q<(pGRKRR>=9X8i*Q^Ysh6x{pSQrKJT9n`(} zb+d5S;*o&yqP{}{wTyM{umJ?cA<-g9xQ%jj#6 z6K`1hyKON?oxF4pyO8i?0r6Htae!r*ByWEVtr~{1WFe(~I3QEd*a%sHn0C(L-fwCu ze%N?!adlq+7M`)IKHSYn;%}Ewd$!oQ?CJ8Ul$r%VpyOaJ#*rvR&^Smz8OR<0ga8`c zJ4;h^pS4CxEqAOdZ+#$MsVvSHm)x%WaPm<9e<+FjvR~uRUGgyb@X6!)sbWu;jadYU zwJ{tNF|_S4j!go%1y~mhFW5jW7U1qzdB!DmR*B=DjmSrgwL01XP)@tv)dW}_8!8IW zsf${qVOFxl#NBKF=Q*4yYNZcPl8}Ecn?yw2Fk=~fBl?RVUd9S`ncNqvJE?qc$NoS5 z`fyErxc*Xvuej z7xPWkw%l@Q&Xc`x7$lc?qbBNlElqjp1WX0aY{$NDjAY)OUw6aw!hiyk8K-}3=|~F) z*)I<`wK#eKBguMX5=RY5>`*IyTZZ9wNa0>gpj&jFeEBD+_^-Ztr{Qsw?Mh@4AWp!6 zDYZcaLojSd$dD9D)4m0{hU-!<<`_~_NwM5c00I0+E5%$F}q&3dyLmt6s^t2 zDq04+15&NZLe)=Nz}aHg-I#xxC$IFQ2Dg1>Z_i`d>Uun^`~_m z!mGdQyWYgTa0LYR7~sn+#n_BRVqBN-TNa2ISPB+5@{?q8&g_Vbh~Qjpl<;)Pl9jg@p>l z4IcTbL$vGYSQ#Q*5qT4iS|eAS9eBst!Q~=ewTM|>P1Z#l5mhtdHD0u3=@Ob&uuLsl| zecb4D?MNMla~KB4I2NZk+XD2%_H593TGR_khcVb(tJEabK{l-xZAM%KiZ5mgAFC4T zMU}K15d+WR>k457(J~ZU8nM;2!ZhndO@~v|MKfk*ipSZ^qm+L^Gd@O?@OlBdmuK%f zM0V$IZ{6CTOJI6A{j2t@^RLKyRL8uD6+)|R{zdz;A3F76uXpR?;whNyTH~<b%E;Gf||Lw;+gtb~4AvwgO4_)$r`tr(*l{YV}a29Dk z7P5(OnSpL076P*nBDDw-v*z@T(K=R=v#ZgGS>)(u)P#TM3sPy$j$86nn#`LvCK1aEb zqMJ;gvr>OiY#aig&@#C-^3#H+Eq=OEBPp2<4nWeqE<5z4OX=NLH?Zh;V>E;eK8M1HLTQxoJf9jC}DUlC?;<_FO?Ma;_r_F!nhy<6dw)LhbI*RHg<*V0fXfz85 zf+v1*_*rX}r@ql&-|2kwp$zh;_PJk=zPvbc@YMd|wrW2ATIM;&q^}Cx6`Fa}Hokv5 z_t1v9eXj`&**@cb@2>WD6OE5HyKni!ji*$jp9&O%vM$BK;$hjO17atvJG4Y`K7lzL z2b_PI^MVy~8fNdRE3;bz&*l#HE|N=&#ZD~Y#AgXH;j zWNkKh$e;xll^05Km19gAg_8)zjvM}neZ1AZ#`dvAL4Z?%-~-t6Fx^p~AH zmh$^LmAF=Z{Gb1)gOy-lR8zOqr;=PVEHBCtkG8LakH@pzkfeVi zxoOwHd+ayfg%rL2vCg|4DEryH-M#t_8nEdYi9MUq2d6w87$8Q%gu zASlm(Ed_-s#XzPB%F`DaxL!Le$!@N(N{^>JuaFAXAZKye2LGEw;r*7)3 zesWQF3*6J?0DT7F*)|DeDC9uE{rRvtP!5e_cvs@76HQVOcXS2)zW0u7VLPu%#l2I6 z5@ma{A(J?iqE3#20|dg5*<};XH;sQJ3x}fh zymTDLWp?XT`P<>=+)A-`739HX?=$}KewHNNTkmx?zx-n7>c4+n<%`)TU%%aZI>Lg& zkb|Wd5Dv}-NR@+Bi}P@sWi4Q{K=niupyBZF7c8p)@h-iar&%WN$2)^)oy$Hzg0p$f z%=SV^i;*)O_|hU(`QeB>?)iVhG}tyBtZGH8_902AMpRGiW_2cz{o3|cE)CEB638@){GlTA`*D9nCr2TbkTrI#^GPm`{TT=_k4YAWRk&XK>wV&RP44IFea(M! z?>i{l%@X$OeEd<>wogXio%#mM_9h=C6B&>lcI*ZXj3!X+zVA{Vq*@e#0?WZU7U?pt z=;i4eYbNbv$0xh(G1i4Ro=ls|3bq-wpr`Im)31M_u^kpEiStK#YonPU zRfC8d9TMhB3df}#QM;Vf1?rYhyt$_9lU)>D7}+K@b1c7SB|CO(~l^_Hin!mc4r`7+4Fvz4-9K}; zhuO_P$d2;(?3YJN=%4xJX7SxCw`=f82TI=bb{3#Rwol`pXVW+dOF4(JB<*pG11p$^ zTNKcd_zPZ4S{1OCtqZY%G}c;ehE&X)*KBrB2^9lSajt)DXO8HnTLITajN=LUoX-@3 zou7-@bw4?V!(hDNf>bikTD&sDl1@g=zc>9JA!k4R9ue)wAL$;pfBP0`Jlxz5JfOe7 z4!!Q?&z=0{-CuVTx4fQ#Uz--tA;$x1eu1hMN~X?&JN~Y&GIEOo2~_MbKL}vxyUhQcC_~!!E=Xl z#hQDpr~+zQ-HvsF7s_iVz4(?uqkcwz^rpJ!@BaU*|Mi>3h4EaHV|)~6m=3w8Sc_yR z+NCYdvH{KLf-(TBUjziZ12b4nQWEmuOEfz)B07Jo55lUN^U9`GY{NZ|cFj1+ZSf!@ zXG=4#=%v+9y49f?uu2``Q?_30;`tn3Q0@UQMQmH$1A@ppd%tdD=QkB)el!X`m;`5h zxPC$nK@AR2JOT1%iv@%S7H61SB!~J`cQn(3G!`R(QG4N(^m;1IBYN8K7iKeOl(}@w zsl$IY_pjsfiW{r6FqW2?kf;4#zK(|NdZEpDd{jnS$I5MXm%(u)Pe-ePg+|>X2CPuIrN8wvx8Ke69=^Zsk9XWAG@yl+?V^9S z+v(L@4g|><4fKLdcJ(kpvf^;8g~B-d-kEGO@HW6^?#HJl#`H8Z^=uqnWEE}H)o|@0 z3yp1y`jS z+O}f@guyTjMX~q`MgMGi*w~gRiSx^NRgU+KKQ0XI!VP9|dpt3FRGAt)?jI)|)ig&zz?&6yDrK6sspe}rW}bYMHdQuE%;_8nh+229_Z zzJWB!Id^@jyK2~dLGw4yAG?2!a`>N-OTC%9`Tq9$Y0rV7*dRXdDF`J76R)2pDdQHbQZ>=EJkkkfyNPH00z`6FXxbgK7gp##7B%OWO#^A)!Pi zXnNNLJ~<3QY{sjtwi^cdP9N?{|2({)dlv}|rhRP0UX*kVo0AxpFzSEn3GFVF_?au- z4R+3WzXGcKaY_x8g^UHF3lfCPRM*0c^Bff9;V$eECJ8ix_oev=wb916b z>@?pIqQ}mVn)9X{L9o|V$Vx+vs!o$rTkCCmn(~d&CipeW!em5~!->82*>cEMtIMS* zCTlHnoY(Y|m1Tdw+*99Z@)=XS9lW|VzV9iZ_x6@{w`$#bVLqBo_53^#Q*SNFKJ_`i zaa@mM*G~mK?r*+TjCo%-{meQN_js7FNcRTzVe)gq}toUsS?s_9~A1SW%h!*W0h zgQyM^bqvHDEC(?M?$eMvfm9u{A#Z^7>P4b~AI-^R=HmkwXX z+jsRCN1cBsBk$MUlYion>ASt&laGt%N{4>e^A`gQ77z-`?+#b`K$F-QL4u;%#t9JS zF}C%B2-ukEpgahZ&5`iNGi@|JiTn9(yR_D-Ay&8~XJvsj=8#5Yd$useLnzk1KA?uw z3=Km7vBx{cm)e!=h_oh^@f30B@$0!-pF#*PvqyhNpL@t~icimr-q!{0hc3ID>pgaV z-LG!<+?{hesjKa~1jr6xJ0xKo0@n_bDuM;=BJi)ERCuKtl9`kyj;qr!s4;cI*EP0f zP6UID8Y$DZ8f7k*!*)+>G-rk`)W)t;KiUjblxnBLwqA0E-tdk|7lff93T0hJOHC5% z-w%JiUws4in>(IZ>*#cagwO^4<<|E5OKL#;)Nv1cz2_bmeJ72(>o6R(Ny2ry?SNq+ zE%LhFER+r5Elx2G!2W;=(JyB0c9l%x!5}h6Cm9n-G`m1lkH z<29`}GPxKpVqu<4gE451VB4mYjkJF&h6Tr*t|;{g(%;)o{~@gG-C*a1_p9e}pN@?J zRpHsdk>T*IyD-ZjN+&%)?`f1IZOF56f_MQ*pC?XjuE>SXIMygFSG(QFXt~qobT!U| z6>A`d)ppa9w5XK@b}o+6iu7jr6JxBpF%9X5d%XJJx>?TTv&# z=~kTRQ~<(vuSNAY&%=K)3$FQc@9B&@$AAX2#Q3C7>3I>5tD#+Oi6~=@VOxcBu_jr3QDI+)r{XBjVQ3Gu&lbjUuL^PE`}Ls+(OAwkR9TJ#KD|0pMoo}i#i41qJ{9|d zlSlrt+Q<`~%Ds6=OtmUM5(qa2Ld^6BSV(EszHO&;Jc)o=J={7Q_D_HQh!Fe8^z%G{ zhxic%|7P#zgnNK^vvZ3OS;k^5i-bkPg`^dRfXBk3N!bL;v4jt}9NAI%vp4T0A>&O_!^Klk-SR4il$N3D(ktA>wfE0Z{XvU^%oMbPub2TW}$+Egy z&0;_0HkV_;9KAZP8a&swmOrabxK;aMz(v}awngbcp-E=4l3agnl^s{_mV;qy0i{9A+sG_UpePgLUB?%qP^fRw~YrAvNw{P@3)*bBy4V4W}>kg!# zpiJ-~sV8ti!28}rfQ6&5Ly@nNhXFO7s|3t4(p(4R#1Sm-njl%S*Ij+O9iT%^Td%Y% zxVB>ftFx`iLzI8FQoJe%r5UoH@MOLZ<&5Gdr~dVS|L9^z4-mf@~-kcPk953!=iBALh$(3EtGh`Gae0FA&LRb@6mr21d`u>PeiK7wFs=YnG8Z; zt&?VfUGQ}7GNRL@mrJzDIcz`=PWV_TwzZ@P!1OUPcym9iXRS7Xf(y=;biX zcTosCh^~L#4e)Rcjg$J91xs~ky~SUDw^rT< zlf74-uAkzrPE^S`EX{%z0(`1R(ck)sTRs~F&wRes z_qe?Uaz4O#T@Z_UJ|N0ANO>KMrF~FtS-^i*&=Aey-8thI>5h)(Dq$Vs%@No4DlZ8R zs$wR&rxaB7rnWH3;&Pwn*U~sr=4^_N;tKfGUaEdGwMm8Dt{8M|O|HjMJ(N0b3WyM#n|ZCZ zxk~NNg%tV6$6Ei)U;mjE>)GPFL*7aLJ8KHdJcPmo_`#tFrYjubdj#ipjX-}%3?*@( z$~yJK3qAA5n%DJkqi`2{sS>*5CaBg_hsBl&i7>V{^MEDGwYCrQ`fQ>~I;H()GLnzQ zx;Xkw+C*)Us02Mw_zasg$0z>`#`nC%%Jb6!7JKr>pMAOeWlDFqeuU(G zF!|=u`*p9qyuo^1RdEN%et>^QAy{L((&9E~NMO?>3C{*Ov~M#EBq86s6pOA3XoO)| zsG2|@7s_r&<|~go6(IUv$myk&wZN0kEz444r*$M!s$_XG0~82PlDgE7NIJS2)0LK* z$l5@V{T#u)K2$j6tSHR;w8JuhRVDUbElA3xFedknVpvH+Op@?-G_zX?ll#C*Pc;dp(yx z4fH41pw8a=H_%Cqo~l&)ECI4LVEuduG9g*_NgUz>h%H&0u>1Z;fDjWesv!_aG?Ytx zG4o@6BZ#%ME$vjB&T>Z{sw1Tw4d@{`zK-$&6o{94xkIO0Cr^LVvLOS567&&AHM~yA zqAno>G2E6qdHzj0^SviOh#)^`kDefvJ1_G#+#mP82vgsIm!J8#Gx+Z0?y6^NZbKXZ zGz_&I(!n4A1xXeN!EK)c>IPCr8UsleNCjPneBtHdVhxOWGZ+Ih7zKz(T^y9TRQil_ zFHSz#?s-sv%XWXU9fia70y%9ok73vYPtWyJ5I5skTeXwYq>lzN8vHLd!csN-Ip8A(!AO4xl`eSPJxsO-qCWbF%7>?h zm=2aro@pd&Dn>hqg@uO&?G5##P*snCNfkx>r1A2GHgU!;SyGAaAIVupXDrMH!2TUQrN*5~bLtR;$H3gSr# zXml)YjKcw293!fk@7s}Eu;yizGsOI-6&vo3%|YS^@yVYWcn@=(3m>nah9C}8+s7Eo zgB{-`ND5S&uGf!C!Uaf_1MtHE<=6{gZLwN2duxWf~nGNPQz*rX^a(RUkZDxP;{pfRDP=E+8g=Jymp@Vge6$H}`*`C?d17@vW4kscgk|}Ji%~2?`|uB_#bDS0Uq!ey=z3mE z-)ZfxOl6!L^^Ip<>SC9~`?Xovf~;gQBC3DQcCy{+_H^7`Di9mCsJ=MGM`-DopSH6 zxi6xN_jB(*a(8F%&DDL4fZou(Y$A&SS^|lL=d&mS`!-9`um^EIFy}xM`V?i6AW(n* z-p!!K6a-5dpO5t!^A<~WH(4pWJrUIg*QB{}9HC}2jb}?Yi5mWLCOo!Ix5S2$Qb+pK?$GJx1|FA`s3Cx)6ekPjj~kJAjLf(7SI1e_ub zo%7B(HEX2nKAcEJil5}7ZY*Eka(e+ zd1d{F%CS6KeDllg^0_>VOW7PyJRp+hI0EEi5O%|8vj`SVtqV=08lym zwPbH)Zy`y6JEI*cX>>AHBco@yVMM(FK+Zgslw0cG^RlhOGeb zxUOM613Wy*;h4pO%KSy7HzI%3EU0m7##j=$o|J*s`a@F9d50{qaN|fT9=&>bS%~a8 z@U~M1Ezii7az>%FyrN`lh@83}RVCmdJMKDLEfiV~exnETdaVR}i;$rI^o-B1{$DZi;s^E;2_5Dhq1{)c)XzuW8G_PBWJehic<ANpePObgzt3?L`fHS zZyYt{G91SE*oy*YEfao$cg z2cy88=k69G_LD_cPLI1?j1C1HuhHvaIj=)Py=%Yv&CWe#oh;|&^7F$u;@x8JkN3-` z7y`r>5NMGw2PqG>G>Zb}4Rn|U4Fih6Z4RSR8s)qf^8DefRTqD0qh7e-#hi}o4$6dG+3WOzPnGrPz&Ifn0*3dt z{J;nHuJB;_pJ@v5WbomS+tpKR2-Np%cy!W7eTTweGFdqiafk!5WgcNpma{i_xWN`N?^>U$vu5QASPy`D_T` zsW;k)K3BTCnM$cHqF^I#^m?y~tv=lNbn9ua#~9M)aGGTZ3V1o+ zw;cxLW?emh!lEqB!|bjPJoN(M8*c2HFl5~0> zl1}q928~rXIr_3z&H_#cuwcK~OooP+O?>{$vhzi>@EBvfysOCi58bb;H@`4n{lfg% zFTK5oM{b*aZ|HtZ%E2%aI7-JNahpJ04mc1BXed~#U7EEaB(ed(enEH7CUU#j@I1d* zAq~m4907mYQ5S7Yn@xwKM%X5UGqu~fyFr*g5(YcPoT4o$V*b<$lVelf_0k0#|>XI^>dXSku10}Mrq3%-U)bdjZBKV|AKdZ2IdK+gb?4S0 z7s3Eca2Z&IQH!H|*veVLVL^S!04ekWE?mx>g?Cts0Et`Iz)ymaluVjKq~km>^AQ#a zB)WgrHj%pV;!M#KBAU9oaFPzLF2btP)4H5W18LYYY$zfMbz9s254{6~9e-yehX? zdOj^lqVUAE8bmz40c}ZJ?pWSz$CFLXUq*kp z#rnBa)s|j}$Kh7yy^V_{7_3p~*r1WU%bTV?v-P~3)pBqikG7Z9(%3xmw!SmKxADOb zA^px$|M-5_FYE#0doCdL7Hz>Y1gbBR^DK&m|FNJVa3C+iAaR8S2Yn$IDBVLo+#&ut zt}5m%F_v|;FZEWnQ4pGp(91|;xy658S)7w~BxncM&cul_LC_Iy0)y+zgXtPuptywsyxScFdBSPJVud}w>Q+%30-L02i`w>Tdv-R$+_fE|W4w^xm zMIGQUT#^Nq2?@yu5H&c-b}w95xO|p*5nj(@qvRWB=tYHYc~dXFk_}^>NA?cU zD`a(UF4N#J^cZ4_%vb1ov{ipbtI0X?x0iuZFq^w zh9Ae_$g*S`DY1w(gRwUzE9=qW)v0%^;I+ zejP!W@S7a2g{z6`unaiYRwsF|Aa$r=ewHXWr_ zRSxY+-mXk5W5j=!4YFd2cto{hC@e)+tjLM(FsrTcTAfT<@i5RGS-~EWa+Ww=4ysJ= z+8+q8vcn^3{~v#S`{qCY$ZqwG<=%B)Z$Ir^42whlWn(mkqmDxXvCLVpB6q1O3NKvS zqFvB)zi=awl!lfrkHsOgHGn8(1}U%FI+fPDttBj&!SH{WtO#U?3^0$&&spn*!fD`| zEx&6j`&!!kl-|ZTK>yBKIVtiKl%v+$0@LY!I+E;stAqR}4u5?zdh^foohR2|U6DlA8ei%x_D$=+1 z>58H}w)--AU5w^u{sc>%6XAc)p2G=1&s>-GNXKU=9D-!fquG$lQjP}_M-ByL4Ls2c z&y|b0x;m@GTwGwzR(3dTn<4ALb+SN%qX};FWoLg>niP3F`qC)2meJ6d`x8eXCv(b} zZ%56@mUlF_)YD@`1jR&=&adT6-mRU*Q-Sq&P3e=Y`%bvQgWkJu5ub7Gt`ydfop%qj zZ?9l|>l%&R+DB2a_jx!;TipT=sT&5Y0N~u=t`NC*8C7c^k#kq=!Ck(SPq6;We%|N=^btBZf)^3;B3|DeC zmom%!O*e@$4FNsuQ?|Z+-9z9NA3gY3x8fG>^1SY8KZKvafV_1Tdm+C2VR@Qoi{Rhq z%iFQO8^{2o(DNZA#X#5r868Mza1en39OZv@f;$KG9LK@gR|gzb>MG2Hy>U$s!`%h* zC)g|+>0|r4+~nr2pkxD$4Psg@wi>$#$FZVLm$iA`ADR&zWo!4qNVa!1$@(g-NR)8p znoI9MR9~R%$tT|)@cALR`_X3Sl@B+bNM6t(c4gdbKn`HqaxMz=8|wk4(6xz1v95ov zAVi-23mR@JT@C@x8`aukRuo#InUFVYzi5M9R1GZRsDXKVuVxp^Rxd$uI8Ek z5x7X)8dNeR+;ON}rqaSt8rx_tkG9ag-~=A%SDF5ql1@(s!6Q#sAG+Dmpt}G{7GiHu zTmcYAF+Pgo7S)rJm`#%e>=ZBd$nAfGo3BH)kSI#3cZQBLC-KM?3b9M1%@Htnwo#6= zbbZ+tQOFQnX*!&`U8mPXJo|f}Kqlw$I5(3kM-DdIeS9kS5&ip`TJZ6|bRW1q*ayMJ z8Hb`CwAAfPSj~Ran^-8=H zWIiZ2cG)DJ7p!7(7fs{c{xl6q5LJ1m7y`;kTQy{?4e^>eRxjDioSAKtt@m_c3z5T!)n)~ALC#lg}Q26bA(7%0qAEa>K-lx93 z4?D`Y_u;>9?-O0qwr}r$ZwG&t`>*%^+28+)K>er;^CzSCVfA#U$E9v%m^lms%8o^W zPOxD$`y%kb7C)D-j zbUrERWWL|(PBh##igdV~HDtJ|)UE8Bp1H!>Ys*;Tlq|_{BhuAR0`Pl7<1fVw-%6yt z(jMMU5Z)Wc{NvUy<}(KMXd&}&JGwX4`?-Jht2c22SwM0^+Q5J8+7|5d6hlIU&N>_o z3$y0~&g)aCM-c1_9e_BUv)Or%oQO8tAmnTr)Jt@Wcr9eTWmJ?=*DwrRLl4s3(%s!D zD2>t$(%m330wN_P$k2jxcStwV(j^_zpmcw85BKxF&%3@KGi$GNcJF=mKG&?d&O!Aw z5+&aLXlup#5~b&Ag0og|bKN#bQ_S0@7`K@q)E*%#wtg*Sh-V@H&os)Luy$<+Nul8% z(+=<1o}GASZA@mg8(!{>7#+9Y?lUbR#I3@Pmw^IAHaUV=>xk)AqBj`l(v|Wuw&>YN zu6|r-hz8$4edg}QD2WE!RXUB6`?)%(;f+qCY(%vkb=p5wHcevGCe3s;PIpR*Y?G(G zGA8)zYXk?mPjqV}{(R;VHSPgDqy_x(nWnfw-jK0qCGKsa{$8K3)0TRdfAP-#DQa6`v(HGV(usdnrIBlS5EcjJon6+Wu zu*5ODmZMgSrH0fIZGtLTIc5q%`kwJ83Miy4aV&W9>eCI`BEMYcFdpI5UE!s3w4vH4 zQU{OSl%fX&;au$orHkEqcqa3_6nIvMr<;CZw2NtQ-aET-H6(pKHNW4zeEHaR2|>8u zuPE1-@e^KGx7%IRJ*iXckQmz``nq!0vm(WHF>!Yby*O_zKwIn-%OiJQt6Y#qdKHvP zAWvx0U%N_=x{e>bMicceo12uv%PK7CW8O7hyQF@BwzbOsfbE3h_V=5_;icZy4AI1mip^VTS>t76dFd7^Nf6p!*=A_#!Hf3u!v^6+#?KuQU^{+7evi4JuaCIr-T|6USVjCmO5; zPIr}(@g9|BB4hcTq3>mB?v^lNUSgb5qIfr)M?tN)8$Z1L z3iM`l;$=~T{wp5Zyk1eg;i6MU(&or4syF#=T+rXSaw)M;{I^ofko;5pV@{q1 zgOhK+-Bg}qcWp?~^*vaf4RBnFjWNv8enrw3{18tu+Ej^)Kmr=%0HgjJxujUQw2SrA zr!`~e6a>tD(VXl)68`;XmXZ3~TA_th=)im6<1v2OP!q*!dvVUn>}I{H-Za zE&>}-IUQT$N59Kq|NNS3wT13yIPUySbnnK}dv2gP`0^O=T1gIcp9;GjTcvD-{p^?; z^1jmLVh^B3WEZtcEIn>654~X0F{%6gV@EODiD*;Ar|NG9X5q|6Y)E`4J(kVh(ciqpX0_rh=0FA*W-zI(zGOGN$AVx3-(nE)oY7c#$e|}Am#Cm#Fxu;psclr6B3}E^?gqeMnO!D z2pD;F!H+g4pj+!elDt0PVeeFD@cs6FN||(DFKuhE<9RNNz%xp1$h#a|@lJILx98@Y z>B+bwR#$?-|JveOGTxD1tvNCJJX}u{?Dl^iV%u*mX@l%XB<$v@#`!j8;U1?N#1rg) z$vl)@4hsQ+d+na_N`489XNDaBn?z7v$Us8HHT0hOpQdK&k%Ce!dNF00!xw|SvnHoJ z;VtYL$27;mwcjQU1rUdn%?&ns7Np+3Fz;8db$!x|WXi7u6L0#Db)pI=t|nXCrGORi z^4)o(zvMM~lWHQPa#)smh?yHTDi|?|AsEO;va;?FOfV*mJT|Vi7@QPcrEQz|S9a9w z;aQ|IJ#M|nES$xis@eQi7MIRus2-~4>cb*h2N3y?MarMhLVk3ZqxQO`h*kt(8`7=? zd=O}NAWZiTEkHPMm-2ak$XaN)R)Hqnc4FeYPTA8c;rqqgY4TB{DqLOh+ughNQzLdH zX*Gl)5gIz9IOP!jxivJD*ETpkznBXx>=xXsbO{Zomo|UNdVX_k86f#nPTZ%4YB@B2 zT4F4@>FDvt;ui8VzMJJrWKs8ZQ@!#Vv$GDTL}kY#{Ry&!H^H!*jaesf(xQht_u0#; zyYQ%<-)=#xJdXJuO%B%n#=S+sZ&43x_nx_q?PDeh_(yAWzT|b(nF+uy2~h4cZ~o55 zc>v`f&j_qyr^(k$w3eXAJ0b2|ZcEpiaWLE5RZTt}EqTFEsiEGe~>uVO=mSa`F?dV;Po5DBt z&`t`?oiRTkHox?zJkr7(w^kDPR)VBva_-7ip$N*05DvtAy&s!5- z8ZLOdlzK7mu{oTdXB?c7FIepHCaf`je32#;b?0lm>H61)W$ZAD-#;WIJ~lS2wC7QR zv9Qs}EjYT}BuY_>InzIW$YaBt_F~`CBVKPHes{Rcf41e!(L}4c_xW{9>&ED}hL?1z ziuSzhSYoAQthoGxabA{`yP@WeMEMe%NxH15GQ9O8!=}A=bQ%IJ9`D;F z8lo4FhLIpwj|R8Z)^Fc!>(=b=Dqsd$eU13eE@!C{p=b9W+} zwZY13W12S(uZkNK+8!?-Z*p2!q@>;y1{!y!P&>OrqUV|=$q}8_h+>{Q#dPq$nq^Kz z)+jlO`#jMx3$;s-XG8L2E7AH-y`k!W+mw^k8Z z8NEr>xL)PDS8*mAZ|C10$Po(vHgDj349vYRj~Q!)9N8(1@O;=n9J?!&z5I#tl5VUu z6ylkQF_q_~y__WT3c|?L{VO(8o~<*t~c!osbxo2D+ZY^v+LFCahJANg{PN_}lw^gmo_d}8$ z*70J-^lVMXe@!yC73SP-f+LLc<6V3>k|26Y`-^P1nog~?9&o-va1BZ}{WcNP z3OZ3yl`t$ia5%0F?%O0KMpW%msR*lQGvaUT+eOxs-*TFp>vKn%9c>MC z>=h#Ri!637ClhOr|EzRtsZ3VWC0v5go4pHwu$+UGC6KG6&f8c5ZuJswbTak=9U%4h zDkc(+7hy>&VJ$YT0>KNUuaHVcEx?hVND4yZ1xQs&FlkfyUnB?vYQDzR8_~$Z!^Lka z4QUv-9P0<&O^Ei93Pwg*aw9W@jxKj!F{>xf$8e;_ENtixoW+FJ;fX0$D^){Gc0U1r zy0p0>V`s}%ubS4nZu0|UX0ilN8jnlz>~{THahB2lLf(My7DKP=kQPw|Scmb$0EFL-NEiN9SOg>JT6?iV66*W=90rEfFyys zSE~26TNr8B3e8C>1rfhz=_f%(?UI7{gg@lCID#W}5+?I2($Z2^$aODVUGl=VL?pVZ zUwap<1#cQxEjX%s>?#=vR)@Sa8;LoyFdF{8W~Q&yoZekxFSI=-!EZB&&wjH~+XDLT zh31*jzxV50C2PPGi|3;6Uy*LmB3~QvqsyyTQss`9mb2cbv80UD_wWCH zMr#Hx=r>lIRKZ}4?zsRdlxfb#CdygScUQj?K4SWlzMnFAC(V%9dsuV0uply-`MbUq z(!Kt`AGZ2q(=EX!2<6>01g*{cxq^P`OwdmZ zS4qT8DWYJX&z}r&`uJ=UXIL<{%q)H7fKkqjH*u`Z_|v$5r^K}J!{Th4TyyFA-ety` zL`pAuIHJm?X9NbF%Jt+YDfMNFX*-!SZa1beUa#Yc{^WNTP>*e1(c_dJu@$3OIi)aU z73=Z;-7mCL6uvDd4%x}moDZ>fMm=8IlG*f7h5o78N4;RV(ZaqT9`yTieOI|~^=5>{ z<+t2Oz8zT}zqEkB%WhgK%Q=#(;S+aTLDwI8NS-pSoxxb+l$=3>JRFSOe}jzF8ys?; z8>!>RYoy zp0Mzdbw@=N1#&USHEq-P8*`!R8R}I;b{D2_%10`^MOA~cu>Ehbln?~LBD+6cs74{O z`zVqu2&Oq`1gE6V~_ z=CSP@#`DnJ#5|C$Kbi!en-I_aZG)<-1pex52?*Wj?{zGPC~rF{%5VQzez3=zBp*L3_LU~)t2{g~A*PO$BS9R;dKm@CS_gV|_o+Iyl=0{WF9xXj_js2lF z-Yo1WJZ1pmKPmdrXa8Z@M@X||>9 zakh{#jdD_iK3d7ehKeiY8FTA{cZzC^$0mO;Xdv-!plELGLw)IRuS<VA%l?E ze_cuy0QVs=MbKicQX+c)l>SBG>zq4Ug}|3!c9_ks(KsxmY&BT4@*~l?6z#~a@a97& z-LTaNn{mw7qBb?}FvdItj_U4#D0Uo@;vDx$4Jjk7C9xi{rTAUb+{xS*@VsHg0Y_Af+J;u(3NIB zP^ku&$spK<&c1h9L12m+ve;L-c^8hLzgV_k9UeD%U$oT!B17Rh`ZC%4^S{|2vL4L7 zr7gNc%!c!N=X)dyLY(n`=(1qar>BeW#j$7Hm&a|k-U4Rl<`ZvM*=EE|y6x?;A^A2_ zmQoWd#ujC5w*~nqJl-75y6Wt;M_-*}KtNcsxco#1(YPy3q6d+ym+D+pv`}bdeooXj ziAv(orD$EyXaS!3?u%%nBV(d?8ZTg(+A=NPOH=x(4LB(vp$-KmON<#Sx zGVg7<341q&?waCt@t3zZ^rV(L)u|gT_9UR-tROp2JSM;ABB=+aE1;c0dbKaCmdTm{M# z#t?E+Y%1FnJZLxSPeU=|wj48W-nZ)7LP{aa19x^IycajTBqNt6h;O{#EkymIYYo=m zw^KobKueI@C~#PAmZ$HjRNmRLUmeib&A*+QAOFXHD{)AZ`Bw1eJ?xG{RP*H2PNZzo zuJDdjBuhjU9PTKrG(j|)zZSywngr*4&&T8SqT=Ic)3j_j`iiXvX`$JgWix5L^AMpa zcVY4}A-XBuXT@Q0tP-M)(}6|oQ4%#Yr7}E5UN1;g>Ze1=!gIW6kMioDuY{Rs_18hP zKMm#dG^?e?VyguYWC=VX=P;LZvH&{V&vrNqa@c=S^CL0R9R%aFUmMUF6L%qY>&ari zw<<(c{%!e*W!>_Vr0+s~RB3HM`*X+(t8MmAVUvt%!nIn0v?7aa{GxwFcjxelgUw=Q z-iBK&$$lH$KOA{uFO)MOAhqzRL-ES)4yIwGPCbQj---soC_Hz?q>_e86UgxT^ z2DckJ!TKsu4};lTdh?|zM}n3ch|u3&1bs1?ai87ntbM~~gmMoXVydOJyq(+wqjXG( zjp{mi!pA&SnV&=Q(DC#^nrXo&*C0!MvK7IB(J%g2kjiK?GL>h<=Oy zXgAq!ZEVM#N7J>Lq>C8rr)p;qLoONGm!aR^JZls^P&3Ny&!I&>y;4#~UFa0>`mMO_ zdD)c%K=jUu>B=^f?u6tkw-;On{#@>997gYEKc)$j2)R*DpD8CpcCSR9%Miwt+i9O50nxky(DoSwbp-(E?u zJ0q6T+P}EvqiSx`tCO?FqeoxFd0}t%jJH;q3?*n6r5mT?C7tlTG2}-hx13K<_4YxC zpXg_-SG7A|D}~LQIT!zWXy!zpj~n0`dPnl{%Uo1IhFKR$nlG0u@HY@vnTfjK7gON`ni1|_e6_aX~Y>=ASI$|sFXOg5D z^hNnjJ|K8DZCah&83b9BN;-Pmc7j05JsD5!{U?`+!iL%OM|Rufr}ApUckla1zG>T_ z4yS~Us(FQ8>Yn9=6a#K6JOXc#e4|1L{C-?>!g>mI^Nj?G*1nt*WX5nl!P`G6>8l-; z-j|M(kK9KEFJ-vTHytv%-` zKzMnurs=kaOOQPrS8U|PMkipsX3~a;*x(QHy0N%uws&YjLvC&PEIu`j@Z}?Ny82`v zx>?6M3T7Yn0Zt;sWY%S~!`E65sk=ysb3xOPvj6I+g~od>N#TvSe+cvz4RvL2)-xk>rmYcIM@g8|Yr2-;Axn%Ri~xu|8A_@*sZ zse3v?S5*vPLn*W@lN(r#p?X2_Vrf)QZ>$)XYmKFu2pM{e&2Cp+|NMYt>|#cGyLHR; zPz!b$=B<@khLJkA!)tji4WB1N~{Od6fwIbGIJkc_o|Z+y-cb?uo75K-VGyl@k+=o zKC!RTHx|q(DxZ-bK2S>NPk6~Q8sCJVtvJA8Ku)D%a2DkxSZJhwBpmvgNab_&TD=+m z4C^mP!U=!3#?}$nAJSEJ`o7;%i#mR(6C!q%8+>RdBZ8Qa-%dCtl$z?QZFGobi}VS) z8d>rXnV9y`>|KbnoA0>9jby*$jlm4>Z+gM+Re6`_jBJJk*gAhqNk&oOu5oq((UU~w$>^$nV$}fe38Hv;+5Iyv zOH+tF`c}#5gQD(B6=RXP-th9nT93KzTcQ}vq25n;bT8#fK7(6i8hfTPdZC&Kxtj^h z%&*A2l>59sAy)S3th))s8WK?P<1Le;P5TwPj4V?_{MswD97bBe0wvSam?#8uDE2ru zJoGdm9Q|n#ZaL-*bF9Trbwk$RqySwFu7SZ6cC10H5(91JicblwXYWc{wXnDi^6MvC zWDgI-)6|0+v7Ec?QjkuA#nAJU{w%g-at^z3ZQ=%vrT-KVFePJM`4zGZ_4+^;}cZgb%deZ88*nooLz(W&dB?ML(~|A~6^ zbhDr}CwH9IKg(I&d^Qf{ltr;|r}%!FM9RWRQ|K$ZialH0d^dg~+*lADSMheM@ZM)= zf?DmRn`U8G2Rbq+z*y$EoF&8>MJJO($$Y{If*CIOvT@zVX>6vc?~bYGE-a|qCZ$Y~ z3PqZ$p^|o#hoDghC%($;#|-$xu%=#H(0aEPigf}-|8(OL`ElZ@PcZ3cogZ=^Wo&J` z7^Gz46udYUWNpe1z1Xa($yod3WrX@eTKC<@BZl+>%T4c=Kcvqw^eRRMVm#C5in{zW z1hF`Y&b$3N(=xpiBIcl7QO?3*+Gh+wOAsG&oWA5f=@9s&i-X)$H99>StPoV)(UK>V zV7-(Vy{_@OM0>3bB3OIzqhSUo3O9|83Ay;tjLC$*=m&aht7~ zhw%b=*|SU52Hd%}8vX&Y)p&d9=(nmdZ|fFbcIyp&+*J;8LAf9gGjwsZNW~+)lx2G@ zpv0ZS|18vV=G<-IC)0XmDYJ*8H7lqV(}74VLIhWgj~I8;G7mHI8I{<_IA>hRi2HHT|DqQ!GPrNicy}KY8Z31U} zoOuLh|gBi@AUC4&<$wBr$J@(KQ7Txc#8yln`yCibA! zy;Dh}HkVJ$ewQ7&$IHtb`FF0|7UJ-ccv#`zpQDE?JCoV3n4bo#&7Y$XeB3B*JnXxJ zZu5Hs57pxLUMeoR|0-T-FTH&IXzV2sSz32-^@A3n&ZQZ7+~vgHX$lm{d@|-3xkjRh zDvF~R&y4QKkLI<$kfw}6-`9hxXl&C{NLd%=4bAo4rL(p(@|XWGUtDLXB?hT)PE+L$ zs1r3G$UHC*Z96<7_gFGI?Y&Dd0xX@SE-C#wNA3Im zw8|^IO8baRnrlhd?>AWbd#)6J4b+1hih`I$_5y^WxB!`d%_0!?hbhDCj!Ah6htdGlvz zf-fmJxF^DuLa2p`5I6Jy_Nwp{)&W~ocB==4_zKjxg!D%JxaHd2Ap!}q4pza+YF{ml z(XU5YMU+7_|7CsBL|3V5C|I~Pl95JSaYAIG=tG!7dN$)dr5Zh$m>e>(FTc(Vd$S3z zFupnY?B<1aDdNb~e$j2bi0c3$)7AHRHrL)2)t%P#Q1a-%0S_ol9igdZIY=`iH!0ef za#F32I?Hb`55qnU%Qnh^2=ijdDwBH5UJ=jwvF?MGaC6Q*Vk90@@wF<1F-2XUJ`PJEPs&F@p;atzc3>J z2u?Jq<2guICh@VH87D}+N{J7Wn&+ma&X{_wv9(2SMJY$C=)ZRXC1c(CjWefHKa@%? zJ21P*z0hZDx$4Zdzxv+~;yVNFf~q~}gHmM@kJuC^;X7*f20&o{ke+r#uvLRS^# zz9~}sqP$+})urozLQ3$3Tt~j^nXT+ecL9aQz_*xQ7C>*%v_#p&oXN(^90!7MP&QD{dOQ7QZvPFp+DecF3y2u z%8KPfSQH^BJGzyhu%3Xt7$j8OO?CZsT8_U@1I?cVPgeirSj75fIBFPQUqPiup;U7 zDQ(766|*5hl+t8Pd94Ff9U&4w(ES0FvaTA}y?30G-yEQ}e(>14<17quG)K?CihWl|0Yar2qza7qlh^E+pwG1)%bLUq zm`24RCeZNLnM9npG1&M%-dn>@T^5#(`+7g6GNp`CT#eqRD=YAqvMAlLJLk#Bv+v@6 z&W2A3miOP;GymHS)pt?hG~foN2i3&tW;xVy-898e4uySRI+D3nKE$}0 ziP)#-lXg5<>7li(cevl&Y;zranCIeuw5=#pE>e7CW?O2uLpo`y&P0VL&9OG+w4kp!_&aFx)x zE%z^E*ggjxOroR5`Kp{)EaEHq(pNBj9Oudk?N0h-!W`X^)W~PwGlY3;`Ms3N-389y-Gyh_s1S7&L5LoA=Yf**<;nAPoKL7%gnVvMCEt^0 zwT;@H5v@}=am*fkl_^>?@TQ>dx41W!>UYB6l1tk0JE2Qll$mbifC&HrJxp{OO*(vY z!+Tu)4}tSY6}wT1O2s7NMf0B;d+pu3q1s4OeG>oK$#4g*Ke07hbXC$`pNQUGJ3(%K zUp_7>r|8HjP(yoKmpw7|kb3L$7Y|31D@N_g_q_Xt#NrTTG_m<-Z@nsmlRkRBQ=wjh zIu{^ye4B}0`n^AfsP^El7})yu=uK~>je=Q-=;3MT;(JYsECK4Vqb&`)-M+(tF0niJ zvx5(WgwwiS&H17R*!$M&CQFN4#Ziz4$1w!u^J4TzfpW)Y%Ve?_+=9TJLHL_RqMn5g zbROEwR~j8m2&(`M!h+ed)vf1y_TkC$n#}W3Dx1$Z+dcGG7_Ag6{KpmIZ*X2TdAq5y zZsECvW8vDtemf7@^-o9L-|+QIEp+=~F!H^NH8x~2J!0msQ-33(sgtVVcKb0zLvN_# zwx5w#iVKMS}r(2k}?kRegN##hq&OwUOh4#FJwucQT z%F9iRdsl-{*6(R|=z0T3x3HI$e}w%JkT@1R|2EhzB_`~Iw^?xQm9u;Q-l^W-5s$*f zkT;741p#&_xgNJJQ*MsnGXg^L9U@UwMUxDQP~M%i%5u$TGlso}cqgun_oL)TajH;0 ztuSg~{n5__`1Ic=T!SeT$KzSfERsDh!v(zMB95TKJQBsD534b>@;_9nAktk?pdWSE z@0}fWCl?<5)COyY4M^1i>>^}(gveYwSHZY873l=mPko1?*Kwe!cuQJ?Av>>6gR}mm z;qO`d-1EpXnQ*@iBQ19z(T3Az7LLEKBPLs_66+IMNIm8?3=AH?cNKef_clO_sHmmk zHn~U@*Q%aW>0q96KO&A)7h;ub=J3)vAv@x61AJJ*{j2A^BCO@0=|cuGJ;$VA&@5&o zLV7%HP%APcIfjpmq1oWXu|4q>lEd30+RVixTN{Iyxpsels_mMX>5Pl0BX=^N_;S47 zv*T|BwM6t7hprsz5VNt@kgjsmTc%g9ePL24-b)vsv0{4E6vEX=*@htUA!oYaTvKOA zSBMn4%->64ym^0#S?As^^1H`;!0-yY#t!zDohZU@6vNBXP>s(r(+a2TA*%>xG(2Zm z_Vcm%lAO&y{W@ua`L}A&R34|x{}iT2X0Dfte%1?>VyD+Rzv&c#-cf4&vAy}Zfca$% z-D-VbZ2>zdZ6>3~YET3sJXv4w_suC_Wc!g7@ga@=dOJcKn))aqzo2emxFi)T5og!A zM1$_y^{eu> zeMXjN6y4pmm}q+QAZmw4fCy^rVoXV4jj0(Vo~0YuQb+hoB`I&nPp#@DZjX_D&XzU9 zEA*5M(oKu?vu*i9Na?wbSB>1sgF+bFrMl|rcr3ySoxz;zhGfhXN3CQ`3;%t9MWz7P z4%=~QC?D4}RB99P@WO#WJ46|RR^IM*`n}wEqrzJBTvdJCa6Z5NDD|>PVs-i?kR#i} z>D6D0`}U8=)EH{Uu`Lu=AhFIGuyeo5r5U&0}_2^aNZ0gf{%gvx9 z@N3Naa$#9p&=5jrnt%#rw~7vv#%n(1Rbm`bb90xAhS2@JQ#nN!rkn`VuPX7z6m|06Fw+T_1Clt(e?%P=gz8fdSd9f28V_jFyR41h$m)Pwv}G}b}@dlXEx%D zo^J&XiulHwKGNCSmKe%aNt{>W<4$Z2*?9{VY4>_rLxvpH{yE4}SL9Banos(1uVfGN zkX3rObV+Qm7gGvme2#YcCnJG?X~Mt!SwhO{Y**v3q`;KYPA7iR{a?-}J0Jet?3LvN zKuffI&FI$Sjw<^BSY)*zV|il*?5w%7G)TI-%#{8dGPyw&1}) zUJC+rx|nz5L8kKh)mL_8>%eo>RLnLMMpHet^M4OH1HXUXXvm(P3%*4#ifdY>v(xrs z2Xa)=tUus)%}XNzpbrQJycmdw6~`vR>cjV(eUR<6s$BK(Ecs|*)lk=(IJeXke`P7^ zqB-Z|jN5&c(fsO~DaN)CbKz>u_iF)3hXHs|gZ{gG`t1{1o;da_EuW9Pxs08K2GY7AgX+AIkCj(D0K7%mmv9%6HhV zl_44FblF3r|F{jm^6}$Usa5A+3-D0{Cww`-1wPx{+yj}z?)b!Cr^TtyE-lAJz@@K9 zeY-3a$uf{78vdlwNiEc(fNg2Vot1mq>5SLqjLO0mSFj`S7-5%V;iC#9Gxt;|FCulv z1o@x^Co)>kv8y4CC%n%I|6YPs`;bnz8v?Ac{o%^L>IVAWI&}Oi-2XgPan=5RmsF+|EL}s}}9`q}|a- z{f5Bjnc6_5Rx;l2kLMF#a!GF@x+I5?kprn5-CN6@UZQ1mcI47~66COq)^?(FLON1p zS;+EOC~Z{mzZ=bvH-FJ^d__jHwf>rZLz`$-oBXZ$;9px8nIX-$&UK#r^)r&o-PW1= zbKu~?deLLOJ3IZZ+rlU-CL-*r4L*C{QKoqf#fpSNj?Bq?U^xNr0Wy<*E*Ks;3ukp`;g4wE^?50%N}!er#5E2yCY2Dz-SON`HP-w zAYZJp_u^#2+kkY?jYgbwPgs?rl8vFP%o0KYF`qOzn(DMT3z{4_?NkArl-30os*HZDh8B*);l*qFka%ox!!c>qi@iix1Syp1JL+XpI14fIVE>@bce+ml;@JHR= zoj(6Y(IY$_PwLx^mj>u`GD54R%z*-bY5kO5FfN<)?d$qAb4QdKW0%m zFp)8sPcVjsA_DhTedSf`xZV`{E4Fq!N*Y#amG_d*qD$vFBiVjqm)EvMr`ET>-(yHAMx>l+h5(>!WfnxKFzR4$hz+0W;X6{l=fYyg2(AN zwQ)M}WvPisImVCsz6~}|n6nH0FfZngmnzYw)YgRHmpx^j$H$KJ(3@KB1QljKMcG4+ zoTFl7P1@$syzjK@h}nun3pkc8!-zU0F_fvIh_Ai8pa%xfc* zUsUzYG&*k%R=>)!t&twbw;Z?(x{I{=(tU^WX2(Y+7GeCvNI2_DdZ5;L1%L<;5D?H1 zw2YjfGUz}j@E-sf16chJ(6EC67$7}^LAtqL2ELA?BOsh@K{azRiJ-0^bRuY+B7hE! zB?WMyl0;zqh9WFr5gpDTj2MW3lbw(lgDzkKIFO(pI8pw8WKyVLlmdGa01-~*L<;P| z#Tt+SR!DHDlL8l^C4!nc zVG=@rIRIej2^dTWrJ(|&G|+GXOmLnJFS!BoCsww+z%UA2FCh_N4);IaJ91OceujjA z;Dd~SzyhTeMW$?!5Cxc?@NL9_<0rlJB>^|MUL%q)zr$Iu$^Z-SAyir5^%K5{Jn-;@ zZ>k8qhfl63{*P(YO28(ZP}mNjg-R;{bpOjKHm?Bmr*Jwb;-+xG;=+dT6wY4+U}0#- zD*zR$Oaq9)dE%-822Wy~)&H9gni_!NlMWSHKn@5lXLJ-M=a&{B0$m{nc(DFst*%=+ zB^c(oR4C4OG~)kE@ZO7KaTn=I7iJnNkgt&4XxwsHJpWd^Oy%s+m? zU^!*GK--8r_kqbH{QPY_QJ!Za!?voKDm^NnOB*6lNIUH993YrEjN*2ms+=^)lU;r# zG%X{N8p&H1cwJ~~=;%#wX&d}H8R^txAraMeh@i*`i5ED~bpJUaml{%v-SF#H%)fCf z`uwH@`H@;k_Q!aB%QL)dzbWN{`*`C)&G*3nv!ZoLX?GeEU}3I&fipT#E2gOx}#e?Q0GVBWs#)c-_0vYhEf~BR&lb{p_fZ$0`r4#TK z&J=?`xE!kL4A>!ZKpUI^7nB#=Eyr~YP<9uf98SID0vJ4%15poP4n9Qa3Ck(CHB4Sl zLr}$InBs97$e0bB-v6`6^n3xjCuxEHfCpUL9#6Gta@eAjM}g89z}7boEtnaS_j<); zfg2~VV(O7L^5&P;p)92AE7@~ed9m6qoXVq6VkVKoR~CjB$bAntA~^LLGAIinbk}!F zK0Yfp{l^a1F}Nb#zB8`P;u8};(Pb(mkjR6nNt!x$2X-SiN_8L3oxaGb4%u+<5nger zsF-S!b1KAf%gVLs#%zfQI`o`D2zHfg2#B@Dkb*q1y;g2XxK>py<0AQz=xL*@JLj)s zc6xKZr0ONFGQIM9=ksHAea$`lUoTZT)q5A>H=22tH{MVt)Lg!^R;{cL0Yge}`3+dX zCccF!CO0N5I$0=MT4OP01X0|+Un4&1*tfY43Y@hbZan`(ifqrOCx*on1Mmc{LnQ+M zWe|3Q>mf8M0I+~GK7h|dgxfSy!H1#G9~_3##0tAdMy7f898oB;;!`+@_1TFQB!k?_ z1j}X0rgWWAFx*j+2mJ_LrF>RK-_D@N^AP@i7li88POa1$x;W;@mH(y7{m#_jyyvUJ z12U&3gdcJ~Heg!3bdU1?X79A?oeW42a{^0wgday&UFXQ)V!@VY3t{L4=ELRlYx|;M_>-0mu`# zv<6@hK4jYn>zME&VqWp{4|K2z&_uLrplAkUo)BS{&cK<#OrwS3aKcPZX9r{buXgjf z9T0h{EkC;eH#jS@e@E<4nQlN8Nh=B(*A2L$T3{qJ*PJs#QG1>?70~b=U=7X})*E4c zkQ4m;f7Q~#egF{_J`3xTQE)wt#sGOlc$a+2ZUlrHsHr~8oznj>D4`z={&&{Fn&R81 zth=5BD4u)(YlTH{-JHC`n4tqRfDfVwRAv@%MWL`3B0gb-Hp~JcaFH-aFTq8^JgfV} z#%B?@e{u(`wts+6-Yor(hhRGgm;s-${#&vCPhj91iT@e@Z(!gCi0K?Jq{C9f2GmG!`3EzZ0is3 z7QVq~P(Ao>CP3|vo)%C8tiWqOS(N@4p!zTAKj7b!7+8Uabv11iOz83%@B+?_`5b^e z`LFmAIQ-8LH1!IYfX}&H11e9<+HQfpCl)35z*~4$_ZyDhR>N$R2SGKDVJkH58UR6m z-2*rcN)JF69Jvk)l=Y+n?54`PCwf}|1P?;P5diXgnzTm-B|brjs35H;G#xaMA6$&} z+fl(2*y341gsvc>z>>iiwi+d+!PHP1bkGf4UrG#60zB}A=cUciMhuV#qE-VtCg}MS zQ%x|4{|O4m0%<%!i_bs=i17VqoUDbL70iq?SRqk`c4B}Ck_bRlP&zqS>({^mIX~fd z;(`L;5L6l;lm;i1Uig{w4o2t%ARw6j51|PnOM@u^$nyzzh7j})?#S0fpvEUg*d(9@ z_=7;h0WIjMTsHir1I0bL`6DA}Z2{`X2Wo*kOPC)7g)=d(=t|0lIrcyM zcm}8@5efzLjvqt}k@3#xCzT-}F*&2?oC=Bg?dC`nes$!e-N`&ReGNPON@^pJSmEU~ zvopHR$rE~s`2Y03hFSrT^HUXm6)OGw3}!|NtgbtNh@o+>z!=bI5fEmBkuV79$#Lc) zpgg$o=%SzJs;$k&7=?_)HG@`;=}7F7QP&BcM9Kjqi`7tqs_Si^7% zC;%7E@>L1Q1RoBSwt1ks@9w=zcY}h`D2jvrWU}JkcAf!q`HxBv18DQ%09d^kh`$yU+EeQcb&k)%##f@LEVE=V^+!mQ1A-3v49$ zbh?UmkQ~KmNZ}~yOYjpNCA4p#VkZhyu6CB}qtc`6N=_0iBNxe1%4@5uWS9wQGGhy$ zg{MMaFEc`hu2M&3NRVU)k)r(2Owxp6yM#&>($t|aNn1MmCszfg*M;iYrGtHGC#6qw zNfgCNjgaV4oNx1BVbV_1NNyE-a^aRG|CCOBQ zqZcIsH1+MWq@w`6CMl$OmNz7q=wP@ytZ1wy7|u->Ju`#BkW7|c$MLSpfZGybI*h#| zNu_i}_at>FFWpCySv0kvNOF!syOc<7)0F!Q$yo|5e=XTW^UymRd%lWrcr{TqSwP;G5(V zv9k7e$xJG6Zl%PPgpQQ^|4Qts=sViXQwlw#$MmFaXL04zxc<;h9?H zaW1ip5aQ`KHY=_P;8e3HY&>I;ZOq8fjj6nwvOdQM4Pu0X;V9W;116rPij5dV1fz*& z%q8OJ<$qi~dN}lkqbO{+o+T=24bHQp1*3-^r-Pd^)tnheit*i?xkF2P&60_rb!Bwh zoK-^&C>RsiUHWnJ$A6?XGBMgIaGo_{|%N2$!!$^r#`7M~4NmZWOjNwQM%@1L& z6B&I&nLo4w`$jPNB+ID<)12ZDZplMUPWj2@EL3=%5CLpi0;j)>;|Xju8T&3GIb?R3>#`Oepb;j!X~QtV%jD zeW;?LG0YLdxhjU~s7s0)nHe3CDAm&Pw4uvZaNcdv-0qA|+Qh~GJvi5Q;FyQj*A#7z zPGU1NvxlvYZS%Erm;MtL`+SH9-G1tZ)smx8hxYewR@W#HE>J(4|M}C?>T^a0LtZAD zxtZIRmA&j&Wb&-4Ag0gs#Z_}=v>Tn*uHjMdygudS!zY!x>z5~Y>3eE@RI7S>N{Vm4 zjY?eYq3m@R?|X?yw=Oy9SZ(9h)ZD3P@-Lf{1OFb$(k^m5 zwD84{XWWm8$Lo8q(Yu+{=ZM9bjUm)CT>EFM43YtWg;%?5Gi z9eTXYZS`!uYml3fUc1%}w{`E4v}IG1%vtY`&$;(er=qMwYh81%Z5QSDo}3%7J|(S8 z*XG!Sf_X08J$_90Ue;vmuRF~@nOxu6NzXZR#&z%Qt0J>oZJgsC{k@r0QAS8ejB`P| z$3;I69g8UG+4^rgvpTa)jDC6KbTfXNyJ$tzhVr6)t8Jeb zaRo1@Rvb*~`*`K)$Co-}FVN~Q8JT<2X572+$6nT-J56hie?fK!t!{H$PG8b`z_f|2 zJf6>yjTsYp?C$=wNX~s&m~S)2YiHNtD<1eshSn<>+-gFP(D&~n+V|PjCiht&TD;G7 zShwhfuitJ`mcLWZ%v$BV=JnWW0IQ`24t$$ViTXb)dmLHyz;}G!gU&9NXNJpu_)Mx?`Kv+Nhpf*`?E3}B zb-Gn4npU-MS~Y21%iCsq!q4X3O4)Sqe&+gaCGnR#y57&-I9KAhu^`Z5eW%$CY)mbp z8ddiA;y0+zfGBu`Yx75&E6&e`zsosaIJjBag2)>U8t>cSe=($Nee~0LsV(9=75&$t z)Y|;lg{s46jC~#5Rzz;--*D5(jS`gBHYTCV_g}r(&ACq&`8VIa_nuw*bzw7Oo9?=! zbRM^PnR${y>y2w}R%Tz{^IC8JzJ}Ay_IBO<rbTDh!w-^|X2Rrg{-l>JU!G+3NyyQ)vd_l&JiQjQ$m(6Il)ExOU+IytL9+HLUL zUo;}Yy;;4($p;c7Aq9&bRF|HN+P%8C)OP5o;F+c=Q+Bwn__p@vjEC#KH?*nJx!O5l zkE!vEuga34Z312^a~B8QUz9jxz^~n*?XG^)UB7Kow@qnjgQocRvzWczXPYx;G^(lA zu9Uzp$`j{|gIW*SZhv@{?)GWS!7oj&gwOi;9a=J|`|&{mxi>>0r}AG4iS7 z4;**lr@gOS37=<69lsT>ZBJWm@p@i#Cw-LsyxqXf6CRKJA-6U;?026X#dn&P?eeGH ziixjZkg*y& z{OOV@5B=|s>#Q5CTkqM{X1%)2$nj1nyfjc-f_!2b^Rzy#?ly|Re?WFh9x^4eWxF5KK^~H8Sj@a z@BB96)rOFN2cfNREe1Fh-=H!Bn%5lblL2H9Iz4?1<^-1lr z?wOGv%@6-|eA49X?q|`dGm&TF^wr-Y#+=(Rv7J|6?uzr>LzkZDFKuRVEI92)oXM>O z-|to@f65>FWP0|V{{G<@IKb{!w#Db$;S`(K*^ko)%z0tcSO0^}$7`8mVyC3v4(v7Q zvW`>t9%KddRN z7;oRR$tj19TYDrfN%=jXAoa$!8zv)ynfQ@@iH_H}nHyd&ahtw<%Fx}@4!-Wvc-6!a zi+>My>i+k@?}e{=gk*hfuyus%%D?8fvzA0}GcoA-sOip^UzpapKYZs~HtAfwXu~;| z(oG*zE#*xnB?-LjrnR+vv zq2YkXBN*b)qH80W?_`RvWLDWGatyTzt7UqdmDHl^|X=EF$wtblNs~u zl@QplTftkQ(9z63!sF{`MsVt_#xhpa6`5(!+zh*wFCpxYN%u?!zbXga2QE2Kk=7NAXqeepenM?s?XFHpDO4$9K&3ICO$ZH-W#M*YvXK0Y}`+TMs zEneQmBj8JEX?@m4{l3BuDnw*>G;0HIrCha;(bv|Efvx$Six_(yk}6otWa^Ssr{&CI zn)eDZum}Y_bb1x@n*j4yGhHc~<$7ipWpXhGduo_n(FR73lD^!?yry~AHZx9A0kQr%FtJg11*018>R(iw(UIwD^qMkn^Hze$WCl4eC-69PUG=*lLa!|%UGk3Jcwi2 zlrbKZtW5>1RESb9&E+tBpHF&{ zB8SeDrqOCTy+}HXR%z67X$kGk-Z@e;1!3AMSE@^gn07~`ooQ;rdFghJio7YkOH(dI z(m&MfmWEMhLO}Q`9l8k#i&{IBl_-@e6P`*TAc<8yTp}%}sh!WIt!V#r9UV9UN2vSg zY0&My0sXq^D=EaMG2O@4QlW=izn3$mbRB^n`czY03FXqYltBJjI*6*(F7Hp6 z64<9OIGpH)((mw6W$qX0J!-N8UF&pg0pN5r%7t|&P-K6HH&WjEChb5`zFPE{e+a6` z2X$-@^Bt7S3dR1A78A`vDy3s-J3aWTrvEtok(QA`q09Xi`Q^aeLL#(8yv}#jWo62a zf2DN^*}?HF>|j9|k(Ca6gBDhYg$+ksY)-=dpyiQB*{(D%R>pRsd3)uoA5FdCSO{2Q z3f6#~L(5&hWRm^}&^kv;h~}2S{!RLHsR1hTQW&CBmaH7L<5?C}8M5O^>*=lt=rR{5 z&Z6)mFcmn8364F6c+)*2b{UZ~(wNPr);ZY1eSbPotw0$?Fe=wjnWAV@Hk;tSGi4i5 z-5o91)>Px+mMjG1vBvkT*aswq_S&#TBx|uP+k_V9ssr1Mrnow6Ps(J73%h}ma`o5| zG&Q+CyP3A83x7jx_kud9+9b+MA}e9fVeX3aU@sEx?w+iS^7Qv%GbsI0UzYZ1WkCbB zsbKs@>>8@rj>haALYm>vE~3^A@mxFG4+4CV42|HFzl3=+`Zb(N>l(nq5p7(u6+x^v zWxpnvg-{ISp&!jy+L51z)JUudWqVM4+C{J%sZnRzMaI2`Qk+0Hb0B;e%GxP?Te1*s z!hAzovHwvmv<$hUy10GmpnjgQwXYhEFFU+3-`m`e? zzvpe0U8C3_UD8$)Mj2ij1tPbSu)7-qurd1d9xONgG-HJpOkxy>?Z|c|#fa<3l7UGX z70t?NX?t{L>5Pgd#;{}zL=(HPuvrWmCv;`asgz*t839;hg$^<@WuZ5g@)G6o9;`dn z_FYew_G#tZ-t0X>i$>z#X_5x+{bMA(1F;JTyqym$ntc~(|0t?Z3EH`i@ zyN;$FC9&-(Klf2=5UtW7V_4#NA-A#YQG)+^EPIn;9UTwWCwY@5vhg%kG>IKaQmB0j zd!4A{Foi87Smje#dkQm}%AO-x52n^I+m+7RQWjS;gr1MIr?JIk9tj^ac&RQFp#jAH zyCUrcte4VmItwvwn$?T$nl zk>MP+6mvN=mlbBkgn8^t%5IT8+K0CT+Up=gDQkzC~S&SFsb zZioY8X~_34>=xWz$nK|QnU}>j6H2w1O{b|2OIZkPV$CNmV<%J9%1s7Nvd5xOm=A8| zSW;*<3nyDJUJ7ETQ<-P{e>mcEiOqFTbbB}pLu5h;4N#W0LSNZyC0m!0WUOLsND8fA z&0Zy3My_FDT>|{jinVMtNvvAOJ|eIQ>uUy!svMTpmIGFI>+>TPJ<>vH%h*Q9QKGO% z{r+QL66{tRg${_iZDQXM(|>rddh%^h%!NUn{NVsE95`}Be;F8y=Q9dZ<<`w?5mju~ zR`!>KjK~>RS8CmXNdtGrdS|VD3s50*x%7FCd@2N1;Y% z*oQP#dX|Ni8HTnv&xTODkClvYxD2{B;?OfIeEf-5G*iB~z`_;}Mm%zv{Y_Jc3s~4w z!Fj8$v!iJrH@M9v>XE$k`!!=h?gO?D6~aGaTj>yk?D71txV+!U>&v#~vW8#=mFbL=3P;1s~ZelDJaJo+YrX zGIl9t=~~XdAt_||Sr{J;zp&Ry=RKJ}Ym74pafDw(RPmLqhmKh&^pX2FSb#SD%9;_T zUB0sON#ey*^TF8r(+Oy2xryAaBdDq+Mi{LTI%EEIp( z0BzkaV4K!|Sy;;A)HQ8cnhr^I)RQfckknI|%vV<*pxqx$DcF<`7M?AE5807Z<#o}b zP?;ghn!)L#e)bAuWU1?h zd>b$<%397aC@WsZDwFJG`MLx*Z&!=3La=LZP`Lxjh>(S6`^XsNJ5Z*F=D|aXMEZz2 zGGA(i^>t;A+Jta->%TcofXEUAb*@Ed*p1UuI=IRrDbcWcvNqZZtl8GlGveHU=sDW+ z9O^E=t}FmyWMoiRAy?YE$^0nZ-B%Nu=>wiG+S@=Dg%mCT-Rmy1r_h3ONu!Pcy@maF z80+fEyfKQYGT2krlZr&JH%3!?y=5@7;CeIjl`W#Ftqo+$Xez`{_JpSF8p~WMd$%{+ zxJO`;J7_TnjvgrKjY8dEAlmFNdr!)KctVF3Wq@%Xl!zr|#|RGD0kTRWsVYF0M7fR( zlJ%vj!eAM!kgy()o65XsiVKl7q^Yn_Sqqw)6($3(3*&LkW#FV^vu(P+J!?yj;^G?m<4=0Q{I zdepSHn>}T4wE)xB?<0eaLYx{IE9*?#;OtQ447}}U0{wxuLDIa@?*Ij_bm=EEqyzzR zGT4p9q~Y<y8*KKRP@BbGC0MB>8}ix^`(P=#|RmO z9B|&ML|F(;Jx-Pd(v-y**&CYD9xsD{1jaixQ3mT4oGP9yE1;>|RM|kM^jnXWsVBM zY2Mn*k-MN!xAmx_bt6jQrIZ%QPEsu{70bSGgw08a=Ew-ik<2W=h8&#O@<2DuJT3TxyD9&A8Ud9qW7tG}6PljUI) zZ`dUHc?xZiDPKYbUsx#jqR{V1et_oXZj#rhc@J{su;Rj8Z1%{XFeLTskh~LZ#~qH! zKhO$lnlFcyCdRWkBX2_oo+IZ!&-?{7)Q8?P!XAY(=d2uDM2vUwoV+{b;&e$~MqAO0 zmO~vj=xZ zRm&ct=!|AF+%eK^+ugjq7ze_7A*VBPIAu9R0be4Na&L)pIV?Afa^vOPM4Fn#aj-Xm zRo}&P!a#pR!408#K?WQwM=`XQAy<#e_wfAsr9D)g1&iHeJ9OhY+_}nf;7pP4Oc>Cg z7;yure{oOi#R`07>=p#iyP})sTw|1#!C5HRm~s%c!A#GZb8vwMryf~ym6ZLx&`O^? zu>1%Jd+!#p&mW>-Q1SwfSGwD9=PCC7pO@2?kfN5hdAyc&YDY%b`A zD`%kG?!`eI7MCE^mzzyZ#Wv(R3P$tew$YTNG544XmAj7$e+CwjTcV7?u+#>juBhJ_ zg@H0KfcrrEUA<7QC2jRd5nLJJkK$T!`$!dMZta%*6RNlk%2*H15z)ndoPt#jh~(fJ zBGzSCYiJ9Oj@(_+Xv*R%q!7%rXW?di%1 zU9Yek=SjQIpPn^&Hodte0$wa9_fH zQ>xXt1nwfm3mwS`9zowkZX(Tln9M=+0vED$6!(PY6^!M6)4Z$WIl(LHIFWd)XHB#3GI&g9zDyxp^FXba|WaMTtN$Yt%BXX7WZg zlUD>$?+3n&Jx<4Wj2-f9z9N{4>`-P|au<&Hc~n>NAS2f5ZX@8=;dnCOd| z9N{*Tf()0w+ttw*|t$(>PQ z8KB1&RAR+i;L+%?LwE8*hB}-*%DKnYQC@$+ zxl_KsUviyk;XA$I@(8K!Tkad>R`rfMPO^@^$60vecHc)XkR-}Ja*avCwUqPMJ>7F8 z>Q~Bzk(~cZxz;36TFSK|3I8A*&Uu-=K)UcN*O`#M_{znTMC3QFH%V;%#tkJ2!|z;Ik{J4(>qdC=+iuYq zUHC4L+WZjUV`>ste{kIhMcqnn5=rD#a-(Em*6upqY;+Z}{>cq?glg;#)usBYuS(&> z^L|S+BAn5gpPVTnY}+!S%`EivCugQpKaPMbe{p7nx$iH|M)$joHoDnR+XfB$#W|Dg zg*bbPt&r_e#qsF&FV5BptI?v-{ltqPWec<~cahvj8U(h4PunWs^UhA-v*$O*Aa{Fh z6SM|65`>)?;e)*zL56%Bv`tZpK2H%0e*?l}2Q`8|>i(OvBbxO0DI2y2&Krg~!|GS0 z$y{eOfwKeF+Ns_)&#iz{1wR)N?rc=?n`=ZE{(*4!H~?bz#8ree+CyNN>!Hn~k$(jB zr~Co!JUroIMiJb@IsAts7ZFe)&YtNlkVyY>=A^KWe<3^Hhh#Td`Zx$~pv#3~W?|6Y zh6EIh3jKMWD6}A=emRQ-B_fMiyy)DMXjniW71oCR|5-Me?jQ7YEk9yt%eHk zQv-a7|Al+%Z%k7c&L?Pp(RNrK$UEWO<*~et?o*oSje?=7h%S>@@3%cchraL=>$3X` zVc?#v&07+-Hrl|U*H@Bjk5+xvwnE9;LP^swY~LRNc1)YMAob%B+M#Y5aNY+$H~6Xl z)}sn-K7jD`)B)N-)dKBM9iG}X17}xj>)=w@qYxb(Ir97>XzhPit6LWcyKHdO(rT?{ z3aL)I;HbMu98j)Q#{%W(@=}zitD{jTFn-wRa?)B@7Ni^NXP+8`PU(UIBQ+50JiuSp zG1bCvF=%Pk?xf;o*BXWD@wD0PyYTRP)E@|s4AZIA?B;Poq4w$Vw8pOJL0PS3aG+SG z+W@T{#Pg20d8=+Ag4_l~dd+`|;l`(wuY>xU@wNn2eOt9Q>S;MeJz0aQel0>vE2f4a z`M>LaM5L>1F{(F;ZVad1OH6nf z%8|il8$6g`qV9^vSYUd{;s3*wqJ^fsAraKMhj~#62$&BeVK0%OILH4%?nQLI0TOi% zJ7Ksbij(6PD6DyX0`iap2sx`jb%>NYyr1uKkkAyK?GPKaye>sG94O;a7{}Y;%e=G) zR%2FWu3|V zlp+VizjS3l@628A~igY=QpXJMRthv9~S8gO{`LxFq@ zgqjO80QiSma08TMD=1x#81X;>-cT8=f2xAy|{qkxVrB5f)Tp4inAs+E^y| zH5RH>CkxD`r!E?G8iqG={an>HpZWsKrk5H<+a+li-$${B&w%yT$+fhGiL5sbgy#C5LS)r`#6&HQM-^5) zt)2$fP`w}UzkN`SpJ3btkg3~pATchCnZqE|l6Qrd;HOO7)u!}p1Xvvh|1T_i6wC33 zL|5|QNxBW_dh36pS|E2f!Km+SfT71wHA7o*Gt@O2riQ_y2|7EmSDr1k>D5lsSOFK zL#UHI-<&vXmv#iVp95L<;nzrnWHLq<-CP7!c*CA|A-GY~a&s;M4h{_C2ZhvsWg56F z3Uc7h|EW#!DnJV*Iq-D-x6=V?^D+Ln2bmuTW$>)@`gr420d20OS`MTdAO}aj3$c@3 z5Ol-tlaZq%%b=I zsl7^hqCsVb_&P%S!5)Hc@0BnnOl2MD3nr@0j9moXpjB!Z?aV~gn{@!TbPa*kL8WUT z{-Ro6w5K7pM(Xl?fE)d=SJ?GuI!$Nv~q+~n@(0M!}R1wVO0 z=R`uF>1T=wj&D#C&>DE>0_xdpBH6G3>&gd{5+%AqcHCAW8y-NZheBHOJn19&jTBVw z3R=I>Kp-!q{M!PszoGsM-wy8c4j6`2p4U-N5M;fBWY<^sWJP_*9=VHTTOr>(T~l;@ zH&njL&6To++M_E5UChV2Ta@nhaUWYNi~Kj z!X&|S(oK9*{1rIbVIujT|0feC()U*l*Xb}5u<-)hO++;oC3y&|yd56U_rnjPWDg!% zu!rD?;P+r6L11?n_WVVp>yBbnTU34&4yI%Gfr!!^0L0ZFh%!8Re^Nc9-i=Q{=e;Di zA}`6P{a6Dpu>PP^1ZIb9y?H~_%S#x>r(oEIGn%lAUc3dd41R3}$I|d=&4waH&CaR` zXq+V++y`!QKML9k^je%8T z)W+8_Y6}$S`#;>lrXm%mpvAs?6m7cTH|QkX#H4kRV*}omBB= z2|Eiq6?esOjWrW~@1`0=-U93N5s6-VPenung1CR^m_NX|R&;}9!~+ffkamZ>oNTHKXC72cpFF6 zlZmTp@su)&%g|gcVSiQUZ!HjAEfN1!_4*F!= zHLUG&oJ7x>@XbkS4wR2zFG0)3(e*`F!ABv4r65WiyHS5>Yvx@0am7arL@Dr zyAS(PV&_8pn@WlkdKx4MD8nwwv>!;jDQ}Lh|Ijr??w`4TqcJ!hqW&9GN%2orf+K-j zGBKOxR4K-9{ZoZc8x5(8&&Q5$Tmfdj1dT>)W|ZBOr@g05Q&4aEA58A0E~NS)q}svT zj|9~fy=yACzkh*&?(1q@WHb^6fUssll?`tOeCKGRQ6Vs7L9Q7(1OFkl^$0-P;V3x- z#+slIA+TpZqSF9;cw`coR=j|`h%srf`*H{{jgVlbCiEc)U#XrUG7sfxK-Du8;E&+g zy(ZiWU2P`R#bONiVKv}|p}a3qN;?cdJ2gS@Ad?3HjliJq5Ff)_%ah;^P*^zciqhnI z99dP9y20->;e99UZi`~>TJs@Xrb$U-lquoB)SV|F@;cMya3Szkq8;moUvl(0)ft~{jg;*D92%-m}L@ckOisr%`5FG(L zRvA%c(<6j1OsxI_XImhFAeq)c5vi3)jkwmxrv*;~p7;eR)S(4$uA@|eJCNCySV@yx z3lXcMjhF@hDXT7d=5L(ENtW9JMHnk2Lma3*1#D|JLT`Y68@ zZ$M=4Oe*%vfF?XzT03eQ3sE)=zOaCVVSu!+29dzh3nFDT;50WqBa{*;NSuqosa|UE zbuT@-HA3oE)1*Nn>zqT{t@$=YEz#>*BBTHxHRGBGx2QW$blcM!gyVxvZ6E;pwl!}> zWM)V&|D6PE{)3-*PpLC427r-Qw-t=Mqb(@g zG*AUnpigaiGopb<@CYYdP#&6~I4Jf~zz>b$?Mad2qJYcwAj$>a-{MeJdtvN`?~2aG zpr26!(af_R=QBZOz!Gh(x}w5YHPs*rYsXtqleYu; zr-o{P;9)NXTHj76foxI6F@m$OdZ8$;x1jH^P5@u9Km!i%pt%#J$3C5*3p2@r{Y~EGBo` zdjLpmfLy%#Di%<)dcZ}b=*M~zRIfX4Pl&>s_MeUKQ%r`5$WtWm`2)(ohKQDm5LKQj zF~y;^CP3&TBC38QCNf3k-G$1k?hZ=Vc_M~O@Dp=1J{Z>n;00>9A1NxKYEn$8qW^O8 z?4EpGqQnWa+57r~0-vC*;GQ=)xf>cQ)p3y zsqckGx1EjP*gP!o!$nN@Jl7!V&`WT!GI{~O24BS>XY{m}(Bpq%xPugpiiOQWpyE(i zZ{CxXEU7nu-dIu4&fa`IQvbcLOn);T>LSIUwrPi=ir#z((K0VbK6@l+mjXX=O?$xR z9Tt_?hj${VF_%5GECJ0Ne&TWOt$EWzW3@U1Z~x?{Ap=5Q)>gMvOw^q z_b@gH9{#I?d{zk>lwxKVnyF!CC^$~ohV2jsFs)DmtA|R%Br>!njyEA84XvLK7E}V; z&Ct@s>y5=>Y62q^4BOF!K>dzj?X^^KI3a*gYIArA6x)`VJvAPr_ka}uY^#tEKishz z40k}_T|pY4R=+w}+YRsA;(t+DAb5?CM}`xHqNnx;0qa`*i`rk<0@NM=2#?zQgAg4h zu|Y`#gt0LlW4&(szp(15g~rW~n3J|v zM^W=by`jA>gQKpby~_GXOf(KgP(SX_uLZi1pxg;qZHv!k$WX-)zB|z@YA8rQlpsN! zCP-|N!BE&ScNh+-q=7;^8_>&qN;4>CCm8<3i_0Y=HL0pbN=ykAVcTpNux*qiARHYH zhgla46Z-!S3>!9D4YNjnYn%)PREAFC7?hR3`=QtbVP9*ecBjZ9DE>syL);5((V_&t z9T7?DvCDXPrlN#%#xFq9;XZ6QNVA@QKx(h)$OAkWRci|vNIbNyoCx>7gJIGA zXt>}m44MC>@jAeZ`DZ&tJ{f5z!amx_$r4KxmL$~ZplutSszh>gi--8-Xz>^!ru1kG6yU~X6h9WiBz9wkYF4D4bD9XEn!#8g zcG#U!+*skLPVQJB{c;_XI->Vuc@I(`^&6nIwLE!?qQZlq4M{!C9R~~o?$F%%cO*V2 zf4rdk#*8nzH$j0U=mKKh4=Up0tUr|@*+BR>T~g-_6^6ds)86k+4XV+sfv1QAkPHpn$W zrz&A=c9<#%IsWVI-fK`TwoonN_|L+>8brOvGRA76iveDtvw&z91dha-sv(ewqb`f})aa{I1^@L*DyUov!+H%Pc*50|2q$Lqo(kZNtQtII zD(^+)sGoJM-Iep?YIJz$l`d;iAIMto2DRS6px9j0A|n-QbfjSFqhV=+xt?`uXv;$} zQeX%W7p1E~4UIn9VE}F-HZf7SBn=ckVno2mFrD`y^O5f9!H=eb)ZOqCFLh$fASfHC zXN~q)D5Pk+83TS>y1;9FI!tc%<_wC@WbE-HvsQ#z@$n)je4ecybeOuLqTH;(^~(?% zW19?MvCWb}6(d1LGQ7!!sw^2}ui8-|_4~B7qe5lYn#9jDcq>xQzra|h&;})Ef}0RerY7F0?H^~9>(LrIyu9~mhdSIxMu3!`KJ40moK{U4*#nL<QMdx z(|8L~>ABaljzh#pOa4#M_Y0^CrwLw#`eE7Hl{X9JPvhH=Qt;D3N)uOfdKzqh&T?hE z3~Ct$Wnc^+PmE!L(p$i$L;iHZq|!B{D34D3|K7VB|lSHzl0g&jrpso1yRp z;0}lBu&^&QSBM5!tt#}%1ZEH6C-xhMglORBhcE{J#0Gy{-4eC~Y&8Rp8;ZBT0z*}_ z`sma=Xc_B5Ao={y==7BBi7SIsowq+FmSWx}2vR19INl6qY^F;8{6kbt+*2tiv3xx^)A;xOkfnW)zMBq$^MAhaP6LL~PHh9B!Bh8zA)qyJJy>hWm3Sb_ApLkhP zI9x+q6Zj&RdP?S(gF0tMXuv&23UFeGYY!IbVy0){7Y9G}-vP9DIiEx%AKv;W9ghq* z;5Sr_0jXSw#DnvK_dmUnc@jKprgB4%WP{{`5Of#d9n@ac;kTW%CIB@Kwe}S8D}o@r zfbWN*MlojUl3YW;@9HQFcdL0J)P>woT9G)lVodX;&vcYFGF2`FSeIAJOqPFfA>N+whBr&bG1tPJP+ zrl@iyC~ytEe1l@wK!10dqIRn|l(UAfOI)WjUyDq`Ko8vD#J4;mQ#A?XYXx6x`ud#M zYCsOrsqIDF0|M~N+|bCi!mPS*EeQ5XBiZnJT^eKbkDJx@d4wVm21Xh5JMsLImoCtS ztmDmyuBQehw!nrR5BTEwBp{RE2BO?`!bo_09f%${P3@`i+3SVavGsba)eJT0-(9Ur zv%dLh z2%N;Ib%xab#bP3J^l&=N3z(_fMqnDSTnyJob2swVglXlDcfLKK1-;VO(i$vcT7WQ7 z5S%Rp??3rJh)WSC4Koei1WdQB62s-lW_68|hShb2uPPP*=PssNT8SdgTUTSs-Y9G{ z#PBidsOVJFMo=OCu#Srrp;oWMsKZH7K5Yi6yK}HpYl+}qj5W3ohuUm`4Q|Y3_>k&H z>wwF0u#tH4?i|Y40-JYO_2MnSHtdL3fohd$&IbR53+IMzgWT48aIPQn-OET(Hh@S0Q@7jB847C( zS7>hH<=R~}zD(rdV~&Q~f#dQMlw;g>IF*cZQ*f^JX_{Mp0^S|g-!G`}4uhTupuipA zRbqnZ9gxdiqy+G=uNBEXj&l`-s$2!K+NoKR>o?KfoqUk@fH7ktQ69{dLC;{_9(N4J1PmIs3qUVQR3I~Sy$19UgMwaA zkV~%6O4V-x*LJ_&zoe+^-!P_#3xgd2EMRXgaB2NU1+pLlNLAd>kyP43vuqA-XrQRA zEqYJ!lXeS+p1T`Het5DjkM~88N$pHpiTaV@+V>@oWAqk8Qs4hpu84uQxC<&??C|uQD6Z`ltwhm#z%9ZhU%LlN{-YAN zZ#Voju?70IN3gnVFM#I$QGr~Emg@J4YjbT|twJSl6tn31UZH_J!>q2{}kK8U#3DeQ#WMC{lKNAoPwYjGL*C*&Lm(nNHb4d zY6o`O3cG&d$>+Q#z5^#^QSpAE?4_9B5F^UZ_8{=fI{+h^s=>q^0C;y(F}yC37e78+ z+Ystz7RU@2)lGzj3g4B~&|;nEp0R-X7EmKZsQXa-LB2ELcQw70$zU+U5@;H&L`ccD zlpj3IY>4zd#TnASKWB1$N3`#rYpPppqCy*T$ zdeW-Hz$^pK{$OT#t>Ih0_6(q2D;l@C*a43X_l0Yr)%96>=dkHQ@TY~=Mvf#95w`{Ah2)ZUI> zTsH)CON1UQo(%NbqYWoutGB~3@USq0q+`HfU9>9K7!@27ELn^}D`F_9EJkWbnjL8i zw=B7P6TpNEp}~l|1+1ZnfT`W#Enqx468z;shp!m}{$Q|$xb6S$iSgmYb{{E2PiJ7Q zY)*jafqhgU89A*$>^?BOw?Z4r_5{Z9MxtgIigHfy5k%ha)n_WJpsfxA{o0F=mc*e^ zXCQ?0X&Bi3>2s+O`W*);dmmv0jz0;KEBk98<(-7!6jrJPgUSbLfYw{W82P7Ic2^sPHy zH&wweT7+LGQH9T;&@*saAM=kJee%Ikz{BU%dWi5_qU1CD5K@dsXF%6+$w>P=9KH=c z3qdwqxV~p0_vt8_8$Aa4?uE00(^rf^FGs6D#)!QulsoPmfGWmNQ0!Q#sVIzsRXR8+ zaprVTWjFl9b*`Iz9*&)2+5OJL%=j7p*%IZS7rM|x$kUNdpqzs)2>qh>1)Mt(mpvH4 z`{HoO#!F#@I-U|nhH?yVHHpGU=)y*2=ZgZv;THjPZZZWqm?%t8;w2ckpI#K^lyOb$ z%Flq3eqcNCIyG*Jn20(&b1wnEm8ld|^Ln}+skR{7UgcAO72Ztg06+EL%c&H<-(^AS zzTTT37XZ9BNEOE(3({1q_0hY_LYGb0^>EZRz)uDIc51$m`jbxaqp!dfdu;gwpN`C4 z2xvI0DUKU9%EYMZux1ld3-7K#f!wBxLGZP==~6EgcU7qHq^p4BI+G$n+|e4Hx+>WI z5e98rqyo|I8D0Rn4VSBOtVC#281GMnS|Cn^*4709v1eR^#Cmu0ppVy$xDTFv%U}22|TnM}y z-4w&AGkpw$c(?;{3zqjV4(K82bz$7Lx{g6`y+Z(TXhaQYDh91D(E$A^fzQ+9L&>Bj zUv;bQRSGqE6V4KfCypg>^Fzh2{JB()b`%Rl>KE>7Z*@L~OCT!!;LUqF)?|iMcs_y2 zz#dE?9>H(JeGe7>IxkL&tZxdn=XMh`*M6@7@9|y=J4H20OrBdW+#fW@D>rfPZ&j*6 zRD2Vn9e5;A+yZ`Y;FgC8|3vF8L?Q}vpw_tw(BUQLB ze2R~lW`WS=qP9{2mq0M*u-m)~K~=xgU%UQ$exay)Zu8DWwCc@%5G`(jBT>a|!Cwx! z1NzHQ1>2pxbH? z+@9|y%=qsy=(8TB3YD-(e-%%ppOve!Lk5kkB&cpZ8==^y{=lu<6VSI&`(_S z7O3I@-YQWUk4<7M^HR4u8?D<{^+}$h4XGN1bLSqg1kbGf@~kbtq3ft;jd>~ zZGb~>FoQUL@=2efwl{!FxdqRKrmOxm0$jWV>FU1}RQ`w`M3}0+h5%6Uix<6(Fw<5D zzKCE&P*2{K_QNNChJgHDYG#n?VvJFnAde?}13JGxfdZ78P_6b@vJ(861pc2f)@}Y2 zgwM9#1}8||xo()MXbpT|3152!e|26r&u1VRf5B4RB;dJKVo{K4fVLG09z}i;DAd_f z1%fkvFk%p0Ly7@(!b$~#%Z$asn0^F5XpeZ@nrKT= z6Ll4^*tCUyHR-9)hVS3ayzvHz3Z=C>^F9X+BAFvg2Q#8t#Z!>~*_px{m%zCY+=gRI zAh&}H&V^e}&tan2TmpxMaTD2lwD)7|is8FrEk#xI*;NBy|C!Jo0-ph^`1&f49L;zp z3L{dOj0u`4{su@>IbciB?a?K5uRdTH)ue#lEhcj|x?e@}Bc< zq=1i~1D6fHDE=KBWF#20{E{c8gTqc3^etX zF!5$#cv?_xc*!fi4zb6kt;d_`fGrGQj1>>;(}KlBbd{U*8u%4A6N4CZ>NVUI!wsSo z!!LwjxDT=mg)c*>OcnPAKo3GG$R`X2HI#k~`PK&QiAm~@4<;183UxZ`@E8}H!s z94?Uedl2%mEf&%QMMc5lX+GYV#Gus}G^qmx!FM~TEAcJ%(dIO$Qtb1Kt2MHt3RQ}7 zJF;}zAwzfM{jxjzL6xsC`iM_PHAFcd;HEK_SM~wqg?6UR)b}G?Gs3wEA0fA2j4IdM zXUzW?q(=A|RjdS!ZoyAn&;3xv$C?Se6j*iYN?E~oLcEB8JvcX^hbmWs;OilFsO+9F zoLt#_BLhF3{tTLtcnrGHQ-i3WjF)-;56zBN^pZzF4Rlk~)@&5oP$p z_;?!{{m8I;2wGO6ow;J0%C1tpgY z%dW*Zck4i!n^OTN%O95uy{i<1G6rjanpE(039r5t0J=9s1)?tAb)35wPUqut052=J z1;-l^f{@Punw&sE>7NDR8*r{8I9Zs$;VX3Qcb|oZ=4`&E>@!p+_!nAX@PGB+=_C#O zwqN)1`5gSd$*RDaa* zJ70%%kUpXHef|KR0tAYK2j|e@@BBc*H27456E(Z7Vu!I&3TEn$qJHpZgrCcu!p}*- zFCBg@;HUlr*Xjp!b^IAEbfO0R-NdcE&H&D7D08?P7gF~zdNdIq-6z!;ZyJw-pBSk! z6^rjkB){obzrhG#gAb^RXP{Fkt`aUG9{(s=v?8!k=9Ogt$ZJY_?) zpa#AM!}n!~;ZoG&9vmC&w@_%THopMrZ6-y6BNh^P$5N>Og&1^s8U?{eY&_`8lelRZ zRRJh;rV0d~pQwVH-~j5b{<2MNr*6b7iVq)w@kDOgaAOVQt3GuDr5A4zAD>O}qkr?X z>81V#sc+_}xEP?eb6F$8iWqTk_p0HJz$O}u7$vHYPRQtwus@af2besXufYVqlVgnf z{SgK(^|x|r2bg*}33T@6Y#UaFzgilyLZVIvXv4GizMObuUNUtvScr}`YvKMm)}azWi})^T|r zWwiXH!bYb*QUMH+g|>ovX6o+9k{xhzAn@P7{;`rQLFp+r8&}9v!g=kA1q_3+mCgpv4qk()Y z;Qxi6xHqS*rT7rzav&Nm)CCPP)~Ryk=;=B*@KvTO81)Z^_gzonyX(Uw9<8UKTObo3 zYB}u!3Hb50aQMIa?|BZzFZ0ERjj&gBs)mSug$PEDe`>mP10{lQ6VaC3UIL=MHmY*v zC`Y1jBJHL8UE^zbmt7k~i|6EKs6?Wmn^0bi!baC^GmD=NYM}af5e-}BVOZi;HH=Q! z-craOo~zD=kwPl?i`y}5#~uMjh8p-_5j=rcv-EUl0f9RtAmFbRA^2JmkJht-Eq7yt zn8URYWXMsba3z(|Mg|DyPpA?6QK3vAF2XQ}d^OAzg~=5TPPl!vP1^e^7EI9|hWL1O zH9)HJG$H6u{5v9}LJoZHoE7+laf(pFqF#$JDcHj~1Z>1BNRRUZ?u_%`ct-aS^wH*l z&xi{GESgtPuYU^8&bcgP>%W9h=^b7{C-y1~TVEi+?BBvUzpe^}JCQ#_dajZI^#?&1 zNi09(dX0?REQg*b6m;U%)(2+aZ`Hu`74=B*CgbcO_iN-QvkbbfuW%(YtPf-#`VD2o zi&gQuYS{yLzQF_Tsly9Ddg#dm_@+@G1EHY94S?g9hj7IDlH7}Y!3n_^oTT)!BOaHY zV1%YmY9W}CheC*4^=F=HyVMEAYASPbt)CE>&3V0V3@G{Uoy)@|0)hTB7)P$v=on}O zDlB-;qP_3sO;B<c&Ul7=Os)FKE^^RLyQ5T%PRrlz$&C82G5%z$Ex6cXkE7umu-g}TF#gC?bJ8=_pPL+T7K`6sSkw_Tsl%~aB2Znev zZI}ot_C1tukfJ$SWTY@h#qVL#Nt`82<#S9y#r+@E2pn=Ng%u^S)q@jKSPnK%mt0*78v2P z2;mE8Jj_BtO)vV`mPmoiUqEBwT)YcWw&k|D?)WT082rTBa=~8(TtiC*U2KL}g5WDP z*>JR;Lzdq_v&%Jt4WhUhyg&RJOeKzRM|@KY=Flrkq2n1?0Y~Nsi_d)3fwvlkK|B>_ z_p2n?&gg`dq8`z8=-zeQMbL8&h!C&Za(@E*On5*k#K&wD z^&Ie9%O}&)Mp!^oNQOa5yszeiv~3mr$gAlw{2GY@tQHJ$f$nNmAaww)gE%Ps$tS%W zC&4GI;7Xhop?UKHncG8WNU(-5oQTFB?u69Pkk5d@2fAc%Zc8H1c7n^+__h56JD4Xg z$Os<&G}i7!-arK|!{DDh1&h9YW>3h|?ExMP_ca_80r)#sbx?Y98SJLoK|lZ(+HY=3 zQaJSd9HZL0jYhr>iUFhmj{n!zbwE{hr2pujC_EU7A~p~Z5ecGziejONbW}iWh!hnS zQHs3=B(|&t5`hmz5O&pUY!DMmj0H_}6O2K3vl>l|F=jWeF=|Zq7$fTbX6|s`o9CZ% z?m3V7eQmz!bLY%xY zzxROeKwQV8mfyNw8vUxCs2$w%Rrt~NT~D5hldHXv!DcViAP#l+0F>aRL5;r}?8t7Y zbf_M74V6UQ(cM9f9xO{(p~qYUky;~yUgJU|MHn_J?}WB&5V(Ev}hRDQ#fYRndY zjkLudG4-l?VY$Mq%*oo)J^ZzJJ5(F>eX{2Oo!&sz1Mm_-_t>{yP>uT@U~4F^#s+G7 zY_OsInbP14%;wwr2I{yyUF?JTF4w0-fKv*7*7+&L{GJ+>)y;+KuZbYOVH&;5a4To!Xw9j;Lro8Cqr)=_Az zI(wD6e zO7ncV(lGiZ0K@DTzHEd@we5%0lyEIoM6=u2Pgbp34prhsNB}BPy9lf9#!BSdA5h;& z4Jz%AzM5zIJ)W8!rKeg@tsk?Xn^9J_bi!X2XOJI=evej(w1POzA^%tvvY^-eSvOG{ zMLubzO~_OLvZ*$p<~S3kgP<4oT=0iHHd=!k0#LJt1jxLN4glmiMu*%*?{v(o`T6Tm zz_;tr>W0W4ccO&tK%paiWPMDK=3d+x%(zDJ68?FH|3JZcy6RidOH$UFsU@ryE7 zo)><{hdRS}oMa;U!a(LBwEi*>T8Ac^K*@uclYr(80#rWU1iCZ`>m}Ym-g%gBaSU1# zp+#+w6Ujc1%@X{}1Hr#`5;+8-H+wn>H@;g2X@ylW7|5~78qzPtNsK(5*F zGba+_f4lT`^$Um}h`EEhS<(TYXGn9pX@mUAxmF#FoKK%c%;wj=O@Uzh{&Ku``g;S=YNFo%cJYT~}#|d3*kW*qh^5%pWgW(EQ@_J3+7h$Lp{K6tZ zfAxCZ9Nr)kAURT@cl?u1uhqtTVKB>Yqn6q*lC`7gk#gpjG7`{9BjhM#yA^g=_XFl) zmoXQMQDlEYnw0z`&{v=F6-r+g{%&uTP!+flNU^%;fM6JLkB z4)<9NqlP-P_S#XhudnCW*gqRFC+ZO)N8J$-z((#eVwO}BA!UBVv0b|b7EIQAAd_$G zy2I*;7T$3!{1D>zsPJl2ad<~CjH=jcWl8%ZSw}(taj%BX{0IoY@k#Ayx4x^>chPRe z;a-W0g6`;j0vfFxPvhDh7ly6-Gklu_iK_OsbSsKwiuUxOYsVPgM}3HAtWprzT#ROE z!Y*UjP4ls0+aaNR1dqSjonmImjBkGXcK=Rjd0Qbj2&XQ({*~CdX#z3Fua<+dX zX^Z3J=u{O45%q`_Bg8+22+?#M;*q@ju1vQ7$*MgqjmP4bJJ}c%)I6vAezl^vMze6b z6E6qyXIxJB3z=O1!m6EePJxRv#t$_YH^+wD$3faZMoX*yGa60eKqoCVW{gZtAA{6| zIM~c-Pa{>7@}TY!;p^bczCFyv;${69Hc@0VZY)?k1Zu3S0uAk7nk$~+6rTob6z&PE zqiBG}IHl$u&WX}UDM328Apru;Cuphmi89qY5vgNRwbVC}D#WJUxjuWX0TrN+xy?PZ zG}6skhW2EYB)hA+3B$hRp;ujA$|K9y=$9r*Cv8cB!h~g7>V2dNC!IMM7unwiGb$f* zgN*K z6IfSKQ@_k~^eRS2Rl6Au-1p@F<;G%ilsJ_q*3XUzmztK#*W{?FQ$k`$;B)E5B9EFdB;u$ z?~^9Mi?~G>3|`t^F`P%2Irh~>1GV|WFq#@tWN#3cg5>(kB6%>?A`Gp_!D*gcc|}@r z|BAs?ND>vU>mkpp^D!n}L>*9P#7C}DW-4|b5Y^PNV#BN0S}zg$zg;v zbt2z9d?m|qk-fiKyVYf(Xqzy`t8Y>ZC?l0E7Dio5g^(%#k~(;3Q=2z&>sRx?42&*K zl^IH#3ZjEQYDBH^Pc7)=RJjE8YT^hc-j#s?xm%|lCkg2E}nE*Y8Q+U5^5Kif5`)P|?5Y^tdXvbsIs* zbIE|b`M>FSJ1WkQ^JrsOUGs_D#{ZhoBhYRiQ95}?-!L43-jVR8I+>pEnA68oZKiB@ zA7w&o(eGMni6g@8@m07mC}bL-@qd^=&3_mi==3z{g3s?*u28*t2KaMcp)-qES1O&(0?NO&?k>t#)i`eA}BqsBhZd%g-EIZ)pNGkK7qN4i-1NqomBdQBpj__<; zWJMrf>9&P;)rF9KN*p!10 zsMa$#V=!bwFk~BQoGXdq=Yq%^Us35qJRUM39Oo*9mLi8OcigwkBf<$&i z=kn3O==5*kDMySi>RIT+v^tNaiW>J_9{5|ZpSg%3W>f*TI1pgjk>c~EPp0GpFTg!6 z9IuT;v*mG>=~OFzk>kU#QK;g61>63(qqrz@4aKLrr=0Q-W{ z6g#q=k1coJkGjqW6oxH8T}$l%SQ&)7ONExlm-B8chX!A)qSRHqb7v;at zm&1f%0faVTpHJ!&xVCg!#UWd4mFfCI7s^$bu;(7fCxolG#+tSeP*kK2*-_j`>B}Y# zwHP5AimbP>6=l^}T0J}&ZsG^JR5vA1;v$wHh%&m|9(D~xhcIr9QhfP;)VN44C>O2> znlu#PFg(EuQE)srYA{vD<3#{BO1N&1Q}^h9gYGv7j!@{ol=N2?GiNJ4C2H)Q@?9nE zEM%S9xRApVRv@g3*g4so-?^7gl_5Ku(61{wERY>MQ1+q(#O>Kt=? zM-l6#RkGPLoT^~=Kk%pp)_We+7Gs`(eVJ~?{O)1LgZT$2H;`ZT#c@QgP9Grrd(>u6 zj|zzW8=ee2#=k~#C}w$r=+NZ(nW^ztEZzC*ljF zO-nJR_gI7}Ut^hER_+Y87|Le@yCF$E0d;7xDVNI0{i9=KG}rLJK^h0<+E zZhLz0TA=dtN z9U3B(<*Y-h>uR2wBWQ(l9(g#w6^bm~K?7c-$R18^>)9Gng5P&~p12d>Pk5FoM0RU6 zEtup4P{;<^(#C9ns)%(u&Y*KL#W3|uT2t2Dq!!cdzL_d{S zGd+_Pn*bM=n!qbI$=&uk4h`9=L74vFcG%6btqk7`Xi}L9*%;k(i{sBLG(3+mY2r>5 znS8J(-r^ZN!*9ZzrxZemN}XPFiYRYZ0#Vzy)0q;ML@P^}rzr2w{+>CF&!G0YDql`c`uFQ$0Q`CEdFe{tfcc26b3H z0aSjtmCKUq-)8p0rUM%+y*`IMzUYwEcaq;7q0Fr;ni7u6JP3DPT|PR4pN`;zsVcq) zWo%^`f~YXuHQ)h+o`KLz#i!>vQ4IAdldnW;cOSaW14}sAndfof30h6qSJ+?1w3o2W zWhjFajasUAIdc&u6H|^Ha&DoL-D)31U`KyUwDhn$4e{h=Qp_kr!1uziUlHJu!`v30_6iowrM?gSP`ZbxnsH==gTI&2WuF&fii&6$_)mRjiv(cy7_psjH#r6rNZ`p(W*4 zvB^T==T)qGn_u|QOAz?pS{S>Enh-GFII%! z{z0dAp)u7sRl|L~vKpd>{77eN@U}7i4rbZ+s%3X!RRid*5$Y*+nuX~$pO0_~hxAc+ h)Ya+t)L6sj3DJH#!C!Zmi%z1QJDCq;;}ps({{vGV7#;us delta 210313 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

!u1(N|#-u(SCX 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

lKq{Z7Ksu1nXH4*E!n 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 D1j2)d delta 75105 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 KD3y5N68k@Qwck_# diff --git a/templates/app-nolayers/angular/package.json b/templates/app-nolayers/angular/package.json index 16bf83b581..4cf64e3a86 100644 --- a/templates/app-nolayers/angular/package.json +++ b/templates/app-nolayers/angular/package.json @@ -12,15 +12,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~7.4.1", - "@abp/ng.components": "~7.4.1", - "@abp/ng.core": "~7.4.1", - "@abp/ng.oauth": "~7.4.1", - "@abp/ng.identity": "~7.4.1", - "@abp/ng.setting-management": "~7.4.1", - "@abp/ng.tenant-management": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", - "@abp/ng.theme.lepton-x": "~2.4.1", + "@abp/ng.account": "~7.4.2", + "@abp/ng.components": "~7.4.2", + "@abp/ng.core": "~7.4.2", + "@abp/ng.oauth": "~7.4.2", + "@abp/ng.identity": "~7.4.2", + "@abp/ng.setting-management": "~7.4.2", + "@abp/ng.tenant-management": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", + "@abp/ng.theme.lepton-x": "~2.4.2", "@angular/animations": "~16.2.0", "@angular/common": "~16.2.0", "@angular/compiler": "~16.2.0", @@ -42,7 +42,7 @@ "@angular-eslint/eslint-plugin-template": "~16.2.0", "@angular-eslint/schematics": "~16.2.0", "@angular-eslint/template-parser": "~16.2.0", - "@abp/ng.schematics": "~7.4.1", + "@abp/ng.schematics": "~7.4.2", "@angular/cli": "~16.2.0", "@angular/compiler-cli": "~16.2.0", "@angular/language-service": "~16.2.0", diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json index a7d01f336a..7238d468c4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.1", - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.2", + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json index 9122625971..0cf54d9b37 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.2" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index eb41b2624f..530abe4097 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -12,15 +12,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~7.4.1", - "@abp/ng.components": "~7.4.1", - "@abp/ng.core": "~7.4.1", - "@abp/ng.oauth": "~7.4.1", - "@abp/ng.identity": "~7.4.1", - "@abp/ng.setting-management": "~7.4.1", - "@abp/ng.tenant-management": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", - "@abp/ng.theme.lepton-x": "~2.4.1", + "@abp/ng.account": "~7.4.2", + "@abp/ng.components": "~7.4.2", + "@abp/ng.core": "~7.4.2", + "@abp/ng.oauth": "~7.4.2", + "@abp/ng.identity": "~7.4.2", + "@abp/ng.setting-management": "~7.4.2", + "@abp/ng.tenant-management": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", + "@abp/ng.theme.lepton-x": "~2.4.2", "@angular/animations": "~16.2.0", "@angular/common": "~16.2.0", "@angular/compiler": "~16.2.0", @@ -42,7 +42,7 @@ "@angular-eslint/eslint-plugin-template": "~16.2.0", "@angular-eslint/schematics": "~16.2.0", "@angular-eslint/template-parser": "~16.2.0", - "@abp/ng.schematics": "~7.4.1", + "@abp/ng.schematics": "~7.4.2", "@angular/cli": "~16.2.0", "@angular/compiler-cli": "~16.2.0", "@angular/language-service": "~16.2.0", diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json index 3d5139e4f3..960af7da27 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-authserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json index 9122625971..0cf54d9b37 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.2" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json index 9122625971..0cf54d9b37 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~2.4.2" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json index 5d98265162..4aa22aef89 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.1" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~2.4.2" } } diff --git a/templates/module/angular/package.json b/templates/module/angular/package.json index 42e13a9dc5..5f1897d16e 100644 --- a/templates/module/angular/package.json +++ b/templates/module/angular/package.json @@ -12,15 +12,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~7.4.1", - "@abp/ng.components": "~7.4.1", - "@abp/ng.core": "~7.4.1", - "@abp/ng.oauth": "~7.4.1", - "@abp/ng.identity": "~7.4.1", - "@abp/ng.setting-management": "~7.4.1", - "@abp/ng.tenant-management": "~7.4.1", - "@abp/ng.theme.basic": "~7.4.1", - "@abp/ng.theme.shared": "~7.4.1", + "@abp/ng.account": "~7.4.2", + "@abp/ng.components": "~7.4.2", + "@abp/ng.core": "~7.4.2", + "@abp/ng.oauth": "~7.4.2", + "@abp/ng.identity": "~7.4.2", + "@abp/ng.setting-management": "~7.4.2", + "@abp/ng.tenant-management": "~7.4.2", + "@abp/ng.theme.basic": "~7.4.2", + "@abp/ng.theme.shared": "~7.4.2", "@angular/animations": "~16.2.0", "@angular/common": "~16.2.0", "@angular/compiler": "~16.2.0", @@ -41,7 +41,7 @@ "@angular-eslint/eslint-plugin-template": "~16.2.0", "@angular-eslint/schematics": "~16.2.0", "@angular-eslint/template-parser": "~16.2.0", - "@abp/ng.schematics": "~7.4.1", + "@abp/ng.schematics": "~7.4.2", "@angular/cli": "~16.2.0", "@angular/compiler-cli": "~16.2.0", "@angular/language-service": "~16.2.0", diff --git a/templates/module/angular/projects/my-project-name/package.json b/templates/module/angular/projects/my-project-name/package.json index c8f403d461..4d2146c622 100644 --- a/templates/module/angular/projects/my-project-name/package.json +++ b/templates/module/angular/projects/my-project-name/package.json @@ -4,8 +4,8 @@ "peerDependencies": { "@angular/common": ">=14", "@angular/core": ">=14", - "@abp/ng.core": ">=7.4.1", - "@abp/ng.theme.shared": ">=7.4.1" + "@abp/ng.core": ">=7.4.2", + "@abp/ng.theme.shared": ">=7.4.2" }, "dependencies": { "tslib": "^2.1.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json index 55e0a1cc09..a3afa9647e 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-authserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json index 43b26f8e4e..02a97031df 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1", - "@abp/aspnetcore.components.server.basictheme": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2", + "@abp/aspnetcore.components.server.basictheme": "~7.4.2" } } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json index 212b67b1c1..ef4a2dea54 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json index 212b67b1c1..ef4a2dea54 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.1" + "@abp/aspnetcore.mvc.ui.theme.basic": "~7.4.2" } } From 2fdfd21387658e39f72e1bb4b48987c14461820c Mon Sep 17 00:00:00 2001 From: Volosoft Agent <43883821+voloagent@users.noreply.github.com> Date: Mon, 13 Nov 2023 13:30:53 +0300 Subject: [PATCH 36/93] Update latest-versions.json to version 7.4.2 --- latest-versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/latest-versions.json b/latest-versions.json index e2911011e7..372ed08ffc 100644 --- a/latest-versions.json +++ b/latest-versions.json @@ -1,6 +1,6 @@ [ { - "version": "7.4.1", + "version": "7.4.2", "releaseDate": "", "type": "stable", "message": "" From 0c3447769a07cbd2a981fee162f6407f5eac2ca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20Ebi=C3=A7o=C4=9Flu?= <9526587+ebicoglu@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:18:15 +0300 Subject: [PATCH 37/93] Update Post.md --- .../2023-11-06-Blazor-Fullstack-Web-Ui/Post.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md index a346b6f084..c75f5f08ce 100644 --- a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md +++ b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md @@ -40,7 +40,7 @@ You can switch between two rendering modes and even mix them on the same page. W - ## How it works? +## How it works? ### Rendering on Server @@ -50,25 +50,27 @@ You can add `WebComponentRenderMode.Server` to your Blazor components so that th -And sure you can add `WebComponentRenderMode.Server` to your page level, and the complete page will be rendered as a server component. All inputs on this page can work as an interactive server component like SPA mode. +And sure, you can add `WebComponentRenderMode.Server` to your page level, and the complete page will be rendered as a server component. All inputs on this page can work as an interactive server component like SPA mode. ![image-20231106172638604](image-20231106172638604.png) -### Rendering on client +### Rendering on Client You can switch to WebAssembly mode by writing `WebComponentRenderMode.WebAssembly` attribute to your page. By doing so, the whole page should run interactively using WebAssembly. This time there's no server connection anymore because it loads the binaries (WebAssembly runtimes) at the page load. ![image-20231106173021958](image-20231106173021958.png) -## How it works? + +## Enabling the Blazor Fullstack UI? To enable Blazor Full-stack Web UI, you need to write `net8.0;net7.0-browser` into the `TargetFrameworks` area of your `csproj` file. These two keywords change your app like this; `net8.0` framework renders on the server, and `net7.0-browser` framework renders on the browser. ![image-20231106173411309](image-20231106173411309.png) -## Let the System decide on WebAssembly or Server approach + +## Let the System Decide WebAssembly or Server Approach You can let the system decide whether it uses `WebAssembly` or `Server`. This can be done with the `Auto` mode of the `WebComponentRenderMode`. In this case, it will not load binary files (WebAssembly files) for the initial page that has `WebComponentRenderMode.Server` attribute, but whenever the user navigates to a page that has `WebComponentRenderMode.WebAssembly`, it will download the runtimes. This will allow us to load the initial page very fast, and when we need interactivity, we can switch to `WebAssembly` and wait for the binaries to download. But this download will be done one time because it will be cached. @@ -80,10 +82,10 @@ You can let the system decide whether it uses `WebAssembly` or `Server`. This ca I summarized the new generation Blazor in a very simple way. This architecture will be useful to everyone who uses Blazor. - +--- *Resources:* -* You can check out Dan Roth's GitHub issue 👉 [github.com/dotnet/aspnetcore/issues/46636](https://github.com/dotnet/aspnetcore/issues/46636). +* You can check Dan Roth's GitHub issue 👉 [github.com/dotnet/aspnetcore/issues/46636](https://github.com/dotnet/aspnetcore/issues/46636). * Steven Sanderson's YouTube video is very good for understanding these concepts 👉 [Blazor United Prototype Video](https://youtu.be/48G_CEGXZZM). From cccf673dfd8ce0f43f49feb959ca5b5d44e1fbd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20Ebi=C3=A7o=C4=9Flu?= <9526587+ebicoglu@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:19:25 +0300 Subject: [PATCH 38/93] Update Post.md --- .../2023-11-06-Blazor-Fullstack-Web-Ui/Post.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md index c75f5f08ce..6662164e39 100644 --- a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md +++ b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md @@ -1,5 +1,8 @@ # Blazor's History and Full-stack Web UI +![image](https://github.com/abpframework/abp/assets/9526587/532f46d8-41a1-4fcd-bc77-f28299961a6f) + + Blazor is a web framework that allows developers to build interactive web applications using .NET instead of JavaScript. The first version of Blazor was **released on May 14, 2020**. Since its initial release, Blazor has evolved with the new versions. Until now, six different versions have been declared. Sometimes, it can be not very clear to see the differences between these approaches. First, let's try to understand these. * **Blazor-Server**: >> *Loads fast at first* >> In this version, heavy things are done in the server. Browsers are thin clients and download a small page for the first load. The page updates are done via SignalR connection. This was released with .NET Core 3. From 1ce60436ba96607169fd6b770d1de5522a87b33f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20Ebi=C3=A7o=C4=9Flu?= <9526587+ebicoglu@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:25:55 +0300 Subject: [PATCH 39/93] Update Post.md --- .../2023-11-06-Blazor-Fullstack-Web-Ui/Post.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md index 6662164e39..ddab774d41 100644 --- a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md +++ b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md @@ -1,6 +1,6 @@ # Blazor's History and Full-stack Web UI -![image](https://github.com/abpframework/abp/assets/9526587/532f46d8-41a1-4fcd-bc77-f28299961a6f) +![Cover Image](https://github.com/abpframework/abp/assets/9526587/532f46d8-41a1-4fcd-bc77-f28299961a6f) Blazor is a web framework that allows developers to build interactive web applications using .NET instead of JavaScript. The first version of Blazor was **released on May 14, 2020**. Since its initial release, Blazor has evolved with the new versions. Until now, six different versions have been declared. Sometimes, it can be not very clear to see the differences between these approaches. First, let's try to understand these. From 7afec40d23d4477ebe75db035edcbd2468c5185f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20Ebi=C3=A7o=C4=9Flu?= <9526587+ebicoglu@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:27:38 +0300 Subject: [PATCH 40/93] Update Post.md --- .../2023-11-06-Blazor-Fullstack-Web-Ui/Post.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md index ddab774d41..f2f7157b44 100644 --- a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md +++ b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md @@ -3,7 +3,7 @@ ![Cover Image](https://github.com/abpframework/abp/assets/9526587/532f46d8-41a1-4fcd-bc77-f28299961a6f) -Blazor is a web framework that allows developers to build interactive web applications using .NET instead of JavaScript. The first version of Blazor was **released on May 14, 2020**. Since its initial release, Blazor has evolved with the new versions. Until now, six different versions have been declared. Sometimes, it can be not very clear to see the differences between these approaches. First, let's try to understand these. +Blazor is a web framework that allows developers to build interactive web applications using .NET instead of JavaScript. The first version of Blazor was released on May 14, 2020. Since its initial release, Blazor has evolved with the new versions. Until now, six different versions have been declared. Sometimes, it can be not very clear to see the differences between these approaches. First, let's try to understand these. * **Blazor-Server**: >> *Loads fast at first* >> In this version, heavy things are done in the server. Browsers are thin clients and download a small page for the first load. The page updates are done via SignalR connection. This was released with .NET Core 3. * **Blazor WebAssembly (WASM):** >> *Loads slow at first* >> In this version, some binary files are being downloaded to the browser. This approach takes longer initialization time than the "Server" approach. The hard work is done on the browser. From 5f7cfe106c72561bad22c37d1a890002f53329cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20Ebi=C3=A7o=C4=9Flu?= <9526587+ebicoglu@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:41:32 +0300 Subject: [PATCH 41/93] add cover image --- .../cover-image.png | Bin 0 -> 692757 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/cover-image.png diff --git a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/cover-image.png b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/cover-image.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f1d6920e97ddccaab98b1cf9ad4b5232a3b5f2 GIT binary patch literal 692757 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�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%0Au26u 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%0DnmiHi>#5=thMvAB(XWYd6&hN#t(PU24<@IIwW*l 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

yA@E`UC9X2!9QnODw?X%IHlO}VEXpsAOj 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

nL0c#|_keqvUjn>r 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 literal 0 HcmV?d00001 From fdff577fb658f05422ca1a91ac779b232a67e75a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20Ebi=C3=A7o=C4=9Flu?= <9526587+ebicoglu@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:42:04 +0300 Subject: [PATCH 42/93] Update Post.md --- .../2023-11-06-Blazor-Fullstack-Web-Ui/Post.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md index f2f7157b44..c3203d481d 100644 --- a/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md +++ b/docs/en/Community-Articles/2023-11-06-Blazor-Fullstack-Web-Ui/Post.md @@ -1,6 +1,6 @@ # Blazor's History and Full-stack Web UI -![Cover Image](https://github.com/abpframework/abp/assets/9526587/532f46d8-41a1-4fcd-bc77-f28299961a6f) +![Cover Image](cover-image.png) Blazor is a web framework that allows developers to build interactive web applications using .NET instead of JavaScript. The first version of Blazor was released on May 14, 2020. Since its initial release, Blazor has evolved with the new versions. Until now, six different versions have been declared. Sometimes, it can be not very clear to see the differences between these approaches. First, let's try to understand these. From a0a71c8649d0b26a1360df6a3cd1d33082b7e23f Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Mon, 13 Nov 2023 15:32:55 +0300 Subject: [PATCH 43/93] Update LeptonX Lite to latest 3.0.x version --- .../MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj | 4 ++-- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 4 ++-- ...CompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj | 2 +- ...yName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj | 2 +- ...CompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.csproj | 2 +- .../MyCompanyName.MyProjectName.AuthServer.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj | 4 ++-- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 4 ++-- .../MyCompanyName.MyProjectName.Blazor.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.csproj | 2 +- 16 files changed, 20 insertions(+), 20 deletions(-) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj index 5d17e0ba7c..8458da78e2 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj @@ -22,8 +22,8 @@ - - + + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index e3b54d23e0..fc58cb48a9 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -22,8 +22,8 @@ - - + + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj index dc984ee426..78cefa8230 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj @@ -21,7 +21,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj index 102dd98170..85262239d9 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj @@ -74,7 +74,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj index 5c39ce6677..06e58454e4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj @@ -75,7 +75,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj index 96d14d106b..2376ece313 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj @@ -70,7 +70,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj index 933b134e88..b54fc9be23 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj @@ -71,7 +71,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj index c89281a1b3..4ffd445303 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj @@ -18,7 +18,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj index 2b5d5f43cb..e0e3e7c0ee 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj @@ -18,7 +18,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 4b4cde037a..980c8f4289 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -51,7 +51,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj index 3cd676ba96..e0b60ea62a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj @@ -30,8 +30,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index 3575382c4c..875dcef886 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -28,8 +28,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj index 5ec1d4d889..9babd3b127 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj @@ -24,7 +24,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj index c590ef232c..3a738e0f76 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj @@ -26,7 +26,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index b59c0bcf08..4bc03be393 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -28,7 +28,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index dd0e555b9e..495aa54824 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -49,7 +49,7 @@ - + From dbfd015eccc20d69e758dfbe16b07327717a5072 Mon Sep 17 00:00:00 2001 From: Salih Date: Mon, 13 Nov 2023 15:41:14 +0300 Subject: [PATCH 44/93] Update BundleFile.cs --- .../AspNetCore/Mvc/UI/Bundling/BundleFile.cs | 61 ++++++++++++++++++- 1 file changed, 58 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleFile.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleFile.cs index fbd6c3eaa1..53fceef714 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleFile.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleFile.cs @@ -2,11 +2,11 @@ using System; namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling; -public class BundleFile +public class BundleFile : IEquatable, IComparable { - public string FileName { get; set; } + public string FileName { get; } - public bool IsExternalFile { get; set; } + public bool IsExternalFile { get; } public BundleFile(string fileName) { @@ -28,4 +28,59 @@ public class BundleFile { return new BundleFile(fileName); } + + public bool Equals(BundleFile? other) + { + if (ReferenceEquals(null, other)) + { + return false; + } + + if (ReferenceEquals(this, other)) + { + return true; + } + + return FileName == other.FileName; + } + + public override bool Equals(object? obj) + { + if (ReferenceEquals(null, obj)) + { + return false; + } + + if (ReferenceEquals(this, obj)) + { + return true; + } + + if (obj.GetType() != this.GetType()) + { + return false; + } + + return Equals((BundleFile)obj); + } + + public override int GetHashCode() + { + return FileName.GetHashCode(); + } + + public int CompareTo(BundleFile? other) + { + if (ReferenceEquals(this, other)) + { + return 0; + } + + if (ReferenceEquals(null, other)) + { + return 1; + } + + return string.Compare(FileName, other.FileName, StringComparison.Ordinal); + } } From 207439a4a263fc79f340765e94e06c501a78aae7 Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Tue, 7 Nov 2023 20:57:46 +0300 Subject: [PATCH 45/93] Convert moved components and directives Standalone --- .../extensible-date-time-picker.component.ts | 7 +- .../extensible-form-prop.component.html | 2 +- .../extensible-form-prop.component.ts | 135 +++++++----------- .../extensible-form.component.ts | 123 ++++++++-------- .../extensible-table.component.ts | 26 +++- .../grid-actions/grid-actions.component.ts | 6 + .../page-toolbar/page-toolbar.component.ts | 6 + .../src/lib/directives/prop-data.directive.ts | 1 + .../extensible/src/lib/extensible.module.ts | 35 ++--- .../src/lib/pipes/create-injector.pipe.ts | 1 + .../services/extensible-form-prop.service.ts | 77 ++++++++++ .../components/page/src/page.module.ts | 4 +- .../src/lib/abstracts/ng-model.component.ts | 8 +- .../components/checkbox/checkbox.component.ts | 4 - .../form-input/form-input.component.ts | 4 - .../components/password/password.component.ts | 9 +- .../src/lib/directives/ellipsis.directive.ts | 7 +- .../ngx-datatable-default.directive.ts | 1 + .../ngx-datatable-list.directive.ts | 1 + .../src/lib/theme-shared.module.ts | 11 +- 20 files changed, 263 insertions(+), 205 deletions(-) create mode 100644 npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts index 55b73581c9..e6f7881ca2 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts @@ -7,19 +7,24 @@ import { SkipSelf, ViewChild, } from '@angular/core'; -import { ControlContainer } from '@angular/forms'; +import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; import { NgbDateAdapter, + NgbDatepickerModule, NgbInputDatepicker, NgbTimeAdapter, NgbTimepicker, + NgbTimepickerModule, } from '@ng-bootstrap/ng-bootstrap'; import { FormProp } from '../../models/form-props'; import { selfFactory } from '../../utils/factory.util'; import { DateTimeAdapter } from '@abp/ng.theme.shared'; +import { CommonModule } from '@angular/common'; @Component({ exportAs: 'abpExtensibleDateTimePicker', + standalone: true, + imports: [CommonModule, NgbDatepickerModule, ReactiveFormsModule, NgbTimepickerModule], selector: 'abp-extensible-date-time-picker', template: ` - + diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts index 2689e09a33..0d8c692015 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -1,11 +1,12 @@ import { EXTENSIONS_FORM_PROP, EXTENSIONS_FORM_PROP_DATA } from './../../tokens/extensions.token'; -import { ABP, AbpValidators, ConfigStateService, TrackByService } from '@abp/ng.core'; +import { ABP, CoreModule, TrackByService } from '@abp/ng.core'; import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, + inject, Injector, Input, OnChanges, @@ -17,26 +18,55 @@ import { import { ControlContainer, FormGroupDirective, - UntypedFormGroup, + ReactiveFormsModule, ValidatorFn, - Validators, } from '@angular/forms'; -import { NgbDateAdapter, NgbTimeAdapter } from '@ng-bootstrap/ng-bootstrap'; +import { + NgbDateAdapter, + NgbDatepickerModule, + NgbTimeAdapter, + NgbTimepickerModule, + NgbTypeaheadModule, +} from '@ng-bootstrap/ng-bootstrap'; import { Observable, of } from 'rxjs'; import { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators'; -import { DateAdapter, TimeAdapter } from '@abp/ng.theme.shared'; +import { + DateAdapter, + DisabledDirective, + PasswordComponent, + TimeAdapter, +} from '@abp/ng.theme.shared'; import { EXTRA_PROPERTIES_KEY } from '../../constants/extra-properties'; -import { ePropType } from '../../enums/props.enum'; import { FormProp } from '../../models/form-props'; import { PropData } from '../../models/props'; import { selfFactory } from '../../utils/factory.util'; import { addTypeaheadTextSuffix } from '../../utils/typeahead.util'; -import { eThemeSharedComponents } from "../../enums/components"; +import { eThemeSharedComponents } from '../../enums/components'; +import { CommonModule } from '@angular/common'; +import { ExtensibleDateTimePickerComponent } from '../date-time-picker/extensible-date-time-picker.component'; +import { NgxValidateCoreModule } from '@ngx-validate/core'; +import { ExtensibleFormPropService } from '../../services/extensible-form-prop.service'; +import {CreateInjectorPipe} from "../../pipes/create-injector.pipe"; @Component({ selector: 'abp-extensible-form-prop', templateUrl: './extensible-form-prop.component.html', + standalone: true, + imports: [ + CommonModule, + CoreModule, + ExtensibleDateTimePickerComponent, + NgbDatepickerModule, + NgbTimepickerModule, + ReactiveFormsModule, + DisabledDirective, + NgxValidateCoreModule, + NgbTypeaheadModule, + PasswordComponent, + CreateInjectorPipe + ], changeDetection: ChangeDetectionStrategy.OnPush, + providers: [ExtensibleFormPropService], viewProviders: [ { provide: ControlContainer, @@ -48,32 +78,27 @@ import { eThemeSharedComponents } from "../../enums/components"; ], }) export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { - @Input() data!: PropData; + protected service = inject(ExtensibleFormPropService); + public readonly cdRef = inject(ChangeDetectorRef); + public readonly track = inject(TrackByService); + #groupDirective = inject(FormGroupDirective); + private injector = inject(Injector); + private readonly form = this.#groupDirective.form; + @Input() data!: PropData; @Input() prop!: FormProp; - @Input() first?: boolean; - @ViewChild('field') private fieldRef!: ElementRef; - public injectorForCustomComponent?: Injector; - + injectorForCustomComponent?: Injector; asterisk = ''; - containerClassName = 'mb-2'; - options$: Observable[]> = of([]); - validators: ValidatorFn[] = []; - readonly!: boolean; - typeaheadModel: any; - passwordKey = eThemeSharedComponents.PasswordComponent; - private readonly form: UntypedFormGroup; - disabledFn = (data: PropData) => false; get disabled() { @@ -100,27 +125,13 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { typeaheadFormatter = (option: ABP.Option) => option.key; - get meridian() { - return ( - this.configState.getDeep('localization.currentCulture.dateTimeFormat.shortTimePattern') || '' - ).includes('tt'); - } + meridian$ = this.service.meridian$; get isInvalid() { const control = this.form.get(this.prop.name); return control?.touched && control.invalid; } - constructor( - public readonly cdRef: ChangeDetectorRef, - public readonly track: TrackByService, - protected configState: ConfigStateService, - groupDirective: FormGroupDirective, - private injector: Injector, - ) { - this.form = groupDirective.form; - } - private getTypeaheadControls() { const { name } = this.prop; const extraPropName = `${EXTRA_PROPERTIES_KEY}.${name}`; @@ -132,7 +143,7 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { } private setAsterisk() { - this.asterisk = this.validators.some(isRequired) ? '*' : ''; + this.asterisk = this.service.calcAsterisks(this.validators); } ngAfterViewInit() { @@ -143,51 +154,11 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { } getComponent(prop: FormProp): string { - if (prop.template) { - return 'template'; - } - switch (prop.type) { - case ePropType.Boolean: - return 'checkbox'; - case ePropType.Date: - return 'date'; - case ePropType.DateTime: - return 'dateTime'; - case ePropType.Hidden: - return 'hidden'; - case ePropType.MultiSelect: - return 'multiselect'; - case ePropType.Text: - return 'textarea'; - case ePropType.Time: - return 'time'; - case ePropType.Typeahead: - return 'typeahead'; - case ePropType.PasswordInputGroup: - return 'passwordinputgroup'; - default: - return prop.options ? 'select' : 'input'; - } + return this.service.getComponent(prop); } getType(prop: FormProp): string { - switch (prop.type) { - case ePropType.Date: - case ePropType.String: - return 'text'; - case ePropType.Boolean: - return 'checkbox'; - case ePropType.Number: - return 'number'; - case ePropType.Email: - return 'email'; - case ePropType.Password: - return 'password'; - case ePropType.PasswordInputGroup: - return 'passwordinputgroup'; - default: - return 'hidden'; - } + return this.service.getType(prop); } ngOnChanges({ prop, data }: SimpleChanges) { @@ -229,11 +200,3 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { this.typeaheadModel = { key: keyControl.value, value: valueControl.value }; } } - -function isRequired(validator: ValidatorFn) { - return ( - validator === Validators.required || - validator === AbpValidators.required || - validator.name === 'required' - ); -} diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts index bd6f23591f..c7436d3374 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts @@ -1,73 +1,76 @@ -import { TrackByService } from '@abp/ng.core'; +import {TrackByService} from '@abp/ng.core'; import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - Inject, - Input, - Optional, - QueryList, - SkipSelf, - ViewChildren, + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, inject, + Input, + Optional, + QueryList, + SkipSelf, + ViewChildren, } from '@angular/core'; -import { ControlContainer, UntypedFormGroup } from '@angular/forms'; -import { EXTRA_PROPERTIES_KEY } from '../../constants/extra-properties'; -import { FormPropList, GroupedFormPropList } from '../../models/form-props'; -import { ExtensionsService } from '../../services/extensions.service'; -import { EXTENSIONS_IDENTIFIER } from '../../tokens/extensions.token'; -import { selfFactory } from '../../utils/factory.util'; -import { ExtensibleFormPropComponent } from './extensible-form-prop.component'; +import {ControlContainer, ReactiveFormsModule, UntypedFormGroup} from '@angular/forms'; +import {EXTRA_PROPERTIES_KEY} from '../../constants/extra-properties'; +import {FormPropList, GroupedFormPropList} from '../../models/form-props'; +import {ExtensionsService} from '../../services/extensions.service'; +import {EXTENSIONS_IDENTIFIER} from '../../tokens/extensions.token'; +import {selfFactory} from '../../utils/factory.util'; +import {ExtensibleFormPropComponent} from './extensible-form-prop.component'; +import {CommonModule} from "@angular/common"; +import {PropDataDirective} from "../../directives/prop-data.directive"; @Component({ - exportAs: 'abpExtensibleForm', - selector: 'abp-extensible-form', - templateUrl: './extensible-form.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, - viewProviders: [ - { - provide: ControlContainer, - useFactory: selfFactory, - deps: [[new Optional(), new SkipSelf(), ControlContainer]], - }, - ], + exportAs: 'abpExtensibleForm', + selector: 'abp-extensible-form', + templateUrl: './extensible-form.component.html', + standalone:true, + imports:[CommonModule, PropDataDirective,ReactiveFormsModule,ExtensibleFormPropComponent], + changeDetection: ChangeDetectionStrategy.OnPush, + viewProviders: [ + { + provide: ControlContainer, + useFactory: selfFactory, + deps: [[new Optional(), new SkipSelf(), ControlContainer]], + }, + ], }) export class ExtensibleFormComponent { - @ViewChildren(ExtensibleFormPropComponent) - formProps!: QueryList; - @Input() - set selectedRecord(record: R) { - const type = !record || JSON.stringify(record) === '{}' ? 'create' : 'edit'; - const propList = this.extensions[`${type}FormProps`].get(this.identifier).props; - this.groupedPropList = this.createGroupedList(propList); - this.record = record; - } + @ViewChildren(ExtensibleFormPropComponent) + formProps!: QueryList; - extraPropertiesKey = EXTRA_PROPERTIES_KEY; - groupedPropList!: GroupedFormPropList; - record!: R; + @Input() + set selectedRecord(record: R) { + const type = !record || JSON.stringify(record) === '{}' ? 'create' : 'edit'; + const propList = this.extensions[`${type}FormProps`].get(this.identifier).props; + this.groupedPropList = this.createGroupedList(propList); + this.record = record; + } - createGroupedList(propList: FormPropList) { - const groupedFormPropList = new GroupedFormPropList(); - propList.forEach(item => { - groupedFormPropList.addItem(item.value); - }); - return groupedFormPropList; - } + extraPropertiesKey = EXTRA_PROPERTIES_KEY; + groupedPropList!: GroupedFormPropList; + record!: R; - get form(): UntypedFormGroup { - return (this.container ? this.container.control : { controls: {} }) as UntypedFormGroup; - } + public readonly cdRef = inject(ChangeDetectorRef) + public readonly track = inject(TrackByService) + private container = inject(ControlContainer) + private extensions = inject(ExtensionsService); + private identifier = inject(EXTENSIONS_IDENTIFIER) - get extraProperties(): UntypedFormGroup { - return (this.form.controls.extraProperties || { controls: {} }) as UntypedFormGroup; - } + createGroupedList(propList: FormPropList) { + const groupedFormPropList = new GroupedFormPropList(); + propList.forEach(item => { + groupedFormPropList.addItem(item.value); + }); + return groupedFormPropList; + } + + get form(): UntypedFormGroup { + return (this.container ? this.container.control : {controls: {}}) as UntypedFormGroup; + } + + get extraProperties(): UntypedFormGroup { + return (this.form.controls.extraProperties || {controls: {}}) as UntypedFormGroup; + } - constructor( - public readonly cdRef: ChangeDetectorRef, - public readonly track: TrackByService, - private container: ControlContainer, - private extensions: ExtensionsService, - @Inject(EXTENSIONS_IDENTIFIER) private identifier: string, - ) {} } diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts index af146e2367..79930e418e 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts @@ -1,13 +1,14 @@ import { ABP, ConfigStateService, + CoreModule, getShortDateFormat, getShortDateShortTimeFormat, getShortTimeFormat, ListService, PermissionService, } from '@abp/ng.core'; -import { formatDate } from '@angular/common'; +import { CommonModule, formatDate } from '@angular/common'; import { ChangeDetectionStrategy, Component, @@ -35,12 +36,26 @@ import { EXTENSIONS_IDENTIFIER, PROP_DATA_STREAM, } from '../../tokens/extensions.token'; +import { NgxDatatableModule } from '@swimlane/ngx-datatable'; +import { GridActionsComponent } from '../grid-actions/grid-actions.component'; +import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; +import { NgxDatatableDefaultDirective, NgxDatatableListDirective } from '@abp/ng.theme.shared'; const DEFAULT_ACTIONS_COLUMN_WIDTH = 150; - @Component({ +@Component({ exportAs: 'abpExtensibleTable', selector: 'abp-extensible-table', + standalone: true, + imports: [ + CommonModule, + CoreModule, + NgxDatatableModule, + GridActionsComponent, + NgbTooltip, + NgxDatatableDefaultDirective, + NgxDatatableListDirective, + ], templateUrl: './extensible-table.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) @@ -50,6 +65,7 @@ export class ExtensibleTableComponent implements OnChanges { set actionsText(value: string) { this._actionsText = value; } + get actionsText(): string { return this._actionsText ?? (this.actionList.length > 1 ? 'AbpUi::Actions' : ''); } @@ -57,14 +73,16 @@ export class ExtensibleTableComponent implements OnChanges { @Input() data!: R[]; @Input() list!: ListService; @Input() recordsTotal!: number; + @Input() set actionsColumnWidth(width: number) { this.setColumnWidths(width ? Number(width) : undefined); } + @Input() actionsTemplate?: TemplateRef; @Output() tableActivate = new EventEmitter(); - getInjected: typeof this.injector.get + getInjected: typeof this.injector.get; hasAtLeastOnePermittedAction: boolean; @@ -149,7 +167,7 @@ export class ExtensibleTableComponent implements OnChanges { if (!data?.currentValue) return; if (data.currentValue.length < 1) { - this.list.totalCount = this.recordsTotal + this.list.totalCount = this.recordsTotal; } this.data = data.currentValue.map((record: any, index: number) => { diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts index 22b5419b55..440c5e9adf 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts @@ -8,9 +8,15 @@ import { import { EntityAction, EntityActionList } from '../../models/entity-actions'; import { EXTENSIONS_ACTION_TYPE } from '../../tokens/extensions.token'; import { AbstractActionsComponent } from '../abstract-actions/abstract-actions.component'; +import { CommonModule } from '@angular/common'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { CoreModule } from '@abp/ng.core'; +import {EllipsisDirective} from "@abp/ng.theme.shared"; @Component({ exportAs: 'abpGridActions', + standalone: true, + imports: [CommonModule, CoreModule, NgbDropdownModule, EllipsisDirective], selector: 'abp-grid-actions', templateUrl: './grid-actions.component.html', providers: [ diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts index afe421554b..2be1acba02 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts @@ -8,10 +8,15 @@ import { } from '../../models/toolbar-actions'; import { EXTENSIONS_ACTION_TYPE } from '../../tokens/extensions.token'; import { AbstractActionsComponent } from '../abstract-actions/abstract-actions.component'; +import { CommonModule } from '@angular/common'; +import { CreateInjectorPipe } from '../../pipes/create-injector.pipe'; +import { CoreModule } from '@abp/ng.core'; @Component({ exportAs: 'abpPageToolbar', selector: 'abp-page-toolbar', + standalone: true, + imports: [CommonModule, CoreModule, CreateInjectorPipe], templateUrl: './page-toolbar.component.html', providers: [ { @@ -31,6 +36,7 @@ export class PageToolbarComponent readonly trackByFn: TrackByFunction> = (_, item) => item.action || item.component; + constructor(public readonly injector: Injector) { super(injector); } diff --git a/npm/ng-packs/packages/components/extensible/src/lib/directives/prop-data.directive.ts b/npm/ng-packs/packages/components/extensible/src/lib/directives/prop-data.directive.ts index 2bba45ff70..52ccd286ad 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/directives/prop-data.directive.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/directives/prop-data.directive.ts @@ -13,6 +13,7 @@ import { PropData, PropList } from '../models/props'; @Directive({ exportAs: 'abpPropData', selector: '[abpPropData]', + standalone: true, }) export class PropDataDirective> extends PropData> diff --git a/npm/ng-packs/packages/components/extensible/src/lib/extensible.module.ts b/npm/ng-packs/packages/components/extensible/src/lib/extensible.module.ts index 334909a7e2..99bc25b6f4 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/extensible.module.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/extensible.module.ts @@ -15,23 +15,25 @@ import { ExtensibleTableComponent, GridActionsComponent, PageToolbarComponent, - ExtensibleDateTimePickerComponent + ExtensibleDateTimePickerComponent, } from './components'; import { PropDataDirective } from './directives/prop-data.directive'; import { CreateInjectorPipe } from './pipes/create-injector.pipe'; import { DisabledDirective } from '@abp/ng.theme.shared'; +const importWithExport = [ + DisabledDirective, + ExtensibleDateTimePickerComponent, + ExtensibleFormPropComponent, + GridActionsComponent, + PropDataDirective, + PageToolbarComponent, + CreateInjectorPipe, + ExtensibleFormComponent, + ExtensibleTableComponent, +]; @NgModule({ - declarations: [ - ExtensibleDateTimePickerComponent, - PageToolbarComponent, - GridActionsComponent, - ExtensibleFormPropComponent, - ExtensibleFormComponent, - ExtensibleTableComponent, - PropDataDirective, - CreateInjectorPipe, - ], + declarations: [], imports: [ CoreModule, ThemeSharedModule, @@ -41,15 +43,8 @@ import { DisabledDirective } from '@abp/ng.theme.shared'; NgbTimepickerModule, NgbTypeaheadModule, NgbTooltipModule, - DisabledDirective, - ], - exports: [ - PageToolbarComponent, - GridActionsComponent, - ExtensibleFormComponent, - ExtensibleTableComponent, - PropDataDirective, - CreateInjectorPipe, + ...importWithExport, ], + exports: [...importWithExport], }) export class ExtensibleModule {} diff --git a/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts b/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts index 3536fa4dad..4b410fcea9 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts @@ -12,6 +12,7 @@ import { EXTENSIONS_ACTION_CALLBACK, EXTENSIONS_ACTION_DATA } from '../tokens/ex @Pipe({ name: 'createInjector', + standalone: true, }) export class CreateInjectorPipe implements PipeTransform { public transform( diff --git a/npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts b/npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts new file mode 100644 index 0000000000..854ae1f9d9 --- /dev/null +++ b/npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts @@ -0,0 +1,77 @@ +import { inject, Injectable } from '@angular/core'; + import { ValidatorFn, Validators } from '@angular/forms'; +import { AbpValidators, ConfigStateService } from '@abp/ng.core'; +import { map } from 'rxjs/operators'; +import { FormProp } from '../models/form-props'; +import { ePropType } from '../enums/props.enum'; + +@Injectable() +export class ExtensibleFormPropService { + #configStateService = inject(ConfigStateService); + + meridian$ = this.#configStateService + .getDeep$('localization.currentCulture.dateTimeFormat.shortTimePattern') + .pipe(map((shortTimePattern: string | undefined) => (shortTimePattern || '').includes('tt'))); + + isRequired(validator: ValidatorFn) { + return ( + validator === Validators.required || + validator === AbpValidators.required || + validator.name === 'required' + ); + } + + getComponent(prop: FormProp) { + if (prop.template) { + return 'template'; + } + switch (prop.type) { + case ePropType.Boolean: + return 'checkbox'; + case ePropType.Date: + return 'date'; + case ePropType.DateTime: + return 'dateTime'; + case ePropType.Hidden: + return 'hidden'; + case ePropType.MultiSelect: + return 'multiselect'; + case ePropType.Text: + return 'textarea'; + case ePropType.Time: + return 'time'; + case ePropType.Typeahead: + return 'typeahead'; + case ePropType.PasswordInputGroup: + return 'passwordinputgroup'; + default: + return prop.options ? 'select' : 'input'; + } + } + + getType(prop: FormProp) { + switch (prop.type) { + case ePropType.Date: + case ePropType.String: + return 'text'; + case ePropType.Boolean: + return 'checkbox'; + case ePropType.Number: + return 'number'; + case ePropType.Email: + return 'email'; + case ePropType.Password: + return 'password'; + case ePropType.PasswordInputGroup: + return 'passwordinputgroup'; + default: + return 'hidden'; + } + } + + calcAsterisks(validators: ValidatorFn[]) { + if (!validators) return ''; + const required = validators.find(v => this.isRequired(v)); + return required ? '*' : ''; + } +} diff --git a/npm/ng-packs/packages/components/page/src/page.module.ts b/npm/ng-packs/packages/components/page/src/page.module.ts index 5bb27fbc66..acc397421d 100644 --- a/npm/ng-packs/packages/components/page/src/page.module.ts +++ b/npm/ng-packs/packages/components/page/src/page.module.ts @@ -9,7 +9,7 @@ import { PageToolbarContainerComponent, } from './page-parts.component'; import { PageComponent } from './page.component'; -import {ExtensibleModule} from "@abp/ng.components/extensible"; +import {PageToolbarComponent} from "@abp/ng.components/extensible"; const exportedDeclarations = [ PageComponent, @@ -21,7 +21,7 @@ const exportedDeclarations = [ @NgModule({ declarations: [...exportedDeclarations], - imports: [CommonModule, CoreModule, ThemeSharedModule, ExtensibleModule], + imports: [CommonModule, CoreModule, ThemeSharedModule, PageToolbarComponent], exports: [...exportedDeclarations], }) export class PageModule {} diff --git a/npm/ng-packs/packages/core/src/lib/abstracts/ng-model.component.ts b/npm/ng-packs/packages/core/src/lib/abstracts/ng-model.component.ts index 0f0eaa3722..8cabb30b0d 100644 --- a/npm/ng-packs/packages/core/src/lib/abstracts/ng-model.component.ts +++ b/npm/ng-packs/packages/core/src/lib/abstracts/ng-model.component.ts @@ -1,11 +1,11 @@ -import { ChangeDetectorRef, Component, Injector, Input } from '@angular/core'; +import { ChangeDetectorRef, Component, inject, Input } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; // Not an abstract class on purpose. Do not change! @Component({ template: '' }) export class AbstractNgModelComponent implements ControlValueAccessor { protected _value!: T; - protected cdRef: ChangeDetectorRef; + protected cdRef = inject(ChangeDetectorRef); onChange?: (value: T) => void; onTouched?: () => void; @@ -39,10 +39,6 @@ export class AbstractNgModelComponent implements ControlValueAcc return this._value; } - constructor(public injector: Injector) { - this.cdRef = injector.get(ChangeDetectorRef); - } - notifyValueChange(): void { if (this.onChange) { this.onChange(this.value); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts index ee2dd5aeac..89766ce992 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts @@ -43,8 +43,4 @@ export class FormCheckboxComponent extends AbstractNgModelComponent { @Input() checkboxReadonly = false; @Output() checkboxBlur = new EventEmitter(); @Output() checkboxFocus = new EventEmitter(); - - constructor(injector: Injector) { - super(injector); - } } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts index 8aa68a2047..d759163a0d 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/form-input/form-input.component.ts @@ -45,8 +45,4 @@ export class FormInputComponent extends AbstractNgModelComponent { @Input() inputClass = 'form-control'; @Output() formBlur = new EventEmitter(); @Output() formFocus = new EventEmitter(); - - constructor(injector: Injector) { - super(injector); - } } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts index 22fcd6e4f5..44207199ec 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts @@ -1,9 +1,12 @@ import { Component, forwardRef, Injector, Input } from '@angular/core'; import { AbstractNgModelComponent } from '@abp/ng.core'; -import { NG_VALUE_ACCESSOR } from '@angular/forms'; +import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms'; +import { CommonModule } from '@angular/common'; @Component({ selector: 'abp-password', + standalone: true, + imports: [CommonModule, FormsModule], templateUrl: `./password.component.html`, providers: [ { @@ -18,10 +21,6 @@ export class PasswordComponent extends AbstractNgModelComponent { @Input() formControlName!: string; fieldTextType?: boolean; - constructor(injector: Injector) { - super(injector); - } - toggleFieldTextType() { this.fieldTextType = !this.fieldTextType; } diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts index d7bfc999ff..2cad957942 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts @@ -10,6 +10,7 @@ import { @Directive({ selector: '[abpEllipsis]', + standalone:true }) export class EllipsisDirective implements AfterViewInit { @Input('abpEllipsis') @@ -44,9 +45,3 @@ export class EllipsisDirective implements AfterViewInit { this.cdRef.detectChanges(); } } - -@NgModule({ - exports: [EllipsisDirective], - declarations: [EllipsisDirective], -}) -export class EllipsisModule {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts index b41be45343..eb781666c1 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts @@ -7,6 +7,7 @@ import { debounceTime } from 'rxjs/operators'; @Directive({ // eslint-disable-next-line @angular-eslint/directive-selector selector: 'ngx-datatable[default]', + standalone:true, exportAs: 'ngxDatatableDefault', }) export class NgxDatatableDefaultDirective implements AfterViewInit, OnDestroy { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts index a179669473..9ce5d1d860 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts @@ -21,6 +21,7 @@ import { @Directive({ // eslint-disable-next-line @angular-eslint/directive-selector selector: 'ngx-datatable[list]', + standalone: true, exportAs: 'ngxDatatableList', }) export class NgxDatatableListDirective implements OnChanges, OnDestroy, OnInit { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index 71c081c9b2..44fbc85c0f 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -22,7 +22,7 @@ import { ModalComponent } from './components/modal/modal.component'; import { ToastContainerComponent } from './components/toast-container/toast-container.component'; import { ToastComponent } from './components/toast/toast.component'; import { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation'; -import { EllipsisModule } from './directives/ellipsis.directive'; +import { EllipsisDirective } from './directives/ellipsis.directive'; import { LoadingDirective } from './directives/loading.directive'; import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive'; import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive'; @@ -52,9 +52,6 @@ const declarationsWithExports = [ ModalComponent, ToastComponent, ToastContainerComponent, - PasswordComponent, - NgxDatatableDefaultDirective, - NgxDatatableListDirective, LoadingDirective, ModalCloseDirective, AbpVisibleDirective, @@ -68,14 +65,16 @@ const declarationsWithExports = [ NgxDatatableModule, NgxValidateCoreModule, NgbPaginationModule, - EllipsisModule, + EllipsisDirective, CardModule, + PasswordComponent, + NgxDatatableDefaultDirective, + NgxDatatableListDirective, DisabledDirective ], declarations: [...declarationsWithExports, HttpErrorWrapperComponent], exports: [ NgxDatatableModule, - EllipsisModule, NgxValidateCoreModule, CardModule, DisabledDirective, From c8e97adb643094031bb1b250df9d1b4660cf49d7 Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Tue, 7 Nov 2023 21:08:45 +0300 Subject: [PATCH 46/93] Clean some constructor injection to inject() --- .../extensible-table.component.ts | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts index 79930e418e..b04689430b 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts @@ -13,6 +13,7 @@ import { ChangeDetectionStrategy, Component, EventEmitter, + inject, Inject, Injector, Input, @@ -82,12 +83,8 @@ export class ExtensibleTableComponent implements OnChanges { @Output() tableActivate = new EventEmitter(); - getInjected: typeof this.injector.get; - hasAtLeastOnePermittedAction: boolean; - entityPropTypeClasses: EntityPropTypeClass; - readonly columnWidths!: number[]; readonly propList: EntityPropList; @@ -96,20 +93,20 @@ export class ExtensibleTableComponent implements OnChanges { readonly trackByFn: TrackByFunction> = (_, item) => item.name; - constructor( - @Inject(LOCALE_ID) private locale: string, - private config: ConfigStateService, - private injector: Injector, - ) { - this.entityPropTypeClasses = injector.get(ENTITY_PROP_TYPE_CLASSES); - this.getInjected = injector.get.bind(injector); - const extensions = injector.get(ExtensionsService); - const name = injector.get(EXTENSIONS_IDENTIFIER); + locale = inject(LOCALE_ID); + private config = inject(ConfigStateService); + entityPropTypeClasses = inject(ENTITY_PROP_TYPE_CLASSES); + #injector = inject(Injector); + getInjected = this.#injector.get.bind(this.#injector); + + constructor() { + const extensions = this.#injector.get(ExtensionsService); + const name = this.#injector.get(EXTENSIONS_IDENTIFIER); this.propList = extensions.entityProps.get(name).props; this.actionList = extensions['entityActions'].get(name) .actions as unknown as EntityActionList; - const permissionService = injector.get(PermissionService); + const permissionService = this.#injector.get(PermissionService); this.hasAtLeastOnePermittedAction = permissionService.filterItemsByPolicy( this.actionList.toArray().map(action => ({ requiredPolicy: action.permission })), @@ -188,7 +185,7 @@ export class ExtensibleTableComponent implements OnChanges { useValue: value, }, ], - parent: this.injector, + parent: this.#injector, }); record[propKey].component = prop.value.component; } From b3d2ac7aaf3730b835e285063aa5c3e036192acf Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Mon, 13 Nov 2023 15:42:08 +0300 Subject: [PATCH 47/93] implement comments, fix review issues --- .../extensible-form/extensible-form-prop.component.ts | 2 -- .../components/extensible-table/extensible-table.component.ts | 2 -- .../src/lib/components/grid-actions/grid-actions.component.ts | 3 +-- .../src/lib/components/page-toolbar/page-toolbar.component.ts | 3 +-- .../src/lib/services/extensible-form-prop.service.ts | 2 +- npm/ng-packs/packages/components/page/src/page.module.ts | 3 +-- .../src/lib/components/password/password.component.ts | 2 +- 7 files changed, 5 insertions(+), 12 deletions(-) diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts index 0d8c692015..ca32fd3e7a 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -42,7 +42,6 @@ import { PropData } from '../../models/props'; import { selfFactory } from '../../utils/factory.util'; import { addTypeaheadTextSuffix } from '../../utils/typeahead.util'; import { eThemeSharedComponents } from '../../enums/components'; -import { CommonModule } from '@angular/common'; import { ExtensibleDateTimePickerComponent } from '../date-time-picker/extensible-date-time-picker.component'; import { NgxValidateCoreModule } from '@ngx-validate/core'; import { ExtensibleFormPropService } from '../../services/extensible-form-prop.service'; @@ -53,7 +52,6 @@ import {CreateInjectorPipe} from "../../pipes/create-injector.pipe"; templateUrl: './extensible-form-prop.component.html', standalone: true, imports: [ - CommonModule, CoreModule, ExtensibleDateTimePickerComponent, NgbDatepickerModule, diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts index b04689430b..697f8d36bd 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts @@ -33,7 +33,6 @@ import { PropData } from '../../models/props'; import { ExtensionsService } from '../../services/extensions.service'; import { ENTITY_PROP_TYPE_CLASSES, - EntityPropTypeClass, EXTENSIONS_IDENTIFIER, PROP_DATA_STREAM, } from '../../tokens/extensions.token'; @@ -49,7 +48,6 @@ const DEFAULT_ACTIONS_COLUMN_WIDTH = 150; selector: 'abp-extensible-table', standalone: true, imports: [ - CommonModule, CoreModule, NgxDatatableModule, GridActionsComponent, diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts index 440c5e9adf..ebccd6e163 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/grid-actions/grid-actions.component.ts @@ -8,7 +8,6 @@ import { import { EntityAction, EntityActionList } from '../../models/entity-actions'; import { EXTENSIONS_ACTION_TYPE } from '../../tokens/extensions.token'; import { AbstractActionsComponent } from '../abstract-actions/abstract-actions.component'; -import { CommonModule } from '@angular/common'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { CoreModule } from '@abp/ng.core'; import {EllipsisDirective} from "@abp/ng.theme.shared"; @@ -16,7 +15,7 @@ import {EllipsisDirective} from "@abp/ng.theme.shared"; @Component({ exportAs: 'abpGridActions', standalone: true, - imports: [CommonModule, CoreModule, NgbDropdownModule, EllipsisDirective], + imports: [ CoreModule, NgbDropdownModule, EllipsisDirective], selector: 'abp-grid-actions', templateUrl: './grid-actions.component.html', providers: [ diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts index 2be1acba02..85685cdee6 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/page-toolbar/page-toolbar.component.ts @@ -8,7 +8,6 @@ import { } from '../../models/toolbar-actions'; import { EXTENSIONS_ACTION_TYPE } from '../../tokens/extensions.token'; import { AbstractActionsComponent } from '../abstract-actions/abstract-actions.component'; -import { CommonModule } from '@angular/common'; import { CreateInjectorPipe } from '../../pipes/create-injector.pipe'; import { CoreModule } from '@abp/ng.core'; @@ -16,7 +15,7 @@ import { CoreModule } from '@abp/ng.core'; exportAs: 'abpPageToolbar', selector: 'abp-page-toolbar', standalone: true, - imports: [CommonModule, CoreModule, CreateInjectorPipe], + imports: [ CoreModule, CreateInjectorPipe], templateUrl: './page-toolbar.component.html', providers: [ { diff --git a/npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts b/npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts index 854ae1f9d9..bf6de7ed05 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/services/extensible-form-prop.service.ts @@ -7,7 +7,7 @@ import { ePropType } from '../enums/props.enum'; @Injectable() export class ExtensibleFormPropService { - #configStateService = inject(ConfigStateService); + readonly #configStateService = inject(ConfigStateService); meridian$ = this.#configStateService .getDeep$('localization.currentCulture.dateTimeFormat.shortTimePattern') diff --git a/npm/ng-packs/packages/components/page/src/page.module.ts b/npm/ng-packs/packages/components/page/src/page.module.ts index acc397421d..77ffca0951 100644 --- a/npm/ng-packs/packages/components/page/src/page.module.ts +++ b/npm/ng-packs/packages/components/page/src/page.module.ts @@ -1,6 +1,5 @@ import { CoreModule } from '@abp/ng.core'; import { ThemeSharedModule } from '@abp/ng.theme.shared'; - import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { PagePartDirective } from './page-part.directive'; import { @@ -21,7 +20,7 @@ const exportedDeclarations = [ @NgModule({ declarations: [...exportedDeclarations], - imports: [CommonModule, CoreModule, ThemeSharedModule, PageToolbarComponent], + imports: [CoreModule, ThemeSharedModule, PageToolbarComponent], exports: [...exportedDeclarations], }) export class PageModule {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts index 44207199ec..4567ef45d6 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/password/password.component.ts @@ -1,4 +1,4 @@ -import { Component, forwardRef, Injector, Input } from '@angular/core'; +import { Component, forwardRef, Input } from '@angular/core'; import { AbstractNgModelComponent } from '@abp/ng.core'; import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms'; import { CommonModule } from '@angular/common'; From a23b0c806658bfdcb0ccb489bc8d024000dd06fa Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Mon, 13 Nov 2023 15:43:05 +0300 Subject: [PATCH 48/93] Add ABP Nightly Source for LeptonX Lite --- templates/NuGet.Config | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/NuGet.Config b/templates/NuGet.Config index 554c2f634b..25cf8cc86f 100644 --- a/templates/NuGet.Config +++ b/templates/NuGet.Config @@ -2,5 +2,6 @@ + - \ No newline at end of file + From 5d0dc70114adef16b683e41529774b24392c050d Mon Sep 17 00:00:00 2001 From: Salih Date: Mon, 13 Nov 2023 15:43:13 +0300 Subject: [PATCH 49/93] Revert "Merge pull request #18124 from abpframework/salihozkara/fixDocs" This reverts commit 4b4a8b93085e4b96a4a67af1b340ff043d91f101, reversing changes made to 2726d57ea4559f4df8f4ba1247f93378fc5ee33f. --- .../Bundling/PrismjsStyleBundleContributorDocsExtension.cs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs index f23f4bb803..eb0436c5ff 100644 --- a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs +++ b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Linq; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; namespace Volo.Docs.Bundling @@ -8,11 +7,7 @@ namespace Volo.Docs.Bundling { public override void ConfigureBundle(BundleConfigurationContext context) { - var prismCss = context.Files.FirstOrDefault(x => x.FileName == "/libs/prismjs/themes/prism.css"); - if (prismCss != null) - { - prismCss.FileName = "/libs/prismjs/themes/prism-okaidia.css"; - } + context.Files.ReplaceOne("/libs/prismjs/themes/prism.css","/libs/prismjs/themes/prism-okaidia.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/line-highlight/prism-line-highlight.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.css"); context.Files.AddIfNotContains("/libs/prismjs/plugins/diff-highlight/prism-diff-highlight.css"); From 26b99db975ea906f5d4fba2aaae96a5a35fb1f92 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Mon, 13 Nov 2023 16:08:07 +0300 Subject: [PATCH 50/93] Fix the typo in the ef core 8 complex types article --- .../2023-11-05-EF-Core-8-Complex-Types/POST.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD b/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD index 06289387e5..696bbaf07c 100644 --- a/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD +++ b/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD @@ -105,7 +105,7 @@ And update the database: dotnet ef database update ```` -If you check the fields of the `Customers` table in your dayabase, you will see the following fields: +If you check the fields of the `Customers` table in your database, you will see the following fields: * `Id` * `Name` From 99f3d4c1da5a995928839e4359a1c647d53848d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sinan=20=C3=96zt=C3=BCrk?= Date: Mon, 13 Nov 2023 17:17:41 +0300 Subject: [PATCH 51/93] add tilde --- npm/ng-packs/package.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 89249cdec8..54b687b552 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -44,8 +44,8 @@ }, "private": true, "devDependencies": { - "@abp/ng.theme.lepton-x": "~2.4.1", - "@abp/utils": "~7.4.1", + "@abp/ng.theme.lepton-x": "~2.4.0", + "@abp/utils": "~7.4.0", "@angular-devkit/build-angular": "~17.0.0", "@angular-devkit/core": "~17.0.0", "@angular-devkit/schematics": "~17.0.0", @@ -69,12 +69,12 @@ "@ng-bootstrap/ng-bootstrap": "^15.0.0", "@ngneat/spectator": "^15.0.0", "@ngx-validate/core": "^0.2.0", - "@nx/angular": "17.1.1", - "@nx/cypress": "17.1.1", - "@nx/eslint-plugin": "17.1.1", - "@nx/jest": "17.1.1", - "@nx/js": "17.1.1", - "@nx/workspace": "17.1.1", + "@nx/angular": "~17.1.0", + "@nx/cypress": "~17.1.0", + "@nx/eslint-plugin": "~17.1.0", + "@nx/jest": "~17.1.0", + "@nx/js": "~17.1.0", + "@nx/workspace": "~17.1.0", "@popperjs/core": "~2.11.0", "@schematics/angular": "17.0.0", "@swc-node/register": "1.6.8", @@ -107,7 +107,7 @@ "lint-staged": "^13.0.0", "ng-packagr": "17.0.0", "ng-zorro-antd": "^15.0.0", - "nx": "17.1.1", + "nx": "~17.1.0", "perfect-scrollbar": "^1.0.0", "postcss": "^8.0.0", "postcss-import": "14.1.0", @@ -124,10 +124,10 @@ "tslint": "~6.1.0", "typescript": "~5.2.0", "zone.js": "0.14.2", - "@nx/devkit": "17.1.1", - "@nx/plugin": "17.1.1", + "@nx/devkit": "~17.1.0", + "@nx/plugin": "~17.1.0", "@swc/helpers": "0.5.3", - "@nx/eslint": "17.1.1" + "@nx/eslint": "~17.1.0" }, "lint-staged": { "**/*.{js,jsx,ts,tsx,html,css,scss}": [ From 3d7009ab2ccc1db4c2edf669527020f3d1fdc430 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 14 Nov 2023 14:35:38 +0800 Subject: [PATCH 52/93] Rename AbpClaimCacheIteam to AbpClaimCacheItem --- .../Claims/{AbpClaimCacheIteam.cs => AbpClaimCacheItem.cs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/{AbpClaimCacheIteam.cs => AbpClaimCacheItem.cs} (100%) diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheItem.cs similarity index 100% rename from framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheIteam.cs rename to framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheItem.cs From 5e2e246eb71a627e11d220d02792d8189f267214 Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Tue, 14 Nov 2023 12:13:04 +0300 Subject: [PATCH 53/93] fix typos on articles related .NET 8.0 --- .../2023-10-23-NET-8-Feature-containers/POST.md | 4 ++-- .../2023-11-05-EF-Core-8-Complex-Types/POST.MD | 2 +- .../2023-11-06-EF-Core_Hierarchy-Id/POST.md | 2 +- .../en/Community-Articles/2023-11-97-AOT-Compilation/Post.md | 5 +---- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/docs/en/Community-Articles/2023-10-23-NET-8-Feature-containers/POST.md b/docs/en/Community-Articles/2023-10-23-NET-8-Feature-containers/POST.md index dc0f96e726..73bea079a1 100644 --- a/docs/en/Community-Articles/2023-10-23-NET-8-Feature-containers/POST.md +++ b/docs/en/Community-Articles/2023-10-23-NET-8-Feature-containers/POST.md @@ -17,8 +17,8 @@ It's important to note that this change only affects the default port used when If you want your application to continue using port 80, you can still specify it during the application launch or configure it in the application settings. -* Recommended: Explicitly set the `ASPNETCORE_HTTP_PORTS`, `ASPNETCORE_HTTPS_PORTS``, and `ASPNETCORE_URLS` environment variables to the desired port. Example: `docker run --rm -it -p 9999:80 -e ASPNETCORE_HTTP_PORTS=80 `` -* Update existing commands and configuration that rely on the expected default port of port 80 to reference port 8080 instead. Example: `docker run --rm -it -p 9999:8080 `` +* Recommended: Explicitly set the `ASPNETCORE_HTTP_PORTS`, `ASPNETCORE_HTTPS_PORTS`, and `ASPNETCORE_URLS` environment variables to the desired port. Example: `docker run --rm -it -p 9999:80 -e ASPNETCORE_HTTP_PORTS=80 ` +* Update existing commands and configuration that rely on the expected default port of port 80 to reference port 8080 instead. Example: `docker run --rm -it -p 9999:8080 ` > The `dockerfile` of ABP templates has been updated to use port `80`. diff --git a/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD b/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD index 696bbaf07c..f11dec060d 100644 --- a/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD +++ b/docs/en/Community-Articles/2023-11-05-EF-Core-8-Complex-Types/POST.MD @@ -180,7 +180,7 @@ For more details and examples, see the Microsoft's document in the *References* You can find the sample project here: -https://github.com/hikalkan/samples/tree/master/EfCoreComplexTypeDemo +[https://github.com/hikalkan/samples/tree/master/EfCoreComplexTypeDemo](https://github.com/hikalkan/samples/tree/master/EfCoreComplexTypeDemo) ## References diff --git a/docs/en/Community-Articles/2023-11-06-EF-Core_Hierarchy-Id/POST.md b/docs/en/Community-Articles/2023-11-06-EF-Core_Hierarchy-Id/POST.md index 9255c39a5a..a3c143a9c8 100644 --- a/docs/en/Community-Articles/2023-11-06-EF-Core_Hierarchy-Id/POST.md +++ b/docs/en/Community-Articles/2023-11-06-EF-Core_Hierarchy-Id/POST.md @@ -76,4 +76,4 @@ await context.SaveChangesAsync(); For more information about hierarchy id, see the following resource: -https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew#hierarchyid-in-net-and-ef-core +- [https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew#hierarchyid-in-net-and-ef-core](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew#hierarchyid-in-net-and-ef-core) diff --git a/docs/en/Community-Articles/2023-11-97-AOT-Compilation/Post.md b/docs/en/Community-Articles/2023-11-97-AOT-Compilation/Post.md index 2b994b59c3..b39a2af339 100644 --- a/docs/en/Community-Articles/2023-11-97-AOT-Compilation/Post.md +++ b/docs/en/Community-Articles/2023-11-97-AOT-Compilation/Post.md @@ -39,7 +39,7 @@ I have created a simple console application to test the Native AOT Compilation. | | Size | Speed | -| --- | --- | --- | +| --- | --- | --- | | .NET 8
_(Self-Contained, Single File)_ | 65938 kb | 00.0051806 ~5ms | | .NET 7 AOT (default) | 4452 kb | 00.0029823 ~2ms | | .NET 8 AOT (default) | 1242 kb | 00.0028638 ~2ms | @@ -65,11 +65,8 @@ Always consider the specific needs and constraints of your project before decidi Native AOT Compilation is a great feature that improves the performance of .NET applications. It's still in early-stages and not all libraries support it yet. But it's a great beginning for the future of .NET 🚀 - ## Links - Native AOT deployment overview - .NET | Microsoft Learn. https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/. -- - Optimize AOT deployments https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/optimizing -- - What's new in .NET 8 | Microsoft Learn. https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8. From e40775428000f0957b1de9fba7e0f57a510ce186 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 14 Nov 2023 18:05:10 +0800 Subject: [PATCH 54/93] Refresh instead of returning dynamic claims. --- ...RemoteDynamicClaimsPrincipalContributor.cs | 19 ++++- ...eDynamicClaimsPrincipalContributorCache.cs | 72 +++++++------------ ...cClaimsPrincipalContributorCacheOptions.cs | 13 ---- .../Claims/AbpDynamicClaimsMiddleware.cs | 12 ++-- .../Abp/Security/Claims/AbpClaimCacheItem.cs | 22 ------ .../AbpClaimsPrincipalFactoryOptions.cs | 8 ++- .../Abp/Security/Claims/AbpDynamicClaim.cs | 17 +++++ .../Claims/AbpDynamicClaimCacheItem.cs | 25 +++++++ ...bpDynamicClaimsPrincipalContributorBase.cs | 4 +- ...micClaimsPrincipalContributorBase_Tests.cs | 24 +++---- .../Abp/Account/IDynamicClaimsAppService.cs | 2 +- .../Abp/Account/DynamicClaimsAppService.cs | 33 +++------ .../DynamicClaimsClientProxy.Generated.cs | 4 +- .../ClientProxies/account-generate-proxy.json | 20 +++--- .../Abp/Account/DynamicClaimsController.cs | 7 +- ...entityDynamicClaimsPrincipalContributor.cs | 6 +- ...yDynamicClaimsPrincipalContributorCache.cs | 16 ++--- .../MyProjectNameAuthServerModule.cs | 6 ++ .../MyProjectNameBlazorModule.cs | 3 +- .../MyProjectNameBlazorModule.cs | 5 ++ .../MyProjectNameBlazorModule.cs | 3 +- .../MyProjectNameHttpApiHostModule.cs | 6 ++ .../MyProjectNameHttpApiHostModule.cs | 5 ++ .../MyProjectNameWebModule.cs | 9 +-- .../MyProjectNameWebModule.cs | 5 ++ 25 files changed, 183 insertions(+), 163 deletions(-) delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs delete mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheItem.cs create mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaim.cs create mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimCacheItem.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs index e1f545a995..d9339b57df 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributor.cs @@ -1,6 +1,9 @@ +using System; using System.Linq; +using System.Security.Claims; using System.Security.Principal; using System.Threading.Tasks; +using Microsoft.Extensions.Logging; using Volo.Abp.Security.Claims; namespace Volo.Abp.AspNetCore.Mvc.Client; @@ -22,8 +25,20 @@ public class RemoteDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincipal } var dynamicClaimsCache = context.GetRequiredService(); - var dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); + AbpDynamicClaimCacheItem dynamicClaims; + try + { + dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); + } + catch (Exception e) + { + // In case if failed refresh remote dynamic cache, We force to clear the claims principal. + context.ClaimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity()); + var logger = context.GetRequiredService>(); + logger.LogWarning(e, $"Failed to refresh remote dynamic claims cache for user: {userId.Value}"); + return; + } - await AddDynamicClaimsAsync(context, identity, dynamicClaims); + await AddDynamicClaimsAsync(context, identity, dynamicClaims.Claims); } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs index 400d42349c..eb9618e6b1 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs @@ -1,9 +1,7 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Net.Http; using System.Threading.Tasks; -using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; @@ -21,76 +19,58 @@ public class RemoteDynamicClaimsPrincipalContributorCache : ITransientDependency public const string HttpClientName = nameof(RemoteDynamicClaimsPrincipalContributorCache); public ILogger Logger { get; set; } - protected IDistributedCache> Cache { get; } + protected IDistributedCache Cache { get; } protected IHttpClientFactory HttpClientFactory { get; } protected IOptions AbpClaimsPrincipalFactoryOptions { get; } protected IJsonSerializer JsonSerializer { get; } protected IRemoteServiceHttpClientAuthenticator HttpClientAuthenticator { get; } - protected IOptions CacheOptions { get; } public RemoteDynamicClaimsPrincipalContributorCache( - IDistributedCache> cache, + IDistributedCache cache, IHttpClientFactory httpClientFactory, IOptions abpClaimsPrincipalFactoryOptions, IJsonSerializer jsonSerializer, - IRemoteServiceHttpClientAuthenticator httpClientAuthenticator, - IOptions cacheOptions) + IRemoteServiceHttpClientAuthenticator httpClientAuthenticator) { Cache = cache; HttpClientFactory = httpClientFactory; AbpClaimsPrincipalFactoryOptions = abpClaimsPrincipalFactoryOptions; JsonSerializer = jsonSerializer; HttpClientAuthenticator = httpClientAuthenticator; - CacheOptions = cacheOptions; Logger = NullLogger.Instance; } - public virtual async Task> GetAsync(Guid userId, Guid? tenantId = null) + public virtual async Task GetAsync(Guid userId, Guid? tenantId = null) { Logger.LogDebug($"Get dynamic claims cache for user: {userId}"); - //The UI may use the same cache as AuthServer in the tiered application. - var claims = await Cache.GetAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)); - if (!claims.IsNullOrEmpty()) + var claims = await Cache.GetAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId)); + if (claims != null && !claims.Claims.IsNullOrEmpty()) { - return claims!; + return claims; } - Logger.LogDebug($"Get dynamic claims cache for user: {userId} from remote cache."); - // Use independent cache for remote claims. - return (await Cache.GetOrAddAsync($"{nameof(RemoteDynamicClaimsPrincipalContributorCache)}{AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)}", async () => + Logger.LogDebug($"Refresh dynamic claims for user: {userId} from remote service."); + try { - var dynamicClaims = AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims.Select(claimType => new AbpClaimCacheItem(claimType, null)).ToList(); - Logger.LogDebug($"Get dynamic claims for user: {userId} from remote service."); - try - { - var client = HttpClientFactory.CreateClient(HttpClientName); - var requestMessage = new HttpRequestMessage(HttpMethod.Get, AbpClaimsPrincipalFactoryOptions.Value.RemoteUrl); - await HttpClientAuthenticator.Authenticate(new RemoteServiceHttpClientAuthenticateContext(client, requestMessage, new RemoteServiceConfiguration("/"), string.Empty)); - var response = await client.SendAsync(requestMessage); - var remoteClaims = JsonSerializer.Deserialize>(await response.Content.ReadAsStringAsync()); - foreach (var claim in dynamicClaims) - { - claim.Value = remoteClaims.FirstOrDefault(c => c.Type == claim.Type)?.Value; - } - Logger.LogDebug($"Successfully got {dynamicClaims.Count} remote claims for user: {userId}"); - } - catch (Exception e) - { - Logger.LogWarning(e, $"Failed to get remote claims for user: {userId}"); - } - return dynamicClaims; - }, () => new DistributedCacheEntryOptions + var client = HttpClientFactory.CreateClient(HttpClientName); + var requestMessage = new HttpRequestMessage(HttpMethod.Post, AbpClaimsPrincipalFactoryOptions.Value.RemoteRefreshUrl); + await HttpClientAuthenticator.Authenticate(new RemoteServiceHttpClientAuthenticateContext(client, requestMessage, new RemoteServiceConfiguration("/"), string.Empty)); + var response = await client.SendAsync(requestMessage); + response.EnsureSuccessStatusCode(); + } + catch (Exception e) { - AbsoluteExpirationRelativeToNow = CacheOptions.Value.CacheAbsoluteExpiration - }))!; - } + Logger.LogWarning(e, $"Failed to refresh remote claims for user: {userId}"); + throw; + } - public virtual async Task ClearAsync(Guid userId, Guid? tenantId = null) - { - Logger.LogDebug($"Clear dynamic claims cache for user: {userId}"); - Logger.LogDebug($"Clear dynamic claims cache from remote cache for user: {userId}"); - await Cache.RemoveAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)); - await Cache.RemoveAsync($"{nameof(RemoteDynamicClaimsPrincipalContributorCache)}{AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)}"); + claims = await Cache.GetAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId)); + if (claims == null || claims.Claims.IsNullOrEmpty()) + { + throw new AbpException($"Failed to refresh remote claims for user: {userId}"); + } + + return claims!; } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs deleted file mode 100644 index ea7afb5dcb..0000000000 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCacheOptions.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; - -namespace Volo.Abp.AspNetCore.Mvc.Client; - -public class RemoteDynamicClaimsPrincipalContributorCacheOptions -{ - public TimeSpan CacheAbsoluteExpiration { get; set; } - - public RemoteDynamicClaimsPrincipalContributorCacheOptions() - { - CacheAbsoluteExpiration = TimeSpan.FromSeconds(60); - } -} diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs index 33b7b3f16e..777ca7744a 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs @@ -1,9 +1,9 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; using Volo.Abp.Security.Claims; -using Volo.Abp.Users; namespace Volo.Abp.AspNetCore.Security.Claims; @@ -11,11 +11,13 @@ public class AbpDynamicClaimsMiddleware : IMiddleware, ITransientDependency { public async Task InvokeAsync(HttpContext context, RequestDelegate next) { - var currentUser = context.RequestServices.GetRequiredService(); - if (currentUser.IsAuthenticated) + if (context.User.Identity?.IsAuthenticated == true) { - var abpClaimsPrincipalFactory = context.RequestServices.GetRequiredService(); - context.User = await abpClaimsPrincipalFactory.CreateDynamicAsync(context.User); + if (context.RequestServices.GetRequiredService>().Value.IsDynamicClaimsEnabled) + { + var abpClaimsPrincipalFactory = context.RequestServices.GetRequiredService(); + context.User = await abpClaimsPrincipalFactory.CreateDynamicAsync(context.User); + } } await next(context); diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheItem.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheItem.cs deleted file mode 100644 index d87e8634b2..0000000000 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimCacheItem.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - -namespace Volo.Abp.Security.Claims; - -[Serializable] -public class AbpClaimCacheItem -{ - public string Type { get; set; } - - public string? Value { get; set; } - - public AbpClaimCacheItem(string type, string? value) - { - Type = type; - Value = value; - } - - public static string CalculateCacheKey(Guid userId, Guid? tenantId) - { - return $"{tenantId}-{userId}"; - } -} diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs index 0f5b5cdbd6..75bf67bee6 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimsPrincipalFactoryOptions.cs @@ -12,10 +12,12 @@ public class AbpClaimsPrincipalFactoryOptions public List DynamicClaims { get; } - public string RemoteUrl { get; set; } + public string RemoteRefreshUrl { get; set; } public Dictionary> ClaimsMap { get; set; } + public bool IsDynamicClaimsEnabled { get; set; } + public AbpClaimsPrincipalFactoryOptions() { Contributors = new TypeList(); @@ -33,7 +35,7 @@ public class AbpClaimsPrincipalFactoryOptions AbpClaimTypes.PhoneNumberVerified }; - RemoteUrl = "/api/account/dynamic-claims"; + RemoteRefreshUrl = "/api/account/dynamic-claims/refresh"; ClaimsMap = new Dictionary>() { @@ -43,5 +45,7 @@ public class AbpClaimsPrincipalFactoryOptions { AbpClaimTypes.Role, new List { "role", "roles", ClaimTypes.Role }}, { AbpClaimTypes.Email, new List { "email", ClaimTypes.Email }}, }; + + IsDynamicClaimsEnabled = false; } } diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaim.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaim.cs new file mode 100644 index 0000000000..ab8fc13f17 --- /dev/null +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaim.cs @@ -0,0 +1,17 @@ +using System; + +namespace Volo.Abp.Security.Claims; + +[Serializable] +public class AbpDynamicClaim +{ + public string Type { get; set; } + + public string? Value { get; set; } + + public AbpDynamicClaim(string type, string? value) + { + Type = type; + Value = value; + } +} diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimCacheItem.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimCacheItem.cs new file mode 100644 index 0000000000..8c25cb19e7 --- /dev/null +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimCacheItem.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace Volo.Abp.Security.Claims; + +[Serializable] +public class AbpDynamicClaimCacheItem +{ + public List Claims { get; set; } + + public AbpDynamicClaimCacheItem() + { + Claims = new List(); + } + + public AbpDynamicClaimCacheItem(List claims) + { + Claims = claims; + } + + public static string CalculateCacheKey(Guid userId, Guid? tenantId) + { + return $"{tenantId}-{userId}"; + } +} diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs index 2982018650..2e607ace93 100644 --- a/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase.cs @@ -12,7 +12,7 @@ public abstract class AbpDynamicClaimsPrincipalContributorBase : IAbpDynamicClai { public abstract Task ContributeAsync(AbpClaimsPrincipalContributorContext context); - protected virtual async Task AddDynamicClaimsAsync(AbpClaimsPrincipalContributorContext context, ClaimsIdentity identity, List dynamicClaims) + protected virtual async Task AddDynamicClaimsAsync(AbpClaimsPrincipalContributorContext context, ClaimsIdentity identity, List dynamicClaims) { var options = context.GetRequiredService>().Value; foreach (var map in options.ClaimsMap) @@ -27,7 +27,7 @@ public abstract class AbpDynamicClaimsPrincipalContributorBase : IAbpDynamicClai } } - protected virtual Task MapClaimAsync(ClaimsIdentity identity, List dynamicClaims, string targetClaimType, params string[] sourceClaimTypes) + protected virtual Task MapClaimAsync(ClaimsIdentity identity, List dynamicClaims, string targetClaimType, params string[] sourceClaimTypes) { var claims = dynamicClaims.Where(c => sourceClaimTypes.Contains(c.Type)).ToList(); if (claims.IsNullOrEmpty()) diff --git a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs index d82ae2803a..7054319dfa 100644 --- a/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs +++ b/framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/AbpDynamicClaimsPrincipalContributorBase_Tests.cs @@ -16,7 +16,7 @@ class TestAbpDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincipalContri var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); Check.NotNull(identity, nameof(identity)); - await AddDynamicClaimsAsync(context, identity, AbpDynamicClaimsPrincipalContributorBase_Tests.DynamicClaims); + await AddDynamicClaimsAsync(context, identity, AbpDynamicClaimsPrincipalContributorBase_Tests.DynamicClaims.Claims); } } @@ -24,7 +24,7 @@ public class AbpDynamicClaimsPrincipalContributorBase_Tests : AbpIntegratedTest< { private readonly TestAbpDynamicClaimsPrincipalContributor _dynamicClaimsPrincipalContributorBase = new TestAbpDynamicClaimsPrincipalContributor(); - public readonly static List DynamicClaims = new List(); + public readonly static AbpDynamicClaimCacheItem DynamicClaims = new AbpDynamicClaimCacheItem(); protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) { @@ -46,17 +46,17 @@ public class AbpDynamicClaimsPrincipalContributorBase_Tests : AbpIntegratedTest< claimsPrincipal.Identities.First().AddClaim(new Claim(AbpClaimTypes.PhoneNumberVerified, "test-source-phoneNumberVerified")); claimsPrincipal.Identities.First().AddClaim(new Claim("my-claim", "test-source-my-claim")); - DynamicClaims.AddRange(new [] + DynamicClaims.Claims.AddRange(new [] { - new AbpClaimCacheItem("preferred_username", "test-preferred_username"), - new AbpClaimCacheItem(ClaimTypes.GivenName, "test-given_name"), - new AbpClaimCacheItem("family_name", "test-family_name"), - new AbpClaimCacheItem("role", "test-role1"), - new AbpClaimCacheItem("roles", "test-role2"), - new AbpClaimCacheItem(ClaimTypes.Role, "test-role3"), - new AbpClaimCacheItem("email", "test-email"), - new AbpClaimCacheItem(AbpClaimTypes.EmailVerified, "test-email-verified"), - new AbpClaimCacheItem(AbpClaimTypes.PhoneNumberVerified, null), + new AbpDynamicClaim("preferred_username", "test-preferred_username"), + new AbpDynamicClaim(ClaimTypes.GivenName, "test-given_name"), + new AbpDynamicClaim("family_name", "test-family_name"), + new AbpDynamicClaim("role", "test-role1"), + new AbpDynamicClaim("roles", "test-role2"), + new AbpDynamicClaim(ClaimTypes.Role, "test-role3"), + new AbpDynamicClaim("email", "test-email"), + new AbpDynamicClaim(AbpClaimTypes.EmailVerified, "test-email-verified"), + new AbpDynamicClaim(AbpClaimTypes.PhoneNumberVerified, null), }); await _dynamicClaimsPrincipalContributorBase.ContributeAsync(new AbpClaimsPrincipalContributorContext(claimsPrincipal, GetRequiredService())); diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs index 8702ef5fcd..36a91b2155 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/IDynamicClaimsAppService.cs @@ -6,5 +6,5 @@ namespace Volo.Abp.Account; public interface IDynamicClaimsAppService : IApplicationService { - Task> GetAsync(); + Task RefreshAsync(); } diff --git a/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs index d32d265d4a..e26dbfc979 100644 --- a/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs +++ b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/DynamicClaimsAppService.cs @@ -1,48 +1,31 @@ -using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; -using Microsoft.Extensions.Options; using Volo.Abp.Identity; using Volo.Abp.Security.Claims; +using Volo.Abp.Users; namespace Volo.Abp.Account; [Authorize] public class DynamicClaimsAppService : IdentityAppServiceBase, IDynamicClaimsAppService { + protected IdentityDynamicClaimsPrincipalContributorCache IdentityDynamicClaimsPrincipalContributorCache { get; } protected IAbpClaimsPrincipalFactory AbpClaimsPrincipalFactory { get; } protected ICurrentPrincipalAccessor PrincipalAccessor { get; } - protected IOptions AbpClaimsPrincipalFactoryOptions { get; } public DynamicClaimsAppService( + IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache, IAbpClaimsPrincipalFactory abpClaimsPrincipalFactory, - ICurrentPrincipalAccessor principalAccessor, - IOptions abpClaimsPrincipalFactoryOptions) + ICurrentPrincipalAccessor principalAccessor) { + IdentityDynamicClaimsPrincipalContributorCache = identityDynamicClaimsPrincipalContributorCache; AbpClaimsPrincipalFactory = abpClaimsPrincipalFactory; PrincipalAccessor = principalAccessor; - AbpClaimsPrincipalFactoryOptions = abpClaimsPrincipalFactoryOptions; } - public virtual async Task> GetAsync() + public virtual async Task RefreshAsync() { - var principal = await AbpClaimsPrincipalFactory.CreateAsync(PrincipalAccessor.Principal); - - var dynamicClaims = new List(); - foreach (var claimType in AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims) - { - var claims = principal.Claims.Where(x => x.Type == claimType).ToList(); - if (claims.Any()) - { - dynamicClaims.AddRange(claims.Select(claim => new DynamicClaimDto(claimType, claim.Value))); - } - else - { - dynamicClaims.Add(new DynamicClaimDto(claimType, null)); - } - } - - return dynamicClaims; + await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(CurrentUser.GetId(), CurrentUser.TenantId); + await AbpClaimsPrincipalFactory.CreateDynamicAsync(PrincipalAccessor.Principal); } } diff --git a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs index d460483a8d..7bb80a95cb 100644 --- a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs +++ b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/Volo/Abp/Account/DynamicClaimsClientProxy.Generated.cs @@ -17,8 +17,8 @@ namespace Volo.Abp.Account; [ExposeServices(typeof(IDynamicClaimsAppService), typeof(DynamicClaimsClientProxy))] public partial class DynamicClaimsClientProxy : ClientProxyBase, IDynamicClaimsAppService { - public virtual async Task> GetAsync() + public virtual async Task RefreshAsync() { - return await RequestAsync>(nameof(GetAsync)); + await RequestAsync(nameof(RefreshAsync)); } } diff --git a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json index 857c27a3cd..9857f97c9a 100644 --- a/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json +++ b/modules/account/src/Volo.Abp.Account.HttpApi.Client/ClientProxies/account-generate-proxy.json @@ -351,28 +351,28 @@ "name": "IDynamicClaimsAppService", "methods": [ { - "name": "GetAsync", + "name": "RefreshAsync", "parametersOnMethod": [], "returnValue": { - "type": "System.Collections.Generic.List", - "typeSimple": "[Volo.Abp.Account.DynamicClaimDto]" + "type": "System.Void", + "typeSimple": "System.Void" } } ] } ], "actions": { - "GetAsync": { - "uniqueName": "GetAsync", - "name": "GetAsync", - "httpMethod": "GET", - "url": "api/account/dynamic-claims", + "RefreshAsync": { + "uniqueName": "RefreshAsync", + "name": "RefreshAsync", + "httpMethod": "POST", + "url": "api/account/dynamic-claims/refresh", "supportedVersions": [], "parametersOnMethod": [], "parameters": [], "returnValue": { - "type": "System.Collections.Generic.List", - "typeSimple": "[Volo.Abp.Account.DynamicClaimDto]" + "type": "System.Void", + "typeSimple": "System.Void" }, "allowAnonymous": null, "implementFrom": "Volo.Abp.Account.IDynamicClaimsAppService" diff --git a/modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs b/modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs index 85587478ed..f3546e6607 100644 --- a/modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs +++ b/modules/account/src/Volo.Abp.Account.HttpApi/Volo/Abp/Account/DynamicClaimsController.cs @@ -18,9 +18,10 @@ public class DynamicClaimsController : AbpControllerBase, IDynamicClaimsAppServi DynamicClaimsAppService = dynamicClaimsAppService; } - [HttpGet] - public virtual Task> GetAsync() + [HttpPost] + [Route("refresh")] + public virtual Task RefreshAsync() { - return DynamicClaimsAppService.GetAsync(); + return DynamicClaimsAppService.RefreshAsync(); } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs index 45093591b6..7d56a3b184 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributor.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections.Generic; using System.Linq; using System.Security.Claims; using System.Security.Principal; @@ -22,7 +20,7 @@ public class IdentityDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincip } var dynamicClaimsCache = context.GetRequiredService(); - List dynamicClaims; + AbpDynamicClaimCacheItem dynamicClaims; try { dynamicClaims = await dynamicClaimsCache.GetAsync(userId.Value, identity.FindTenantId()); @@ -36,6 +34,6 @@ public class IdentityDynamicClaimsPrincipalContributor : AbpDynamicClaimsPrincip return; } - await AddDynamicClaimsAsync(context, identity, dynamicClaims); + await AddDynamicClaimsAsync(context, identity, dynamicClaims.Claims); } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs index f3014adfce..b0ab885e03 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDynamicClaimsPrincipalContributorCache.cs @@ -18,7 +18,7 @@ public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependen { public ILogger Logger { get; set; } - protected IDistributedCache> Cache { get; } + protected IDistributedCache Cache { get; } protected ICurrentTenant CurrentTenant { get; } protected IdentityUserManager UserManager { get; } protected IUserClaimsPrincipalFactory UserClaimsPrincipalFactory { get; } @@ -26,7 +26,7 @@ public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependen protected IOptions CacheOptions { get; } public IdentityDynamicClaimsPrincipalContributorCache( - IDistributedCache> cache, + IDistributedCache cache, ICurrentTenant currentTenant, IdentityUserManager userManager, IUserClaimsPrincipalFactory userClaimsPrincipalFactory, @@ -43,11 +43,11 @@ public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependen Logger = NullLogger.Instance; } - public virtual async Task> GetAsync(Guid userId, Guid? tenantId = null) + public virtual async Task GetAsync(Guid userId, Guid? tenantId = null) { Logger.LogDebug($"Get dynamic claims cache for user: {userId}"); - return await Cache.GetOrAddAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId), async () => + return await Cache.GetOrAddAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId), async () => { using (CurrentTenant.Change(tenantId)) { @@ -56,17 +56,17 @@ public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependen var user = await UserManager.GetByIdAsync(userId); var principal = await UserClaimsPrincipalFactory.CreateAsync(user); - var dynamicClaims = new List(); + var dynamicClaims = new AbpDynamicClaimCacheItem(); foreach (var claimType in AbpClaimsPrincipalFactoryOptions.Value.DynamicClaims) { var claims = principal.Claims.Where(x => x.Type == claimType).ToList(); if (claims.Any()) { - dynamicClaims.AddRange(claims.Select(claim => new AbpClaimCacheItem(claimType, claim.Value))); + dynamicClaims.Claims.AddRange(claims.Select(claim => new AbpDynamicClaim(claimType, claim.Value))); } else { - dynamicClaims.Add(new AbpClaimCacheItem(claimType, null)); + dynamicClaims.Claims.Add(new AbpDynamicClaim(claimType, null)); } } @@ -81,6 +81,6 @@ public class IdentityDynamicClaimsPrincipalContributorCache : ITransientDependen public virtual async Task ClearAsync(Guid userId, Guid? tenantId = null) { Logger.LogDebug($"Clearing dynamic claims cache for user: {userId}"); - await Cache.RemoveAsync(AbpClaimCacheItem.CalculateCacheKey(userId, tenantId)); + await Cache.RemoveAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId)); } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs index 95b2563438..4c191579f8 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs @@ -32,6 +32,7 @@ using Volo.Abp.DistributedLocking; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.OpenIddict; +using Volo.Abp.Security.Claims; using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.UI; using Volo.Abp.VirtualFileSystem; @@ -180,6 +181,11 @@ public class MyProjectNameAuthServerModule : AbpModule .AllowCredentials(); }); }); + + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); } public override void OnApplicationInitialization(ApplicationInitializationContext context) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs index dd890d4dc6..c41ed749be 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs @@ -231,7 +231,8 @@ public class MyProjectNameBlazorModule : AbpModule context.Services.Configure(options => { - options.RemoteUrl = configuration["AuthServer:Authority"] + options.RemoteUrl; + options.IsDynamicClaimsEnabled = true; + options.RemoteRefreshUrl = configuration["AuthServer:Authority"] + options.RemoteRefreshUrl; }); } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs index 0bb20fa36e..8c93eeca33 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs @@ -34,6 +34,7 @@ using Volo.Abp.AutoMapper; using Volo.Abp.Identity.Blazor.Server; using Volo.Abp.Localization; using Volo.Abp.Modularity; +using Volo.Abp.Security.Claims; using Volo.Abp.SettingManagement.Blazor.Server; using Volo.Abp.Swashbuckle; using Volo.Abp.TenantManagement.Blazor.Server; @@ -122,6 +123,10 @@ public class MyProjectNameBlazorModule : AbpModule private void ConfigureAuthentication(ServiceConfigurationContext context) { context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); } private void ConfigureUrls(IConfiguration configuration) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs index a323ff8dcd..833ae909f5 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs @@ -84,7 +84,8 @@ public class MyProjectNameBlazorModule : AbpModule builder.Services.Configure(options => { - options.RemoteUrl = builder.Configuration["AuthServer:Authority"] + options.RemoteUrl; + options.IsDynamicClaimsEnabled = true; + options.RemoteRefreshUrl = builder.Configuration["AuthServer:Authority"] + options.RemoteRefreshUrl; }); } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs index d277aa4039..e785db843a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs @@ -27,6 +27,7 @@ using Volo.Abp.DistributedLocking; using Volo.Abp.Identity; using Volo.Abp.Localization; using Volo.Abp.Modularity; +using Volo.Abp.Security.Claims; using Volo.Abp.Swashbuckle; using Volo.Abp.VirtualFileSystem; @@ -106,6 +107,11 @@ public class MyProjectNameHttpApiHostModule : AbpModule options.RequireHttpsMetadata = configuration.GetValue("AuthServer:RequireHttpsMetadata"); options.Audience = "MyProjectName"; }); + + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); } private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs index 238339b1cf..45d3c605e7 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs @@ -25,6 +25,7 @@ using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; using Volo.Abp.Localization; using Volo.Abp.Modularity; +using Volo.Abp.Security.Claims; using Volo.Abp.Swashbuckle; using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; @@ -74,6 +75,10 @@ public class MyProjectNameHttpApiHostModule : AbpModule private void ConfigureAuthentication(ServiceConfigurationContext context) { context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); } private void ConfigureBundles() diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs index 01ed6034f8..70e98a64eb 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs @@ -211,10 +211,11 @@ public class MyProjectNameWebModule : AbpModule }); } - context.Services.Configure(options => - { - options.RemoteUrl = configuration["AuthServer:Authority"] + options.RemoteUrl; - }); + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + options.RemoteRefreshUrl = configuration["AuthServer:Authority"] + options.RemoteRefreshUrl; + }); } private void ConfigureAutoMapper() diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs index a259540829..1b61db27c0 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs @@ -30,6 +30,7 @@ using Volo.Abp.Identity.Web; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement.Web; +using Volo.Abp.Security.Claims; using Volo.Abp.SettingManagement.Web; using Volo.Abp.Swashbuckle; using Volo.Abp.TenantManagement.Web; @@ -115,6 +116,10 @@ public class MyProjectNameWebModule : AbpModule private void ConfigureAuthentication(ServiceConfigurationContext context) { context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); } private void ConfigureUrls(IConfiguration configuration) From 2a1e416a4ee0f21f3876ac2a3c9ed046f68c6ed3 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 14 Nov 2023 19:37:25 +0800 Subject: [PATCH 55/93] Redirect to home page when access denied. --- .../Mvc/Authentication/ChallengeAccountController.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Authentication/ChallengeAccountController.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Authentication/ChallengeAccountController.cs index 8a5a8c2073..36b941cd4a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Authentication/ChallengeAccountController.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Authentication/ChallengeAccountController.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Authentication; @@ -61,12 +61,12 @@ public abstract class ChallengeAccountController : AbpController } [HttpGet] - public virtual Task AccessDenied(string returnUrl = "", string returnUrlHash = "") + public virtual Task AccessDenied() { return Task.FromResult(Challenge( new AuthenticationProperties { - RedirectUri = GetRedirectUrl(returnUrl, returnUrlHash) + RedirectUri = "/" }, (ForbidSchemes.IsNullOrEmpty() ? new[] From d5629f14cc6e655004acfa6ce06df1960f1f5eb1 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 14 Nov 2023 20:42:58 +0800 Subject: [PATCH 56/93] Add `Dynamic-Claims.md` --- docs/en/Dynamic-Claims.md | 82 +++++++++++++++++++++++++++++++++++++++ docs/en/docs-nav.json | 8 +++- 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 docs/en/Dynamic-Claims.md diff --git a/docs/en/Dynamic-Claims.md b/docs/en/Dynamic-Claims.md new file mode 100644 index 0000000000..e56be09be8 --- /dev/null +++ b/docs/en/Dynamic-Claims.md @@ -0,0 +1,82 @@ +# Dynamic Claims + +## What is Dynamic Claims and Why do we need it + +We use claims-based authentication in ASP.NET Core, It will be store the claims in the cookie or token. But the claims are static, it will be not change after the user re-login. If the user changed its username or role, we still get the old claims. + +The `Dynamic Claims` feature is used to dynamically generate claims for the user in each request. You can always get the latest user claims. + +## How to use it + +This feature is disabled by default. You can enable it by following code: + +````csharp +public override void ConfigureServices(ServiceConfigurationContext context) +{ + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + }); +} +```` + +If you are using the tiered solution you need to set the `RemoteRefreshUrl` to the Auth Server url in the UI project. + +````csharp +public override void ConfigureServices(ServiceConfigurationContext context) +{ + context.Services.Configure(options => + { + options.IsDynamicClaimsEnabled = true; + options.RemoteRefreshUrl = configuration["AuthServerUrl"] + options.RemoteRefreshUrl; + }); +} +```` + +Then add the `DynamicClaims` middleware. + +````csharp +public override void OnApplicationInitialization(ApplicationInitializationContext context) +{ + //... + app.UseAuthentication(); + + // Add this line after UseAuthentication + app.UseDynamicClaims(); + + app.UseAuthorization(); + //... +} +```` + +## How it works + +The `DynamicClaims` middleware will use `IAbpClaimsPrincipalFactory` to dynamically generate claims for the current user(`HttpContext.User`) in each request. + +There are two implementations of `IAbpDynamicClaimsPrincipalContributor` for different scenarios. + +### IdentityDynamicClaimsPrincipalContributor + +This implementation is used for the `Monolithic` solution. It will get the dynamic claims from the `IUserClaimsPrincipalFactory` and add/replace the current user claims. +It uses cache to improve performance. the cache will be invalidated when the user entity changed. + +### RemoteDynamicClaimsPrincipalContributor + +This implementation is used for the `Tiered` solution. It will get the dynamic claims from the cache of the Auth Server. It will call the `RemoteRefreshUrl` of the Auth Server to refresh the cache when the cache is invalid. + +## IAbpDynamicClaimsPrincipalContributor + +If you want to add your own dynamic claims contributor, you can a class that implement the `IAbpDynamicClaimsPrincipalContributor` interface. The framework will call the `ContributeAsync` method when get the dynamic claims. + +## AbpClaimsPrincipalFactoryOptions + +* `IsDynamicClaimsEnabled`: Enable or disable the dynamic claims feature. +* `RemoteRefreshUrl`: The url of the Auth Server to refresh the cache. It will be used by the `RemoteDynamicClaimsPrincipalContributor`. The default value is `/api/account/dynamic-claims/refresh`. +* `DynamicClaims`: A list of dynamic claim types, `DynamicClaims contributor`` will only handle the claim type in this list. +* `ClaimsMap`: A dictionary to map the claim types. This is used when the claim types are different between the Auth Server and the client. Already set up for common claim types by default + +## See Also + +* [Authorization](Authorization.md) +* [Claims-based authorization in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/security/authorization/claims) +* [Mapping, customizing, and transforming claims in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/security/authentication/claims) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index fa0a98915a..80ff5aa501 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -178,7 +178,13 @@ }, { "text": "Authorization", - "path": "Authorization.md" + "path": "Authorization.md", + "items": [ + { + "text": "Dynamic Claims", + "path": "Dynamic-Claims.md" + } + ] }, { "text": "Caching", From a5fd934358447962c495ae01e690ae30a36275eb Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 14 Nov 2023 21:16:04 +0800 Subject: [PATCH 57/93] Rename claims to dynamicClaims --- .../RemoteDynamicClaimsPrincipalContributorCache.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs index eb9618e6b1..3a68f51568 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client.Common/Volo/Abp/AspNetCore/Mvc/Client/RemoteDynamicClaimsPrincipalContributorCache.cs @@ -44,10 +44,10 @@ public class RemoteDynamicClaimsPrincipalContributorCache : ITransientDependency public virtual async Task GetAsync(Guid userId, Guid? tenantId = null) { Logger.LogDebug($"Get dynamic claims cache for user: {userId}"); - var claims = await Cache.GetAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId)); - if (claims != null && !claims.Claims.IsNullOrEmpty()) + var dynamicClaims = await Cache.GetAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId)); + if (dynamicClaims != null && !dynamicClaims.Claims.IsNullOrEmpty()) { - return claims; + return dynamicClaims; } Logger.LogDebug($"Refresh dynamic claims for user: {userId} from remote service."); @@ -65,12 +65,12 @@ public class RemoteDynamicClaimsPrincipalContributorCache : ITransientDependency throw; } - claims = await Cache.GetAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId)); - if (claims == null || claims.Claims.IsNullOrEmpty()) + dynamicClaims = await Cache.GetAsync(AbpDynamicClaimCacheItem.CalculateCacheKey(userId, tenantId)); + if (dynamicClaims == null || dynamicClaims.Claims.IsNullOrEmpty()) { throw new AbpException($"Failed to refresh remote claims for user: {userId}"); } - return claims!; + return dynamicClaims!; } } From 22b1df5b5c0d910c5bfbf5ac2cf91ad9d6090e59 Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Tue, 14 Nov 2023 17:41:10 +0300 Subject: [PATCH 58/93] Create a new community article: "Upgrade Your Existing Projects to .NET 8 & ABP 8.0" --- .../POST.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 docs/en/Community-Articles/2023-11-16-Upgrading-Your-Existing-Projects-to-NET8/POST.md diff --git a/docs/en/Community-Articles/2023-11-16-Upgrading-Your-Existing-Projects-to-NET8/POST.md b/docs/en/Community-Articles/2023-11-16-Upgrading-Your-Existing-Projects-to-NET8/POST.md new file mode 100644 index 0000000000..6dbfb8c093 --- /dev/null +++ b/docs/en/Community-Articles/2023-11-16-Upgrading-Your-Existing-Projects-to-NET8/POST.md @@ -0,0 +1,95 @@ +# Upgrade Your Existing Projects to .NET 8 & ABP 8.0 + +A new .NET version was released on November 14, 2023 and ABP 8.0 RC.1 shipped based on .NET 8.0 just after Microsoft's .NET 8.0 release. Therefore, it's a good time to see what we need to do to upgrade our existing projects to .NET 8.0. + +Even all related dependency upgrades and changes made on ABP Framework and ABP Commercial sides, we still need to make some changes and let's see the required actions needs to be taken in the following sections. + +## Installing the .NET 8.0 SDK + +To get started with ASP.NET Core in .NET 8.0, you need to install the .NET 8 SDK. You can install it at [https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). + +After installing the SDK & Runtime, now you can upgrade your existing ASP.NET Core application to .NET 8.0. + +## Updating the Target Framework + +First, you need to update all your `*.csproj` files to support .NET 8. Find and replace all your `TargetFramework` definitions in the `*.csproj` files to support .NET 8.0: + +```xml +net8.0 +``` + +> This and all other changes mentioned in this article have already been done in the ABP Framework and ABP Commercial side, so you would not get any problems related to that. + +## Updating Microsoft Package Versions + +You are probably using some Microsoft packages in your solution, so you need to update them to the latest .NET 8.0 version. Therefore, update all `Microsoft.AspNetCore.*` and `Microsoft.Extensions.*` packages' references to `8.0.0`. + +## Checking the Breaking Changes in .NET 8.0 + +As I have mentioned earlier in this article, on the ABP Framework & ABP Commercial sides all related code changes have been made, so you would not get any error related to breaking changes introduced with .NET 8.0. However, you still need to check the [Breaking Changes in .NET 8.0 documentation](https://learn.microsoft.com/en-us/dotnet/core/compatibility/8.0), because the breaking changes listed in this documentation still might affect you. Therefore, read them accordingly and make the related changes in your application, if its needed. + +## Update Your Global Dotnet CLI Tools (optional) + +You can update the global dotnet tools to the latest version by running the `dotnet tool update` command. For example, if you are using EF Core, you can update your `dotnet-ef` CLI tool with the following command: + +```bash +dotnet tool update dotnet-ef --global +``` + +## Installing/Restoring the Workloads (required for Blazor WASM & MAUI apps) + +The `dotnet workload restore` command installs workloads needed for a project or a solution. This command analyzes a project or solution to determine which workloads are needed and if you have a .NET MAUI or Blazor-WASM project, you can update your workloads by running the following command in a terminal: + +```bash +dotnet workload restore +``` + +## Docker Image Updates + +If you are using Docker to automate the deployment of applications, you also need to update your images. + +For example, you can update the ASP.NET Core image as follows: + +```diff +- FROM mcr.microsoft.com/dotnet/aspnet:7.0-bullseye-slim AS base ++ FROM mcr.microsoft.com/dotnet/aspnet:8.0-bullseye-slim AS base +``` + +You can check the related images from Docker Hub and update them accordingly: + +* [https://hub.docker.com/_/microsoft-dotnet-aspnet/](https://hub.docker.com/_/microsoft-dotnet-aspnet/) +* [https://hub.docker.com/_/microsoft-dotnet-sdk/](https://hub.docker.com/_/microsoft-dotnet-sdk/) +* [https://hub.docker.com/_/microsoft-dotnet-runtime/](https://hub.docker.com/_/microsoft-dotnet-runtime/) + +## Upgrading Your Existing Projects to ABP 8.0 + +Updating your application to ABP 8.0 is pretty straight-forward. You first need to upgrade the ABP CLI to version `8.0.0-rc.1` using a command line terminal: + +````bash +dotnet tool update Volo.Abp.Cli -g --version 8.0.0-rc.1 +```` + +**or install** it if you haven't before: + +````bash +dotnet tool install Volo.Abp.Cli -g --version 8.0.0-rc.1 +```` + +Then, you can use the `abp update` command to update all the ABP related NuGet and NPM packages in your solution: + +```bash +abp update --version 8.0.0-rc.1 +``` + +After that, you need to check the migration guide documents, listed below: + +* [ABP Framework 7.x to 8.0 Migration Guide](https://docs.abp.io/en/abp/8.0/Migration-Guides/Abp-8_0) +* [ABP Commercial 7.x to 8.0 Migration Guide](https://docs.abp.io/en/commercial/8.0/migration-guides/v8_0) + +> Check these documents carefully and make the related changes in your solution to prevent errors. + +## Final Words + +That's it! These were all the related steps that need to be taken to upgrade your application to .NET 8 and ABP 8.0. Now, you can enjoy the .NET 8 & ABP 8.0 and benefit from the performance improvements and new features. + +Happy Coding 🤗 \ No newline at end of file From 6559641912502fe0488f25bc35f4aab1a6de0420 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 15 Nov 2023 09:46:00 +0800 Subject: [PATCH 59/93] Upgrade to NET 8. --- .github/workflows/build-and-test.yml | 2 +- Directory.Packages.props | 201 +++++++++--------- ...p.EntityFrameworkCore.Oracle.Devart.csproj | 1 + .../Volo.Abp.EventBus.Rebus.csproj | 3 + global.json | 2 +- ...e.MyProjectName.Blazor.Server.Mongo.csproj | 6 +- .../20231026071039_Initial.Designer.cs | 2 +- .../MyProjectNameDbContextModelSnapshot.cs | 2 +- ...anyName.MyProjectName.Blazor.Server.csproj | 8 +- ...ojectName.Blazor.WebAssembly.Client.csproj | 8 +- ...ame.Blazor.WebAssembly.Server.Mongo.csproj | 4 +- .../20231026071041_Initial.Designer.cs | 2 +- .../MyProjectNameDbContextModelSnapshot.cs | 2 +- ...ojectName.Blazor.WebAssembly.Server.csproj | 6 +- ...ojectName.Blazor.WebAssembly.Shared.csproj | 2 +- ...ompanyName.MyProjectName.Host.Mongo.csproj | 2 +- .../20231026071035_Initial.Designer.cs | 2 +- .../MyProjectNameDbContextModelSnapshot.cs | 2 +- .../MyCompanyName.MyProjectName.Host.csproj | 4 +- ...CompanyName.MyProjectName.Mvc.Mongo.csproj | 2 +- .../20231026071042_Initial.Designer.cs | 2 +- .../MyProjectNameDbContextModelSnapshot.cs | 2 +- .../MyCompanyName.MyProjectName.Mvc.csproj | 4 +- ...ompanyName.MyProjectName.AuthServer.csproj | 2 +- ....MyProjectName.Blazor.Server.Tiered.csproj | 6 +- ...anyName.MyProjectName.Blazor.Server.csproj | 4 +- .../MyCompanyName.MyProjectName.Blazor.csproj | 8 +- ...ompanyName.MyProjectName.DbMigrator.csproj | 6 +- ...anyName.MyProjectName.Domain.Shared.csproj | 2 +- .../20231026070402_Initial.Designer.cs | 2 +- .../MyProjectNameDbContextModelSnapshot.cs | 2 +- ...e.MyProjectName.EntityFrameworkCore.csproj | 2 +- ...panyName.MyProjectName.HttpApi.Host.csproj | 4 +- ...yCompanyName.MyProjectName.Web.Host.csproj | 2 +- ...ame.MyProjectName.Application.Tests.csproj | 4 +- ...panyName.MyProjectName.Domain.Tests.csproj | 4 +- ...ojectName.EntityFrameworkCore.Tests.csproj | 4 +- ...tName.HttpApi.Client.ConsoleTestApp.csproj | 4 +- ...anyName.MyProjectName.MongoDB.Tests.csproj | 4 +- ...yCompanyName.MyProjectName.TestBase.csproj | 10 +- ...CompanyName.MyProjectName.Web.Tests.csproj | 6 +- .../MyCompanyName.MyProjectName.csproj | 6 +- .../MyCompanyName.MyProjectName.csproj | 2 +- .../20231026071058_Initial.Designer.cs | 2 +- .../AuthServerDbContextModelSnapshot.cs | 2 +- ...ompanyName.MyProjectName.AuthServer.csproj | 4 +- ...mpanyName.MyProjectName.Blazor.Host.csproj | 8 +- .../20231026071107_Initial.Designer.cs | 2 +- .../UnifiedDbContextModelSnapshot.cs | 2 +- ...me.MyProjectName.Blazor.Server.Host.csproj | 6 +- ...panyName.MyProjectName.HttpApi.Host.csproj | 6 +- ...yCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../20231026071207_Initial.Designer.cs | 2 +- .../UnifiedDbContextModelSnapshot.cs | 2 +- ...mpanyName.MyProjectName.Web.Unified.csproj | 2 +- ...anyName.MyProjectName.Domain.Shared.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.csproj | 2 +- ...ame.MyProjectName.Application.Tests.csproj | 4 +- ...panyName.MyProjectName.Domain.Tests.csproj | 4 +- ...ojectName.EntityFrameworkCore.Tests.csproj | 6 +- ...tName.HttpApi.Client.ConsoleTestApp.csproj | 2 +- ...anyName.MyProjectName.MongoDB.Tests.csproj | 4 +- ...yCompanyName.MyProjectName.TestBase.csproj | 10 +- .../MyCompanyName.MyProjectName.csproj | 2 +- 64 files changed, 218 insertions(+), 213 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 5f974c2da8..696d401fed 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -51,7 +51,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-dotnet@master with: - dotnet-version: 8.0.100-rc.2.23502.2 + dotnet-version: 8.0.100 - name: chown run: | diff --git a/Directory.Packages.props b/Directory.Packages.props index a6d8cfdc4f..cceb3c7647 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -4,104 +4,105 @@ - + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - + + + + - + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -111,60 +112,60 @@ - - - - - - - - + + + + + + + + - - + + - + - + - + - + - + - + - + - - - + + + - - - - - + + + + + - \ No newline at end of file + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj index bb46006ac9..70d234cd20 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj @@ -21,6 +21,7 @@
+ diff --git a/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj b/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj index 8ece532ebf..5923f966fe 100644 --- a/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj +++ b/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj @@ -21,6 +21,9 @@ + + + diff --git a/global.json b/global.json index 90f885f952..391ba3c2a3 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "8.0.100-rc.2.23502.2", + "version": "8.0.100", "rollForward": "latestFeature" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj index 8458da78e2..279edf96f2 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj @@ -8,8 +8,8 @@ - - + + @@ -82,7 +82,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20231026071039_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20231026071039_Initial.Designer.cs index f6131569e7..0b637847ce 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20231026071039_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20231026071039_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs index 97625b9411..024bc20b43 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index fc58cb48a9..a5f8d95a6e 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -8,8 +8,8 @@ - - + + @@ -83,11 +83,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj index 78cefa8230..57dc358c47 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj @@ -9,10 +9,10 @@ - - - - + + + + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj index 85262239d9..454bba3b8e 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj @@ -8,7 +8,7 @@ - + @@ -78,7 +78,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20231026071041_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20231026071041_Initial.Designer.cs index 222393bd82..37867b1a1d 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20231026071041_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20231026071041_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs index 2ab818fa36..d5b7d42759 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj index 06e58454e4..7fb8acabf7 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj @@ -8,7 +8,7 @@ - + @@ -79,11 +79,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj index 8be0e74b70..a484230d9a 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj @@ -29,7 +29,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj index 2376ece313..567c4a26c3 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj @@ -74,7 +74,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20231026071035_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20231026071035_Initial.Designer.cs index e25c062a5d..6a29ab4070 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20231026071035_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20231026071035_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs index a38be819e5..ac24fdd13b 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj index b54fc9be23..80adc971c3 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj @@ -75,11 +75,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj index 4ffd445303..fa606d0308 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj @@ -77,7 +77,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20231026071042_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20231026071042_Initial.Designer.cs index cce37bd3dd..09b453b988 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20231026071042_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20231026071042_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs index 9e899c6051..569e087703 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj index e0e3e7c0ee..487c0c2970 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj @@ -78,11 +78,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 980c8f4289..0864e387fd 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -41,7 +41,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj index e0b60ea62a..d576ae0258 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj @@ -14,11 +14,11 @@ - - + + - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index 875dcef886..732ea26200 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj index 9babd3b127..e83a52df12 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj @@ -12,10 +12,10 @@ - - - - + + + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj index 9f0efa3035..068618d3cd 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj @@ -1,4 +1,4 @@ - + @@ -21,8 +21,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj index fba8a54889..4a56a0edb6 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj @@ -26,7 +26,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20231026070402_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20231026070402_Initial.Designer.cs index 6ed09621a7..5f905e22af 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20231026070402_Initial.Designer.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20231026070402_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs index f44d13227d..2f1aa058ed 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj index 4e4856388d..9625dcfadc 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj @@ -22,7 +22,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 7ed0531210..632904eb2a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -13,8 +13,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index 4bc03be393..4e554a97aa 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -19,7 +19,7 @@ - + diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj index 6f51cec2e7..95fa802675 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj index 0907ac6df0..bf2d814e9b 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -9,7 +9,7 @@ - + diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj index 591cb81f35..8f96ce08ce 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -15,7 +15,7 @@ - + diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj index bcf9952fe3..5804301f7e 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj @@ -22,8 +22,8 @@ - - + + diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj index 94a4a96721..f0d1a185e2 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj index 457ce53b2a..3471f07d52 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj @@ -1,4 +1,4 @@ - + @@ -16,16 +16,16 @@ - + all runtime; build; native; contentfiles; analyzers - - - + + + diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj index 98470b1fa5..58ecff2be2 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyCompanyName.MyProjectName.Web.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -14,8 +14,8 @@ - - + + diff --git a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index 45ae212a12..7154114d1c 100644 --- a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -1,4 +1,4 @@ - + @@ -13,11 +13,11 @@ - + - + diff --git a/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index 2be1f79691..15e2570687 100644 --- a/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -35,7 +35,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20231026071058_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20231026071058_Initial.Designer.cs index b6947fded4..5f764d8fea 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20231026071058_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20231026071058_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs index 849e6894c2..f9841df2b7 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 69571527e0..b39a2bca7c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -13,8 +13,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj index 6a9e1ca8cc..04fe53fee4 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj @@ -9,10 +9,10 @@ - - - - + + + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20231026071107_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20231026071107_Initial.Designer.cs index 34883896f8..82ed243863 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20231026071107_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20231026071107_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs index 102de849e7..c0538e7e69 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj index ef2f6ed3f8..8365ceda7e 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj @@ -13,11 +13,11 @@ - - + + - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 914621a7c2..6643d76fe3 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index 67ea5d9b61..e363458a4c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -13,7 +13,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20231026071207_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20231026071207_Initial.Designer.cs index db13e9c657..9017876832 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20231026071207_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20231026071207_Initial.Designer.cs @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs index a8942a8d84..b7b539b2f3 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0-rc.2.23480.1") + .HasAnnotation("ProductVersion", "8.0.0.23480.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj index e1072ad17f..293f1c0f58 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj @@ -13,7 +13,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj index 8cdcb14d89..2d8dd8fcee 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj @@ -15,7 +15,7 @@ - + diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index a0f878fe87..71a2caaddb 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -22,7 +22,7 @@ - + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj index a80d0309a0..e35cec36d7 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyCompanyName.MyProjectName.Application.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj index 4d2fb016c5..e16b8e9883 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -9,7 +9,7 @@ - + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj index 3d10c91a58..e40d36d313 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -9,8 +9,8 @@ - - + + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj index 06726b9451..abc2cb00d8 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj @@ -23,7 +23,7 @@ - + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj index 1e4104d8bf..d830b1a598 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests/MyCompanyName.MyProjectName.MongoDB.Tests.csproj @@ -1,4 +1,4 @@ - + @@ -9,7 +9,7 @@ - + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj index b28d658c1b..13d165e43d 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyCompanyName.MyProjectName.TestBase.csproj @@ -1,4 +1,4 @@ - + @@ -9,16 +9,16 @@ - + all runtime; build; native; contentfiles; analyzers - - - + + + diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index db578e6a83..0e4a0d1ba6 100644 --- a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -14,7 +14,7 @@ - + From c21eafd7787482e37b9cede5cccc1587c8fb618f Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 15 Nov 2023 10:01:15 +0800 Subject: [PATCH 60/93] Update `OpenIddict` to `4.10.0`. --- Directory.Packages.props | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index cceb3c7647..611013c8d2 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -113,11 +113,11 @@ - - - - - + + + + + From a3eb3c1b89c29355ce6b52bdd5262fd17fcb2269 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 15 Nov 2023 10:32:45 +0800 Subject: [PATCH 61/93] Upgrade Serilog to 8.0.0 --- Directory.Packages.props | 6 +++--- .../MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 2 +- ...ame.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj | 2 +- ...mpanyName.MyProjectName.Blazor.WebAssembly.Server.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.csproj | 2 +- .../MyCompanyName.MyProjectName.AuthServer.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 2 +- .../MyCompanyName.MyProjectName.DbMigrator.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.csproj | 2 +- .../MyCompanyName.MyProjectName.csproj | 4 ++-- .../MyCompanyName.MyProjectName.AuthServer.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Unified.csproj | 2 +- .../MyCompanyName.MyProjectName.csproj | 4 ++-- 24 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 611013c8d2..8a4e49564d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -131,9 +131,9 @@ - - - + + + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj index 279edf96f2..f6bb493964 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj @@ -10,7 +10,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index a5f8d95a6e..f6e53968a1 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -10,7 +10,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj index 454bba3b8e..5c62220d57 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj @@ -12,7 +12,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj index 7fb8acabf7..863ec4a380 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj @@ -12,7 +12,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj index 567c4a26c3..1d0b2df3cc 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj index 80adc971c3..4204006e49 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj index fa606d0308..a63fb04f94 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj index 487c0c2970..cebc70d629 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 0864e387fd..98f69e0200 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -39,7 +39,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj index d576ae0258..7d9a52872d 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj @@ -16,7 +16,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index 732ea26200..acef72f923 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -16,7 +16,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj index 068618d3cd..b33239d30c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj @@ -18,7 +18,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 632904eb2a..ff3b990745 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj index 3a738e0f76..38a7e036f5 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index 4e554a97aa..a912b78201 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -17,7 +17,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index 495aa54824..9e59efba13 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -39,7 +39,7 @@ - + diff --git a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index 7154114d1c..2c90dee36c 100644 --- a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index b39a2bca7c..60434f5af6 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj index 8365ceda7e..3166926513 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj @@ -15,7 +15,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 6643d76fe3..fa81f11282 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index e363458a4c..829e5edbcb 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj index 293f1c0f58..56458c36a2 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj @@ -11,7 +11,7 @@ - + all diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index 0e4a0d1ba6..885e0974e6 100644 --- a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -15,8 +15,8 @@ - - + + From 3cf3984dc29948ecb806a8c1f2fc79c7ae643f6d Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 15 Nov 2023 10:42:08 +0800 Subject: [PATCH 62/93] Back Serilog.AspNetCore version to 7.0.0 --- Directory.Packages.props | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 2 +- ...anyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj | 2 +- ...MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.csproj | 2 +- .../MyCompanyName.MyProjectName.AuthServer.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.csproj | 2 +- .../MyCompanyName.MyProjectName.AuthServer.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Unified.csproj | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 8a4e49564d..eda2ccc739 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -131,7 +131,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj index f6bb493964..279edf96f2 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj @@ -10,7 +10,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index f6e53968a1..a5f8d95a6e 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -10,7 +10,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj index 5c62220d57..454bba3b8e 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj @@ -12,7 +12,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj index 863ec4a380..7fb8acabf7 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj @@ -12,7 +12,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj index 1d0b2df3cc..567c4a26c3 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj index 4204006e49..80adc971c3 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj index a63fb04f94..fa606d0308 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj index cebc70d629..487c0c2970 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 98f69e0200..0864e387fd 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -39,7 +39,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj index 7d9a52872d..d576ae0258 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj @@ -16,7 +16,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index acef72f923..732ea26200 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -16,7 +16,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index ff3b990745..632904eb2a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj index 38a7e036f5..3a738e0f76 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index a912b78201..4e554a97aa 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -17,7 +17,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index 9e59efba13..495aa54824 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -39,7 +39,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 60434f5af6..b39a2bca7c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj index 3166926513..8365ceda7e 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj @@ -15,7 +15,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index fa81f11282..6643d76fe3 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index 829e5edbcb..e363458a4c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj index 56458c36a2..293f1c0f58 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj @@ -11,7 +11,7 @@ - + all From 115750bcab0e6511f9778decaecff619de7cb019 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 15 Nov 2023 10:43:26 +0800 Subject: [PATCH 63/93] Use version `4.5` of the `Microsoft.CodeAnalysis.CSharp` package. --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index eda2ccc739..f4684cd589 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -65,7 +65,7 @@ - + From 996173fd3012e799a370fa3b3853536c84a85ad9 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 15 Nov 2023 10:54:00 +0800 Subject: [PATCH 64/93] Update Abp-8_0.md --- docs/en/Migration-Guides/Abp-8_0.md | 54 ++++++++++++++--------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/docs/en/Migration-Guides/Abp-8_0.md b/docs/en/Migration-Guides/Abp-8_0.md index 108de6ba98..5cbb0eccad 100644 --- a/docs/en/Migration-Guides/Abp-8_0.md +++ b/docs/en/Migration-Guides/Abp-8_0.md @@ -11,58 +11,58 @@ The following NuGet libraries have been upgraded: | All Microsoft packages | 7.x | 8.x | | Microsoft.CodeAnalysis | 4.2.0 | 4.5.0 | | NUglify | 1.20.0 | 1.21.0 | -| Polly | 7.2.3 | 8.0.0 | -| aliyun-net-sdk-sts | 3.1.0 | 3.1.1 | +| Polly | 7.2.3 | 8.1.0 | +| aliyun-net-sdk-sts | 3.1.0 | 3.1.2 | | Autofac | 7.0.0 | 7.1.0 | | Autofac.Extras.DynamicProxy | 6.0.1 | 7.1.0 | | AutoMapper | 12.0.0 | 12.0.1 | | AsyncKeyedLock | 6.2.1 | 6.2.2 | -| AWSSDK.S3 | 3.7.9.2 | 3.7.205.9 | -| AWSSDK.SecurityToken | 3.7.1.151 | 3.7.202.4 | -| Azure.Storage.Blobs | 12.15.0 | 12.18.0 | +| AWSSDK.S3 | 3.7.9.2 | 3.7.300.1 | +| AWSSDK.SecurityToken | 3.7.1.151 | 3.7.300.1 | +| Azure.Storage.Blobs | 12.15.0 | 12.19.1 | | ConfigureAwait.Fody | 3.3.1 | 3.3.2 | -| Confluent.Kafka | 1.8.2 | 2.2.0 | -| Dapper | 2.0.123 | 2.1.4 | -| Dapr.Client | 1.11.0 | 1.9.0 | +| Confluent.Kafka | 1.8.2 | 2.3.0 | +| Dapper | 2.0.123 | 2.1.21 | +| Dapr.Client | 1.11.0 | 1.12.0 | | DistributedLock.Core | 1.0.4 | 1.0.5 | | DistributedLock.Redis | 1.0.1 | 1.0.2 | | EphemeralMongo.Core | 1.1.0 | 1.1.3 | | EphemeralMongo6.runtime.linux-x64 | 1.1.0 | 1.1.3 | | EphemeralMongo6.runtime.osx-x64 | 1.1.0 | 1.1.3 | | EphemeralMongo6.runtime.win-x64 | 1.1.0 | 1.1.3 | -| FluentValidation | 11.0.1 | 11.7.1 | +| FluentValidation | 11.0.1 | 11.8.0 | | Fody | 6.6.1 | 6.8.0 | -| Hangfire.AspNetCore | 1.8.2 | 1.8.5 | -| Hangfire.SqlServer | 1.8.2 | 1.8.5 | -| HtmlSanitizer | 5.0.331 | 8.0.723 | +| Hangfire.AspNetCore | 1.8.2 | 1.8.6 | +| Hangfire.SqlServer | 1.8.2 | 1.8.6 | +| HtmlSanitizer | 5.0.331 | 8.0.746 | | IdentityModel | 6.0.0 | 6.2.0 | | IdentityServer4.AspNetIdentity | 4.1.1 | 4.1.2 | -| JetBrains.Annotations | 2022.1.0 | 2023.2.0 | -| LibGit2Sharp | 0.26.2 | 0.27.2 | -| Magick.NET-Q16-AnyCPU | 13.2.0 | 13.3.0 | -| MailKit | 3.2.0 | 4.2.0 | +| JetBrains.Annotations | 2022.1.0 | 2023.3.0 | +| LibGit2Sharp | 0.26.2 | 0.28.0 | +| Magick.NET-Q16-AnyCPU | 13.2.0 | 13.4.0 | +| MailKit | 3.2.0 | 4.3.0 | | Markdig.Signed | 0.26.0 | 0.33.0 | | Microsoft.AspNetCore.Mvc.Versioning | 5.0.0 | 5.1.0 | -| Microsoft.AspNetCore.Razor.Language | 6.0.8 | 6.0.22 | -| Microsoft.NET.Test.Sdk | 17.2.0 | 17.7.2 | -| Minio | 4.0.6 | 6.0.0 | -| MongoDB.Driver | 2.19.1 | 2.21.0 | +| Microsoft.AspNetCore.Razor.Language | 6.0.8 | 6.0.24 | +| Microsoft.NET.Test.Sdk | 17.2.0 | 17.8.0 | +| Minio | 4.0.6 | 6.0.1 | +| MongoDB.Driver | 2.19.1 | 2.22.0 | | NEST | 7.14.1 | 7.17.5 | | Newtonsoft.Json | 13.0.1 | 13.0.3 | | NSubstitute | 4.3.0 | 5.1.0 | | NSubstitute.Analyzers.CSharp | 1.0.15 | 1.0.16 | | NuGet.Versioning | 5.11.0 | 6.7.0 | -| Octokit | 0.50.0 | 8.0.1 | +| Octokit | 0.50.0 | 9.0.0 | | Quartz | 3.4.0 | 3.7.0 | | Quartz.Extensions.DependencyInjection | 3.4.0 | 3.7.0 | | Quartz.Plugins.TimeZoneConverter | 3.4.0 | 3.7.0 | -| RabbitMQ.Client | 6.3.0 | 6.5.0 | +| RabbitMQ.Client | 6.3.0 | 6.6.0 | | Rebus | 6.6.5 | 7.2.1 | | Rebus.ServiceProvider | 7.0.0 | 9.1.0 | | Scriban | 5.4.4 | 5.9.0 | | Serilog.AspNetCore | 5.0.0 | 7.0.0 | -| Serilog.Extensions.Hosting | 3.1.0 | 7.0.0 | -| Serilog.Extensions.Logging | 3.1.0 | 7.0.0 | +| Serilog.Extensions.Hosting | 3.1.0 | 8.0.0 | +| Serilog.Extensions.Logging | 3.1.0 | 8.0.0 | | Serilog.Sinks.Async | 1.4.0 | 1.5.0 | | SharpZipLib | 1.3.3 | 1.4.2 | | Shouldly | 4.1.0 | 4.2.1 | @@ -72,6 +72,6 @@ The following NuGet libraries have been upgraded: | Swashbuckle.AspNetCore | 6.2.1 | 6.5.0 | | System.Linq.Dynamic.Core | 1.3.3 | 1.3.5 | | TimeZoneConverter | 5.0.0 | 6.1.0 | -| xunit | 2.4.1 | 2.5.1 | -| xunit.extensibility.execution | 2.4.1 | 2.5.1 | -| xunit.runner.visualstudio | 2.4.5 | 2.5.1 | +| xunit | 2.4.1 | 2.6.1 | +| xunit.extensibility.execution | 2.4.1 | 2.6.1 | +| xunit.runner.visualstudio | 2.4.5 | 2.6.1 | From 775db283816532e2e2e318317b4d61eb8d324728 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 15 Nov 2023 10:58:05 +0800 Subject: [PATCH 65/93] Upgrade Serilog.AspNetCore to 8.0.0 --- Directory.Packages.props | 2 +- docs/en/Migration-Guides/Abp-8_0.md | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 2 +- ...anyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj | 2 +- ...MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.Mongo.csproj | 2 +- .../MyCompanyName.MyProjectName.Mvc.csproj | 2 +- .../MyCompanyName.MyProjectName.AuthServer.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.csproj | 2 +- .../MyCompanyName.MyProjectName.AuthServer.csproj | 2 +- .../MyCompanyName.MyProjectName.Blazor.Server.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.HttpApi.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Host.csproj | 2 +- .../MyCompanyName.MyProjectName.Web.Unified.csproj | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index f4684cd589..11f00b7421 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -131,7 +131,7 @@ - + diff --git a/docs/en/Migration-Guides/Abp-8_0.md b/docs/en/Migration-Guides/Abp-8_0.md index 5cbb0eccad..8c7638d1e4 100644 --- a/docs/en/Migration-Guides/Abp-8_0.md +++ b/docs/en/Migration-Guides/Abp-8_0.md @@ -60,7 +60,7 @@ The following NuGet libraries have been upgraded: | Rebus | 6.6.5 | 7.2.1 | | Rebus.ServiceProvider | 7.0.0 | 9.1.0 | | Scriban | 5.4.4 | 5.9.0 | -| Serilog.AspNetCore | 5.0.0 | 7.0.0 | +| Serilog.AspNetCore | 5.0.0 | 8.0.0 | | Serilog.Extensions.Hosting | 3.1.0 | 8.0.0 | | Serilog.Extensions.Logging | 3.1.0 | 8.0.0 | | Serilog.Sinks.Async | 1.4.0 | 1.5.0 | diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj index 279edf96f2..f6bb493964 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj @@ -10,7 +10,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index a5f8d95a6e..f6e53968a1 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -10,7 +10,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj index 454bba3b8e..5c62220d57 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj @@ -12,7 +12,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj index 7fb8acabf7..863ec4a380 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj @@ -12,7 +12,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj index 567c4a26c3..1d0b2df3cc 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj index 80adc971c3..4204006e49 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj index fa606d0308..a63fb04f94 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj index 487c0c2970..cebc70d629 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 0864e387fd..98f69e0200 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -39,7 +39,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj index d576ae0258..7d9a52872d 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj @@ -16,7 +16,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index 732ea26200..acef72f923 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -16,7 +16,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 632904eb2a..ff3b990745 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj index 3a738e0f76..38a7e036f5 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index 4e554a97aa..a912b78201 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -17,7 +17,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index 495aa54824..9e59efba13 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -39,7 +39,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index b39a2bca7c..60434f5af6 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj index 8365ceda7e..3166926513 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj @@ -15,7 +15,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 6643d76fe3..fa81f11282 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index e363458a4c..829e5edbcb 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -11,7 +11,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj index 293f1c0f58..56458c36a2 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj @@ -11,7 +11,7 @@ - + all From 5f632b9f23c70b6b005b7895f5f70367f6c9eb0e Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 15 Nov 2023 11:07:09 +0800 Subject: [PATCH 66/93] Update some packages to latest. --- Directory.Packages.props | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 11f00b7421..df151f70ac 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -11,9 +11,9 @@ - - - + + + @@ -61,7 +61,7 @@ - + @@ -119,7 +119,7 @@ - + From 7d9a2b92cba9d2e7dc2199e966e6c6a7f7ab98f9 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 15 Nov 2023 11:15:24 +0800 Subject: [PATCH 67/93] Update Abp-8_0.md --- docs/en/Migration-Guides/Abp-8_0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/en/Migration-Guides/Abp-8_0.md b/docs/en/Migration-Guides/Abp-8_0.md index 8c7638d1e4..3e0e014a5c 100644 --- a/docs/en/Migration-Guides/Abp-8_0.md +++ b/docs/en/Migration-Guides/Abp-8_0.md @@ -11,14 +11,14 @@ The following NuGet libraries have been upgraded: | All Microsoft packages | 7.x | 8.x | | Microsoft.CodeAnalysis | 4.2.0 | 4.5.0 | | NUglify | 1.20.0 | 1.21.0 | -| Polly | 7.2.3 | 8.1.0 | +| Polly | 7.2.3 | 8.2.0 | | aliyun-net-sdk-sts | 3.1.0 | 3.1.2 | | Autofac | 7.0.0 | 7.1.0 | | Autofac.Extras.DynamicProxy | 6.0.1 | 7.1.0 | | AutoMapper | 12.0.0 | 12.0.1 | | AsyncKeyedLock | 6.2.1 | 6.2.2 | -| AWSSDK.S3 | 3.7.9.2 | 3.7.300.1 | -| AWSSDK.SecurityToken | 3.7.1.151 | 3.7.300.1 | +| AWSSDK.S3 | 3.7.9.2 | 3.7.300.2 | +| AWSSDK.SecurityToken | 3.7.1.151 | 3.7.300.2 | | Azure.Storage.Blobs | 12.15.0 | 12.19.1 | | ConfigureAwait.Fody | 3.3.1 | 3.3.2 | | Confluent.Kafka | 1.8.2 | 2.3.0 | @@ -43,7 +43,7 @@ The following NuGet libraries have been upgraded: | MailKit | 3.2.0 | 4.3.0 | | Markdig.Signed | 0.26.0 | 0.33.0 | | Microsoft.AspNetCore.Mvc.Versioning | 5.0.0 | 5.1.0 | -| Microsoft.AspNetCore.Razor.Language | 6.0.8 | 6.0.24 | +| Microsoft.AspNetCore.Razor.Language | 6.0.8 | 6.0.25 | | Microsoft.NET.Test.Sdk | 17.2.0 | 17.8.0 | | Minio | 4.0.6 | 6.0.1 | | MongoDB.Driver | 2.19.1 | 2.22.0 | From 3c54cae433e28763a91d36beb9b98e958c887692 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 15 Nov 2023 11:35:25 +0800 Subject: [PATCH 68/93] Update Blazor bundle --- .../wwwroot/global.css | 41 ++++++++++--------- .../wwwroot/global.js | 40 +++++++++--------- .../wwwroot/index.html | 4 +- .../wwwroot/global.css | 15 +++---- .../wwwroot/global.js | 2 +- .../wwwroot/index.html | 4 +- 6 files changed, 54 insertions(+), 52 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.css b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.css index ca7ce9a257..187067520f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.css +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.css @@ -1,27 +1,28 @@ -@charset "UTF-8";/*! - * Bootstrap v5.1.0 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--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-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-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-rgb:33,37,41;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",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-bg:#fff}*,::after,::before{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:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],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}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-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}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);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}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{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}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display: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}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!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}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!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}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.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-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}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!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}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.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-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}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!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}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.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-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}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!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}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.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-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}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!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}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.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-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}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!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}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!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-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.min.css.map */ -/*! - * Font Awesome Free 5.12.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.eot);src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.woff2) format("woff2"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.woff) format("woff"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.ttf) format("truetype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.eot);src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.woff2) format("woff2"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.woff) format("woff"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.ttf) format("truetype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.eot);src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.woff2) format("woff2"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.woff) format("woff"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.ttf) format("truetype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} -.flag-icon-background{background-size:contain;background-position:50%;background-repeat:no-repeat}.flag-icon{background-size:contain;background-position:50%;background-repeat:no-repeat;position:relative;display:inline-block;width:1.33333333em;line-height:1em}.flag-icon:before{content:" "}.flag-icon.flag-icon-squared{width:1em}.flag-icon-ad{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ad.svg)}.flag-icon-ad.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ad.svg)}.flag-icon-ae{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ae.svg)}.flag-icon-ae.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ae.svg)}.flag-icon-af{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/af.svg)}.flag-icon-af.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/af.svg)}.flag-icon-ag{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ag.svg)}.flag-icon-ag.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ag.svg)}.flag-icon-ai{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ai.svg)}.flag-icon-ai.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ai.svg)}.flag-icon-al{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/al.svg)}.flag-icon-al.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/al.svg)}.flag-icon-am{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/am.svg)}.flag-icon-am.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/am.svg)}.flag-icon-ao{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ao.svg)}.flag-icon-ao.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ao.svg)}.flag-icon-aq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/aq.svg)}.flag-icon-aq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/aq.svg)}.flag-icon-ar{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ar.svg)}.flag-icon-ar.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ar.svg)}.flag-icon-as{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/as.svg)}.flag-icon-as.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/as.svg)}.flag-icon-at{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/at.svg)}.flag-icon-at.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/at.svg)}.flag-icon-au{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/au.svg)}.flag-icon-au.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/au.svg)}.flag-icon-aw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/aw.svg)}.flag-icon-aw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/aw.svg)}.flag-icon-ax{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ax.svg)}.flag-icon-ax.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ax.svg)}.flag-icon-az{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/az.svg)}.flag-icon-az.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/az.svg)}.flag-icon-ba{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ba.svg)}.flag-icon-ba.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ba.svg)}.flag-icon-bb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bb.svg)}.flag-icon-bb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bb.svg)}.flag-icon-bd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bd.svg)}.flag-icon-bd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bd.svg)}.flag-icon-be{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/be.svg)}.flag-icon-be.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/be.svg)}.flag-icon-bf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bf.svg)}.flag-icon-bf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bf.svg)}.flag-icon-bg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bg.svg)}.flag-icon-bg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bg.svg)}.flag-icon-bh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bh.svg)}.flag-icon-bh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bh.svg)}.flag-icon-bi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bi.svg)}.flag-icon-bi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bi.svg)}.flag-icon-bj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bj.svg)}.flag-icon-bj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bj.svg)}.flag-icon-bl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bl.svg)}.flag-icon-bl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bl.svg)}.flag-icon-bm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bm.svg)}.flag-icon-bm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bm.svg)}.flag-icon-bn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bn.svg)}.flag-icon-bn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bn.svg)}.flag-icon-bo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bo.svg)}.flag-icon-bo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bo.svg)}.flag-icon-bq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bq.svg)}.flag-icon-bq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bq.svg)}.flag-icon-br{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/br.svg)}.flag-icon-br.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/br.svg)}.flag-icon-bs{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bs.svg)}.flag-icon-bs.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bs.svg)}.flag-icon-bt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bt.svg)}.flag-icon-bt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bt.svg)}.flag-icon-bv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bv.svg)}.flag-icon-bv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bv.svg)}.flag-icon-bw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bw.svg)}.flag-icon-bw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bw.svg)}.flag-icon-by{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/by.svg)}.flag-icon-by.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/by.svg)}.flag-icon-bz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bz.svg)}.flag-icon-bz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bz.svg)}.flag-icon-ca{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ca.svg)}.flag-icon-ca.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ca.svg)}.flag-icon-cc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cc.svg)}.flag-icon-cc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cc.svg)}.flag-icon-cd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cd.svg)}.flag-icon-cd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cd.svg)}.flag-icon-cf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cf.svg)}.flag-icon-cf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cf.svg)}.flag-icon-cg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cg.svg)}.flag-icon-cg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cg.svg)}.flag-icon-ch{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ch.svg)}.flag-icon-ch.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ch.svg)}.flag-icon-ci{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ci.svg)}.flag-icon-ci.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ci.svg)}.flag-icon-ck{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ck.svg)}.flag-icon-ck.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ck.svg)}.flag-icon-cl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cl.svg)}.flag-icon-cl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cl.svg)}.flag-icon-cm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cm.svg)}.flag-icon-cm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cm.svg)}.flag-icon-cn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cn.svg)}.flag-icon-cn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cn.svg)}.flag-icon-co{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/co.svg)}.flag-icon-co.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/co.svg)}.flag-icon-cr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cr.svg)}.flag-icon-cr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cr.svg)}.flag-icon-cu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cu.svg)}.flag-icon-cu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cu.svg)}.flag-icon-cv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cv.svg)}.flag-icon-cv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cv.svg)}.flag-icon-cw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cw.svg)}.flag-icon-cw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cw.svg)}.flag-icon-cx{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cx.svg)}.flag-icon-cx.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cx.svg)}.flag-icon-cy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cy.svg)}.flag-icon-cy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cy.svg)}.flag-icon-cz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cz.svg)}.flag-icon-cz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cz.svg)}.flag-icon-de{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/de.svg)}.flag-icon-de.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/de.svg)}.flag-icon-dj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dj.svg)}.flag-icon-dj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dj.svg)}.flag-icon-dk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dk.svg)}.flag-icon-dk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dk.svg)}.flag-icon-dm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dm.svg)}.flag-icon-dm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dm.svg)}.flag-icon-do{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/do.svg)}.flag-icon-do.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/do.svg)}.flag-icon-dz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dz.svg)}.flag-icon-dz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dz.svg)}.flag-icon-ec{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ec.svg)}.flag-icon-ec.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ec.svg)}.flag-icon-ee{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ee.svg)}.flag-icon-ee.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ee.svg)}.flag-icon-eg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/eg.svg)}.flag-icon-eg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/eg.svg)}.flag-icon-eh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/eh.svg)}.flag-icon-eh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/eh.svg)}.flag-icon-er{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/er.svg)}.flag-icon-er.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/er.svg)}.flag-icon-es{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/es.svg)}.flag-icon-es.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/es.svg)}.flag-icon-et{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/et.svg)}.flag-icon-et.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/et.svg)}.flag-icon-fi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fi.svg)}.flag-icon-fi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fi.svg)}.flag-icon-fj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fj.svg)}.flag-icon-fj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fj.svg)}.flag-icon-fk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fk.svg)}.flag-icon-fk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fk.svg)}.flag-icon-fm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fm.svg)}.flag-icon-fm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fm.svg)}.flag-icon-fo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fo.svg)}.flag-icon-fo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fo.svg)}.flag-icon-fr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fr.svg)}.flag-icon-fr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fr.svg)}.flag-icon-ga{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ga.svg)}.flag-icon-ga.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ga.svg)}.flag-icon-gb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb.svg)}.flag-icon-gb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb.svg)}.flag-icon-gd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gd.svg)}.flag-icon-gd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gd.svg)}.flag-icon-ge{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ge.svg)}.flag-icon-ge.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ge.svg)}.flag-icon-gf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gf.svg)}.flag-icon-gf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gf.svg)}.flag-icon-gg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gg.svg)}.flag-icon-gg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gg.svg)}.flag-icon-gh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gh.svg)}.flag-icon-gh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gh.svg)}.flag-icon-gi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gi.svg)}.flag-icon-gi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gi.svg)}.flag-icon-gl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gl.svg)}.flag-icon-gl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gl.svg)}.flag-icon-gm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gm.svg)}.flag-icon-gm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gm.svg)}.flag-icon-gn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gn.svg)}.flag-icon-gn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gn.svg)}.flag-icon-gp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gp.svg)}.flag-icon-gp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gp.svg)}.flag-icon-gq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gq.svg)}.flag-icon-gq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gq.svg)}.flag-icon-gr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gr.svg)}.flag-icon-gr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gr.svg)}.flag-icon-gs{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gs.svg)}.flag-icon-gs.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gs.svg)}.flag-icon-gt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gt.svg)}.flag-icon-gt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gt.svg)}.flag-icon-gu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gu.svg)}.flag-icon-gu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gu.svg)}.flag-icon-gw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gw.svg)}.flag-icon-gw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gw.svg)}.flag-icon-gy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gy.svg)}.flag-icon-gy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gy.svg)}.flag-icon-hk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hk.svg)}.flag-icon-hk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hk.svg)}.flag-icon-hm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hm.svg)}.flag-icon-hm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hm.svg)}.flag-icon-hn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hn.svg)}.flag-icon-hn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hn.svg)}.flag-icon-hr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hr.svg)}.flag-icon-hr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hr.svg)}.flag-icon-ht{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ht.svg)}.flag-icon-ht.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ht.svg)}.flag-icon-hu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hu.svg)}.flag-icon-hu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hu.svg)}.flag-icon-id{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/id.svg)}.flag-icon-id.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/id.svg)}.flag-icon-ie{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ie.svg)}.flag-icon-ie.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ie.svg)}.flag-icon-il{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/il.svg)}.flag-icon-il.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/il.svg)}.flag-icon-im{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/im.svg)}.flag-icon-im.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/im.svg)}.flag-icon-in{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/in.svg)}.flag-icon-in.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/in.svg)}.flag-icon-io{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/io.svg)}.flag-icon-io.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/io.svg)}.flag-icon-iq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/iq.svg)}.flag-icon-iq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/iq.svg)}.flag-icon-ir{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ir.svg)}.flag-icon-ir.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ir.svg)}.flag-icon-is{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/is.svg)}.flag-icon-is.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/is.svg)}.flag-icon-it{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/it.svg)}.flag-icon-it.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/it.svg)}.flag-icon-je{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/je.svg)}.flag-icon-je.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/je.svg)}.flag-icon-jm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/jm.svg)}.flag-icon-jm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/jm.svg)}.flag-icon-jo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/jo.svg)}.flag-icon-jo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/jo.svg)}.flag-icon-jp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/jp.svg)}.flag-icon-jp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/jp.svg)}.flag-icon-ke{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ke.svg)}.flag-icon-ke.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ke.svg)}.flag-icon-kg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kg.svg)}.flag-icon-kg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kg.svg)}.flag-icon-kh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kh.svg)}.flag-icon-kh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kh.svg)}.flag-icon-ki{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ki.svg)}.flag-icon-ki.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ki.svg)}.flag-icon-km{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/km.svg)}.flag-icon-km.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/km.svg)}.flag-icon-kn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kn.svg)}.flag-icon-kn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kn.svg)}.flag-icon-kp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kp.svg)}.flag-icon-kp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kp.svg)}.flag-icon-kr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kr.svg)}.flag-icon-kr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kr.svg)}.flag-icon-kw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kw.svg)}.flag-icon-kw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kw.svg)}.flag-icon-ky{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ky.svg)}.flag-icon-ky.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ky.svg)}.flag-icon-kz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kz.svg)}.flag-icon-kz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kz.svg)}.flag-icon-la{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/la.svg)}.flag-icon-la.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/la.svg)}.flag-icon-lb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lb.svg)}.flag-icon-lb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lb.svg)}.flag-icon-lc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lc.svg)}.flag-icon-lc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lc.svg)}.flag-icon-li{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/li.svg)}.flag-icon-li.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/li.svg)}.flag-icon-lk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lk.svg)}.flag-icon-lk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lk.svg)}.flag-icon-lr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lr.svg)}.flag-icon-lr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lr.svg)}.flag-icon-ls{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ls.svg)}.flag-icon-ls.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ls.svg)}.flag-icon-lt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lt.svg)}.flag-icon-lt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lt.svg)}.flag-icon-lu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lu.svg)}.flag-icon-lu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lu.svg)}.flag-icon-lv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lv.svg)}.flag-icon-lv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lv.svg)}.flag-icon-ly{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ly.svg)}.flag-icon-ly.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ly.svg)}.flag-icon-ma{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ma.svg)}.flag-icon-ma.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ma.svg)}.flag-icon-mc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mc.svg)}.flag-icon-mc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mc.svg)}.flag-icon-md{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/md.svg)}.flag-icon-md.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/md.svg)}.flag-icon-me{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/me.svg)}.flag-icon-me.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/me.svg)}.flag-icon-mf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mf.svg)}.flag-icon-mf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mf.svg)}.flag-icon-mg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mg.svg)}.flag-icon-mg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mg.svg)}.flag-icon-mh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mh.svg)}.flag-icon-mh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mh.svg)}.flag-icon-mk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mk.svg)}.flag-icon-mk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mk.svg)}.flag-icon-ml{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ml.svg)}.flag-icon-ml.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ml.svg)}.flag-icon-mm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mm.svg)}.flag-icon-mm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mm.svg)}.flag-icon-mn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mn.svg)}.flag-icon-mn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mn.svg)}.flag-icon-mo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mo.svg)}.flag-icon-mo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mo.svg)}.flag-icon-mp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mp.svg)}.flag-icon-mp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mp.svg)}.flag-icon-mq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mq.svg)}.flag-icon-mq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mq.svg)}.flag-icon-mr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mr.svg)}.flag-icon-mr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mr.svg)}.flag-icon-ms{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ms.svg)}.flag-icon-ms.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ms.svg)}.flag-icon-mt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mt.svg)}.flag-icon-mt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mt.svg)}.flag-icon-mu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mu.svg)}.flag-icon-mu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mu.svg)}.flag-icon-mv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mv.svg)}.flag-icon-mv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mv.svg)}.flag-icon-mw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mw.svg)}.flag-icon-mw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mw.svg)}.flag-icon-mx{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mx.svg)}.flag-icon-mx.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mx.svg)}.flag-icon-my{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/my.svg)}.flag-icon-my.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/my.svg)}.flag-icon-mz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mz.svg)}.flag-icon-mz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mz.svg)}.flag-icon-na{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/na.svg)}.flag-icon-na.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/na.svg)}.flag-icon-nc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nc.svg)}.flag-icon-nc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nc.svg)}.flag-icon-ne{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ne.svg)}.flag-icon-ne.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ne.svg)}.flag-icon-nf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nf.svg)}.flag-icon-nf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nf.svg)}.flag-icon-ng{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ng.svg)}.flag-icon-ng.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ng.svg)}.flag-icon-ni{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ni.svg)}.flag-icon-ni.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ni.svg)}.flag-icon-nl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nl.svg)}.flag-icon-nl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nl.svg)}.flag-icon-no{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/no.svg)}.flag-icon-no.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/no.svg)}.flag-icon-np{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/np.svg)}.flag-icon-np.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/np.svg)}.flag-icon-nr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nr.svg)}.flag-icon-nr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nr.svg)}.flag-icon-nu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nu.svg)}.flag-icon-nu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nu.svg)}.flag-icon-nz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nz.svg)}.flag-icon-nz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nz.svg)}.flag-icon-om{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/om.svg)}.flag-icon-om.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/om.svg)}.flag-icon-pa{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pa.svg)}.flag-icon-pa.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pa.svg)}.flag-icon-pe{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pe.svg)}.flag-icon-pe.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pe.svg)}.flag-icon-pf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pf.svg)}.flag-icon-pf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pf.svg)}.flag-icon-pg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pg.svg)}.flag-icon-pg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pg.svg)}.flag-icon-ph{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ph.svg)}.flag-icon-ph.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ph.svg)}.flag-icon-pk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pk.svg)}.flag-icon-pk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pk.svg)}.flag-icon-pl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pl.svg)}.flag-icon-pl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pl.svg)}.flag-icon-pm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pm.svg)}.flag-icon-pm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pm.svg)}.flag-icon-pn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pn.svg)}.flag-icon-pn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pn.svg)}.flag-icon-pr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pr.svg)}.flag-icon-pr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pr.svg)}.flag-icon-ps{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ps.svg)}.flag-icon-ps.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ps.svg)}.flag-icon-pt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pt.svg)}.flag-icon-pt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pt.svg)}.flag-icon-pw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pw.svg)}.flag-icon-pw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pw.svg)}.flag-icon-py{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/py.svg)}.flag-icon-py.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/py.svg)}.flag-icon-qa{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/qa.svg)}.flag-icon-qa.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/qa.svg)}.flag-icon-re{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/re.svg)}.flag-icon-re.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/re.svg)}.flag-icon-ro{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ro.svg)}.flag-icon-ro.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ro.svg)}.flag-icon-rs{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/rs.svg)}.flag-icon-rs.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/rs.svg)}.flag-icon-ru{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ru.svg)}.flag-icon-ru.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ru.svg)}.flag-icon-rw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/rw.svg)}.flag-icon-rw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/rw.svg)}.flag-icon-sa{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sa.svg)}.flag-icon-sa.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sa.svg)}.flag-icon-sb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sb.svg)}.flag-icon-sb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sb.svg)}.flag-icon-sc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sc.svg)}.flag-icon-sc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sc.svg)}.flag-icon-sd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sd.svg)}.flag-icon-sd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sd.svg)}.flag-icon-se{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/se.svg)}.flag-icon-se.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/se.svg)}.flag-icon-sg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sg.svg)}.flag-icon-sg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sg.svg)}.flag-icon-sh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sh.svg)}.flag-icon-sh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sh.svg)}.flag-icon-si{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/si.svg)}.flag-icon-si.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/si.svg)}.flag-icon-sj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sj.svg)}.flag-icon-sj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sj.svg)}.flag-icon-sk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sk.svg)}.flag-icon-sk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sk.svg)}.flag-icon-sl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sl.svg)}.flag-icon-sl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sl.svg)}.flag-icon-sm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sm.svg)}.flag-icon-sm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sm.svg)}.flag-icon-sn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sn.svg)}.flag-icon-sn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sn.svg)}.flag-icon-so{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/so.svg)}.flag-icon-so.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/so.svg)}.flag-icon-sr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sr.svg)}.flag-icon-sr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sr.svg)}.flag-icon-ss{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ss.svg)}.flag-icon-ss.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ss.svg)}.flag-icon-st{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/st.svg)}.flag-icon-st.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/st.svg)}.flag-icon-sv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sv.svg)}.flag-icon-sv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sv.svg)}.flag-icon-sx{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sx.svg)}.flag-icon-sx.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sx.svg)}.flag-icon-sy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sy.svg)}.flag-icon-sy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sy.svg)}.flag-icon-sz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sz.svg)}.flag-icon-sz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sz.svg)}.flag-icon-tc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tc.svg)}.flag-icon-tc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tc.svg)}.flag-icon-td{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/td.svg)}.flag-icon-td.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/td.svg)}.flag-icon-tf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tf.svg)}.flag-icon-tf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tf.svg)}.flag-icon-tg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tg.svg)}.flag-icon-tg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tg.svg)}.flag-icon-th{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/th.svg)}.flag-icon-th.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/th.svg)}.flag-icon-tj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tj.svg)}.flag-icon-tj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tj.svg)}.flag-icon-tk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tk.svg)}.flag-icon-tk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tk.svg)}.flag-icon-tl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tl.svg)}.flag-icon-tl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tl.svg)}.flag-icon-tm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tm.svg)}.flag-icon-tm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tm.svg)}.flag-icon-tn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tn.svg)}.flag-icon-tn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tn.svg)}.flag-icon-to{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/to.svg)}.flag-icon-to.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/to.svg)}.flag-icon-tr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tr.svg)}.flag-icon-tr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tr.svg)}.flag-icon-tt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tt.svg)}.flag-icon-tt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tt.svg)}.flag-icon-tv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tv.svg)}.flag-icon-tv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tv.svg)}.flag-icon-tw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tw.svg)}.flag-icon-tw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tw.svg)}.flag-icon-tz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tz.svg)}.flag-icon-tz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tz.svg)}.flag-icon-ua{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ua.svg)}.flag-icon-ua.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ua.svg)}.flag-icon-ug{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ug.svg)}.flag-icon-ug.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ug.svg)}.flag-icon-um{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/um.svg)}.flag-icon-um.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/um.svg)}.flag-icon-us{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/us.svg)}.flag-icon-us.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/us.svg)}.flag-icon-uy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/uy.svg)}.flag-icon-uy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/uy.svg)}.flag-icon-uz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/uz.svg)}.flag-icon-uz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/uz.svg)}.flag-icon-va{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/va.svg)}.flag-icon-va.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/va.svg)}.flag-icon-vc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vc.svg)}.flag-icon-vc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vc.svg)}.flag-icon-ve{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ve.svg)}.flag-icon-ve.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ve.svg)}.flag-icon-vg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vg.svg)}.flag-icon-vg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vg.svg)}.flag-icon-vi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vi.svg)}.flag-icon-vi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vi.svg)}.flag-icon-vn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vn.svg)}.flag-icon-vn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vn.svg)}.flag-icon-vu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vu.svg)}.flag-icon-vu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vu.svg)}.flag-icon-wf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/wf.svg)}.flag-icon-wf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/wf.svg)}.flag-icon-ws{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ws.svg)}.flag-icon-ws.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ws.svg)}.flag-icon-ye{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ye.svg)}.flag-icon-ye.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ye.svg)}.flag-icon-yt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/yt.svg)}.flag-icon-yt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/yt.svg)}.flag-icon-za{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/za.svg)}.flag-icon-za.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/za.svg)}.flag-icon-zm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/zm.svg)}.flag-icon-zm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/zm.svg)}.flag-icon-zw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/zw.svg)}.flag-icon-zw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/zw.svg)}.flag-icon-es-ca{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/es-ca.svg)}.flag-icon-es-ca.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/es-ca.svg)}.flag-icon-es-ga{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/es-ga.svg)}.flag-icon-es-ga.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/es-ga.svg)}.flag-icon-eu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/eu.svg)}.flag-icon-eu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/eu.svg)}.flag-icon-gb-eng{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-eng.svg)}.flag-icon-gb-eng.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-eng.svg)}.flag-icon-gb-nir{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-nir.svg)}.flag-icon-gb-nir.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-nir.svg)}.flag-icon-gb-sct{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-sct.svg)}.flag-icon-gb-sct.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-sct.svg)}.flag-icon-gb-wls{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-wls.svg)}.flag-icon-gb-wls.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-wls.svg)}.flag-icon-un{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/un.svg)}.flag-icon-un.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/un.svg)}.flag-icon-xk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/xk.svg)}.flag-icon-xk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/xk.svg)} -body:before{content:"mobile";display:none;visibility:hidden}@media(min-width:768px){body:before{content:"tablet"}}@media(min-width:992px){body:before{content:"desktop"}}@media(min-width:1200px){body:before{content:"widescreen"}}@media(min-width:1400px){body:before{content:"fullhd"}}hr.divider.divider-solid{border-top:var(--b-divider-thickness,1px) solid var(--b-divider-color,#999)}hr.divider.divider-dashed{border-top:var(--b-divider-thickness,1px) dashed var(--b-divider-color,#999)}hr.divider.divider-dotted{border-top:var(--b-divider-thickness,1px) dotted var(--b-divider-color,#999)}hr.divider.divider-text{position:relative;border:none;height:var(--b-divider-thickness,1px);background:var(--b-divider-color,#999)}hr.divider.divider-text::before{content:attr(data-content);display:inline-block;background:#fff;font-weight:bold;font-size:var(--b-divider-font-size,.85rem);color:var(--b-divider-color,#999);border-radius:30rem;padding:.2rem 2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.b-drop-zone{position:relative;transition:all 300ms cubic-bezier(.4,0,.2,1) 0ms}.b-drop-zone.b-drop-zone-drag-block>*{pointer-events:none}.b-drop-zone.b-drop-zone-drop-allowed{outline:1px solid var(--b-theme-success,"#00FF00") !important}.b-drop-zone.b-drop-zone-drop-not-allowed{outline:1px solid var(--b-theme-danger,"#FF0000") !important}.b-drop-zone-draggable:not(.draggable-preview-start){cursor:grab;user-select:none}.b-drop-zone-draggable:not(.draggable-preview-start):active{cursor:grabbing}.b-drop-zone .draggable-placeholder{outline:2px dashed var(--b-theme-primary,"#0000FF") !important;padding:1rem}.b-drop-zone .draggable-preview-start{height:20px;width:100%;position:absolute;top:0;left:0;z-index:1}.b-file-picker{display:inline-block;width:100%}.b-file-picker .b-text-drop{border:1px solid rgba(0,0,0,.15);margin-top:.5rem;display:block;text-align:center;font-size:.75rem;padding-top:.25rem;padding-bottom:.25rem}.b-file-picker .b-file-picker-file{min-width:25rem}.b-file-picker .b-file-picker-file span{display:block}.b-file-picker .b-file-picker-file .b-file-picker-file-size,.b-file-picker .b-file-picker-file .b-file-picker-file-status,.b-file-picker .b-file-picker-file .b-file-picker-file-relativepath{font-size:.75rem}.b-input-color-picker{padding:.6rem}.b-input-color-picker>.b-input-color-picker-preview{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-between}.b-input-color-picker>.b-input-color-picker-preview::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.b-input-color-picker>.b-input-color-picker-preview>.b-input-color-picker-curent-color{display:inline-block;width:100%;height:100%}.b-input-color-picker[aria-disabled=true]{opacity:.65}.progress.progress-xs{height:.25rem}.progress.progress-sm{height:.5rem}.progress.progress-md{height:1rem}.progress.progress-lg{height:1.5rem}.progress.progress-xl{height:2rem}.b-page-progress{width:100%;height:4px;z-index:9999;top:0;left:0;position:fixed;display:none}.b-page-progress .b-page-progress-indicator{width:0;height:100%;transition:height .3s;background-color:#000;transition:width 1s}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-indeterminate{width:30%;animation:running-page-progress 2s cubic-bezier(.4,0,.2,1) infinite}.b-page-progress.b-page-progress-active{display:block}@keyframes running-page-progress{0%{margin-left:0;margin-right:100%}50%{margin-left:25%;margin-right:0%}100%{margin-left:100%;margin-right:0}}.tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}.tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}.tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}.tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}.tippy-box[data-animation=scale][data-state=hidden]{transform:scale(.5);opacity:0}.tippy-box[data-theme~=blazorise]{background-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));color:var(--b-tooltip-color,#fff)}.tippy-box[data-theme~=blazorise][data-placement^=top]>.tippy-arrow::before{border-top-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise][data-placement^=left]>.tippy-arrow::before{border-left-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise][data-placement^=right]>.tippy-arrow::before{border-right-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise]>.tippy-svg-arrow{fill:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.b-tooltip-inline{display:inline-block}.b-layout{display:flex;flex:auto;flex-direction:column}.b-layout.b-layout-root{height:100vh}.b-layout,.b-layout *{box-sizing:border-box}@keyframes spinner{0%{transform:translate3d(-50%,-50%,0) rotate(0deg)}100%{transform:translate3d(-50%,-50%,0) rotate(360deg)}}.b-layout>.b-layout-loading{z-index:9999;position:fixed;width:100%;height:100%;background:rgba(0,0,0,.3)}.b-layout>.b-layout-loading:before{animation:1s linear infinite spinner;border:solid 3px #eee;border-bottom-color:var(--b-theme-primary);border-radius:50%;height:40px;left:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0);width:40px;content:" "}.b-layout.b-layout-has-sider{flex-direction:row;min-height:0}.b-layout.b-layout-has-sider .b-layout{overflow-x:hidden}.b-layout-header,.b-layout-footer{flex:0 0 auto}.b-layout-header{color:rgba(0,0,0,.65)}.b-layout.b-layout-root.b-layout-has-sider>.b-layout-header-fixed,.b-layout.b-layout-root.b-layout-has-sider>.b-layout>.b-layout-header-fixed{position:sticky;top:0;width:100%;flex:0}.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed,.b-layout.b-layout-root:not(.b-layout-has-sider)>.b-layout .b-layout-header-fixed{position:fixed;top:0;left:0;right:0;flex:0}.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed+.b-layout-content,.b-layout.b-layout-root:not(.b-layout-has-sider)>.b-layout .b-layout-header-fixed+.b-layout-content{margin-top:var(--b-bar-horizontal-height,auto)}.b-layout.b-layout-root>.b-layout-header.b-layout-header-fixed+.b-layout.b-layout-has-sider{margin-top:var(--b-bar-horizontal-height,auto)}.b-layout-footer{color:rgba(0,0,0,.65)}.b-layout-footer-fixed{position:sticky;z-index:1;bottom:0;flex:0}.b-layout-content{flex:1}.b-layout-sider{display:flex;position:relative;background:#001529}.b-layout-sider-content{position:sticky;top:0;z-index:2}.b-layout-header .navbar{line-height:inherit}.b-bar-horizontal[data-collapse=hide]{flex-wrap:nowrap}.b-bar-horizontal[data-collapse=hide][data-broken=true]{height:auto}.b-bar-horizontal[data-broken=false]{height:auto}.b-layout>.b-layout-header .b-bar-horizontal[data-collapse=hide][data-broken=true]{height:var(--b-bar-horizontal-height,auto)}.b-layout>.b-layout-header .b-bar-horizontal[data-broken=false]{height:var(--b-bar-horizontal-height,auto)}.b-bar-initial{display:none !important}.b-bar-vertical-inline,.b-bar-vertical-popout,.b-bar-vertical-small{display:flex;flex-direction:column;flex-wrap:nowrap;position:sticky;top:0;padding:0;min-width:var(--b-vertical-bar-width,230px);max-width:var(--b-vertical-bar-width,230px);width:var(--b-vertical-bar-width,230px);box-shadow:2px 0 6px rgba(0,21,41,.35);height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.b-bar-vertical-inline:not(.b-bar-initial),.b-bar-vertical-popout:not(.b-bar-initial),.b-bar-vertical-small:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out}.b-bar-vertical-inline .b-bar-menu,.b-bar-vertical-popout .b-bar-menu,.b-bar-vertical-small .b-bar-menu{width:100%;display:flex;flex:1;justify-content:space-between;flex-direction:column;align-self:stretch}.b-bar-vertical-inline .b-bar-brand,.b-bar-vertical-popout .b-bar-brand,.b-bar-vertical-small .b-bar-brand{width:100%;display:flex;height:var(--b-vertical-bar-brand-height,64px);min-height:var(--b-vertical-bar-brand-height,64px)}.b-bar-vertical-inline .b-bar-toggler-inline,.b-bar-vertical-popout .b-bar-toggler-inline,.b-bar-vertical-small .b-bar-toggler-inline{height:var(--b-vertical-bar-brand-height,64px);padding:12px;display:inline-flex;cursor:pointer;position:absolute;right:0}.b-bar-vertical-inline .b-bar-toggler-inline>*,.b-bar-vertical-popout .b-bar-toggler-inline>*,.b-bar-vertical-small .b-bar-toggler-inline>*{margin:auto}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle){display:flex;position:fixed;left:var(--b-vertical-bar-width,230px);border-radius:0 10px 10px 0;border:0;width:10px;height:40px;padding:5px;align-items:center;box-shadow:2px 0 6px rgba(0,21,41,.35);cursor:pointer}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial),.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial),.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial){transition:width 200ms ease-in-out,left 200ms ease-in-out}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*{margin:auto;display:none}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover{width:45px}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*{display:block}.b-bar-vertical-inline .b-bar-item,.b-bar-vertical-popout .b-bar-item,.b-bar-vertical-small .b-bar-item{margin:auto;flex-grow:1;min-height:40px}.b-bar-vertical-inline .b-bar-item .b-bar-icon,.b-bar-vertical-popout .b-bar-item .b-bar-icon,.b-bar-vertical-small .b-bar-item .b-bar-icon{font-size:1.25rem;vertical-align:middle;margin:3px;display:inline-block}.b-bar-vertical-inline .b-bar-start,.b-bar-vertical-popout .b-bar-start,.b-bar-vertical-small .b-bar-start{width:100%;display:block}.b-bar-vertical-inline .b-bar-end,.b-bar-vertical-popout .b-bar-end,.b-bar-vertical-small .b-bar-end{padding-bottom:1rem;width:100%;padding-top:1rem;display:block}.b-bar-vertical-inline .b-bar-end .b-bar-dropdown,.b-bar-vertical-popout .b-bar-end .b-bar-dropdown,.b-bar-vertical-small .b-bar-end .b-bar-dropdown{position:relative}.b-bar-vertical-inline .b-bar-end .b-bar-dropdown-menu-container,.b-bar-vertical-popout .b-bar-end .b-bar-dropdown-menu-container,.b-bar-vertical-small .b-bar-end .b-bar-dropdown-menu-container{bottom:0}.b-bar-vertical-inline .b-bar-link,.b-bar-vertical-popout .b-bar-link,.b-bar-vertical-small .b-bar-link{display:block;width:100%;text-decoration:none;padding:.5rem .5rem .5rem 1.5rem;cursor:pointer;overflow-x:hidden;line-height:1.5rem;vertical-align:middle;transition:font-size 150ms ease-in}.b-bar-vertical-inline .b-bar-label,.b-bar-vertical-popout .b-bar-label,.b-bar-vertical-small .b-bar-label{background:transparent;color:#adb5bd;padding:.375rem 1.25rem;font-size:.75rem;text-overflow:ellipsis;overflow-x:hidden}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(225deg);transform:rotate(225deg);top:.7rem}.b-bar-vertical-inline .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-popout .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-small .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);top:.5rem}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu{display:none;background:inherit;color:inherit;float:none;padding:5px 0}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true],.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true],.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true]{display:block}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item{position:relative;color:inherit;transition:background 100ms ease-in-out,color 100ms ease-in-out;text-decoration:none;display:block;width:100%;overflow-x:hidden}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i{margin-right:.3rem}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu:before,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu:before,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu:before{background:inherit;box-shadow:none}.b-bar-vertical-inline .b-bar-mobile-toggle,.b-bar-vertical-popout .b-bar-mobile-toggle,.b-bar-vertical-small .b-bar-mobile-toggle{right:20px;margin:auto;display:none}.b-bar-vertical-inline .b-bar-item-multi-line,.b-bar-vertical-popout .b-bar-item-multi-line,.b-bar-vertical-small .b-bar-item-multi-line{display:-webkit-box !important;-webkit-box-orient:vertical;-webkit-line-clamp:var(--b-bar-item-lines,2);white-space:normal !important;overflow:hidden;text-overflow:ellipsis}.b-bar-vertical-inline.b-bar-dark,.b-bar-vertical-popout.b-bar-dark,.b-bar-vertical-small.b-bar-dark{background:var(--b-bar-dark-background,#001529);color:var(--b-bar-dark-color,rgba(255,255,255,.5))}.b-bar-vertical-inline.b-bar-dark .b-bar-brand,.b-bar-vertical-popout.b-bar-dark .b-bar-brand,.b-bar-vertical-small.b-bar-dark .b-bar-brand{background:var(--b-bar-brand-dark-background,rgba(255,255,255,.025))}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link{color:#fff}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link.active,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link.active,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link.active{color:#fff;background:inherit}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link:hover,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link:hover{color:#fff;background:inherit}.b-bar-vertical-inline.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle){background:var(--b-bar-dark-background,#001529);color:var(--b-bar-dark-color,rgba(255,255,255,.5))}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu{background:var(--b-bar-dropdown-dark-background,#000c17)}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active{color:var(--b-bar-item-dark-active-color,#fff);background:var(--b-bar-item-dark-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover{color:var(--b-bar-item-dark-hover-color,#fff);background:var(--b-bar-item-dark-hover-background,rgba(255,255,255,.3))}.b-bar-vertical-inline.b-bar-dark .b-bar-link,.b-bar-vertical-popout.b-bar-dark .b-bar-link,.b-bar-vertical-small.b-bar-dark .b-bar-link{color:inherit}.b-bar-vertical-inline.b-bar-dark .b-bar-link.active,.b-bar-vertical-popout.b-bar-dark .b-bar-link.active,.b-bar-vertical-small.b-bar-dark .b-bar-link.active{color:var(--b-bar-item-dark-active-color,#fff);background:var(--b-bar-item-dark-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-dark .b-bar-link:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-link:hover,.b-bar-vertical-small.b-bar-dark .b-bar-link:hover{color:var(--b-bar-item-dark-hover-color,#fff);background:var(--b-bar-item-dark-hover-background,rgba(255,255,255,.3))}.b-bar-vertical-inline.b-bar-light,.b-bar-vertical-popout.b-bar-light,.b-bar-vertical-small.b-bar-light{background:var(--b-bar-light-background,#fff);color:var(--b-bar-light-color,rgba(0,0,0,.7))}.b-bar-vertical-inline.b-bar-light .b-bar-brand,.b-bar-vertical-popout.b-bar-light .b-bar-brand,.b-bar-vertical-small.b-bar-light .b-bar-brand{background:var(--b-bar-brand-light-background,rgba(0,0,0,.025))}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link{color:#000}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link.active,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link.active,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link.active{background:inherit}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link:hover,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link:hover,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link:hover{background:inherit}.b-bar-vertical-inline.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle){background:var(--b-bar-brand-light-background,#fff);color:var(--b-bar-light-color,rgba(0,0,0,.7))}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu{background:var(--b-bar-dropdown-light-background,#f2f2f2)}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active{color:var(--b-bar-item-light-active-color,#000);background:var(--b-bar-item-light-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover{color:var(--b-bar-item-light-hover-color,#000);background:var(--b-bar-item-light-hover-background,rgba(0,0,0,.3))}.b-bar-vertical-inline.b-bar-light .b-bar-link,.b-bar-vertical-popout.b-bar-light .b-bar-link,.b-bar-vertical-small.b-bar-light .b-bar-link{color:inherit}.b-bar-vertical-inline.b-bar-light .b-bar-link.active,.b-bar-vertical-popout.b-bar-light .b-bar-link.active,.b-bar-vertical-small.b-bar-light .b-bar-link.active{color:var(--b-bar-item-light-active-color,#000);background:var(--b-bar-item-light-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-light .b-bar-link:hover,.b-bar-vertical-popout.b-bar-light .b-bar-link:hover,.b-bar-vertical-small.b-bar-light .b-bar-link:hover{color:var(--b-bar-item-light-hover-color,#000);background:var(--b-bar-item-light-hover-background,rgba(0,0,0,.3))}.b-bar-vertical-small,.b-bar-vertical-inline[data-collapse=small],.b-bar-vertical-popout[data-collapse=small]{width:var(--b-vertical-bar-small-width,64px);min-width:var(--b-vertical-bar-small-width,64px)}.b-bar-vertical-small:not(.b-bar-initial),.b-bar-vertical-inline[data-collapse=small]:not(.b-bar-initial),.b-bar-vertical-popout[data-collapse=small]:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out}.b-bar-vertical-small .b-bar-toggler-inline,.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-inline,.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-inline{position:relative;width:100%}.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle){left:var(--b-vertical-bar-small-width,64px)}.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before{display:none}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container{z-index:100;max-height:50vh;position:absolute !important;margin:-42px 5px 0 5px;display:flex;width:var(--b-vertical-bar-popout-menu-width,180px);left:var(--b-vertical-bar-small-width,64px)}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-small-width,64px);left:unset}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);border-radius:3px;overflow-y:auto;overflow-x:hidden;flex:1 100%}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 1.5rem}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before{position:absolute;top:0;left:-7px;right:0;bottom:0;width:100%;height:100%;opacity:.0001;content:" ";z-index:-1}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before{left:unset;right:-7px}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container{left:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(135deg);transform:rotate(135deg);right:.8rem}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(315deg);transform:rotate(315deg)}@keyframes b-bar-link-small{to{text-align:center;padding-left:0;padding-right:0}}.b-bar-vertical-small .b-bar-item>.b-bar-link,.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-link,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-link,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-link,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link{animation:b-bar-link-small forwards;animation-delay:170ms;font-size:0;transition:font-size 100ms ease-out}.b-bar-vertical-small .b-bar-item>.b-bar-link:after,.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-link:after,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-link:after,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link:after,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-link:after,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link:after{display:none}.b-bar-vertical-small .b-bar-label,.b-bar-vertical-inline[data-collapse=small] .b-bar-label,.b-bar-vertical-popout[data-collapse=small] .b-bar-label{text-align:center}.b-bar-vertical-inline:not([data-collapse]){overflow-y:auto;overflow-x:hidden}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container{position:relative}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{position:relative !important;border:none;border-radius:0;box-shadow:none}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 3rem}.b-bar-vertical-inline:not([data-collapse]) .b-bar-brand .b-bar-link{display:flex;align-items:center}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(135deg);transform:rotate(135deg);right:.8rem}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container{z-index:100;max-height:50vh;position:absolute !important;margin:-42px 5px 0 5px;display:flex;width:var(--b-vertical-bar-popout-menu-width,180px);left:var(--b-vertical-bar-width,230px)}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-width,230px);left:unset}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);border-radius:3px;overflow-y:auto;overflow-x:hidden;flex:1 100%}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 1.5rem}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before{position:absolute;top:0;left:-7px;right:0;bottom:0;width:100%;height:100%;opacity:.0001;content:" ";z-index:-1}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before{left:unset;right:-7px}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container{left:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-inline[data-collapse=hide],.b-bar-vertical-popout[data-collapse=hide],.b-bar-vertical-small[data-collapse=hide]{width:0;min-width:0;overflow-y:hidden;visibility:hidden}.b-bar-vertical-inline[data-collapse=hide]:not(.b-bar-initial),.b-bar-vertical-popout[data-collapse=hide]:not(.b-bar-initial),.b-bar-vertical-small[data-collapse=hide]:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out,visibility 100ms}.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-inline,.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-inline,.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-inline{display:none}.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle){visibility:visible;left:0}@media only screen and (max-width:576px){.b-bar-vertical-inline:not([data-collapse]){min-width:100vw}.b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-inline:not(.b-bar-mobile-toggle){display:none}.b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-popout:not(.b-bar-mobile-toggle){left:100vw}.b-bar-vertical-inline:not([data-collapse]) .b-bar-mobile-toggle{display:flex}}.b-table.table{position:relative}.b-table.table .b-table-resizer{position:absolute;top:0;right:0;width:5px;cursor:col-resize;user-select:none;z-index:1}.b-table.table .b-table-resizer:hover,.b-table.table .b-table-resizing{cursor:col-resize !important;border-right:2px solid var(--b-theme-primary,#00f)}.b-table.table .b-table-resizing{cursor:col-resize !important}thead tr th{position:relative}.b-character-casing-lower{text-transform:lowercase}.b-character-casing-upper{text-transform:uppercase}.b-character-casing-title{text-transform:lowercase}.b-character-casing-title::first-letter {text-transform:uppercase}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:contents}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.flatpickr-monthSelect-months{margin:10px 1px 3px 1px;flex-wrap:wrap}.flatpickr-monthSelect-month{background:none;border:0;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;display:inline-block;font-weight:400;margin:.5px;justify-content:center;padding:10px;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;text-align:center;width:33%}.flatpickr-monthSelect-month.disabled{color:#eee}.flatpickr-monthSelect-month.disabled:hover,.flatpickr-monthSelect-month.disabled:focus{cursor:not-allowed;background:none !important}.flatpickr-monthSelect-theme-dark{background:#3f4458}.flatpickr-monthSelect-theme-dark .flatpickr-current-month input.cur-year{color:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-prev-month,.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-next-month{color:#fff;fill:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month{color:rgba(255,255,255,.95)}.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:#e6e6e6;cursor:pointer;outline:0}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus{background:#646c8c;border-color:#646c8c}.flatpickr-monthSelect-month.selected{background-color:#569ff7;color:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected{background:#80cbc4;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#80cbc4} +@charset "UTF-8";/*! + * Bootstrap v5.1.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--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-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-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-rgb:33,37,41;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",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-bg:#fff}*,::after,::before{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:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],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}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-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}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);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}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{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}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display: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}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!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}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!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}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.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-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}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!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}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.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-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}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!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}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.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-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}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!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}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.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-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}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!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}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.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-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}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!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}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!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-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.min.css.map */ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ + .fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.eot);src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.woff2) format("woff2"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.woff) format("woff"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.ttf) format("truetype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.eot);src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.woff2) format("woff2"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.woff) format("woff"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.ttf) format("truetype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.eot);src:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.woff2) format("woff2"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.woff) format("woff"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.ttf) format("truetype"),url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/fontawesome/webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} +.flag-icon-background{background-size:contain;background-position:50%;background-repeat:no-repeat}.flag-icon{background-size:contain;background-position:50%;background-repeat:no-repeat;position:relative;display:inline-block;width:1.33333333em;line-height:1em}.flag-icon:before{content:" "}.flag-icon.flag-icon-squared{width:1em}.flag-icon-ad{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ad.svg)}.flag-icon-ad.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ad.svg)}.flag-icon-ae{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ae.svg)}.flag-icon-ae.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ae.svg)}.flag-icon-af{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/af.svg)}.flag-icon-af.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/af.svg)}.flag-icon-ag{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ag.svg)}.flag-icon-ag.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ag.svg)}.flag-icon-ai{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ai.svg)}.flag-icon-ai.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ai.svg)}.flag-icon-al{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/al.svg)}.flag-icon-al.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/al.svg)}.flag-icon-am{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/am.svg)}.flag-icon-am.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/am.svg)}.flag-icon-ao{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ao.svg)}.flag-icon-ao.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ao.svg)}.flag-icon-aq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/aq.svg)}.flag-icon-aq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/aq.svg)}.flag-icon-ar{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ar.svg)}.flag-icon-ar.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ar.svg)}.flag-icon-as{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/as.svg)}.flag-icon-as.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/as.svg)}.flag-icon-at{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/at.svg)}.flag-icon-at.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/at.svg)}.flag-icon-au{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/au.svg)}.flag-icon-au.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/au.svg)}.flag-icon-aw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/aw.svg)}.flag-icon-aw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/aw.svg)}.flag-icon-ax{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ax.svg)}.flag-icon-ax.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ax.svg)}.flag-icon-az{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/az.svg)}.flag-icon-az.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/az.svg)}.flag-icon-ba{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ba.svg)}.flag-icon-ba.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ba.svg)}.flag-icon-bb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bb.svg)}.flag-icon-bb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bb.svg)}.flag-icon-bd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bd.svg)}.flag-icon-bd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bd.svg)}.flag-icon-be{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/be.svg)}.flag-icon-be.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/be.svg)}.flag-icon-bf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bf.svg)}.flag-icon-bf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bf.svg)}.flag-icon-bg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bg.svg)}.flag-icon-bg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bg.svg)}.flag-icon-bh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bh.svg)}.flag-icon-bh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bh.svg)}.flag-icon-bi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bi.svg)}.flag-icon-bi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bi.svg)}.flag-icon-bj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bj.svg)}.flag-icon-bj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bj.svg)}.flag-icon-bl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bl.svg)}.flag-icon-bl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bl.svg)}.flag-icon-bm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bm.svg)}.flag-icon-bm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bm.svg)}.flag-icon-bn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bn.svg)}.flag-icon-bn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bn.svg)}.flag-icon-bo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bo.svg)}.flag-icon-bo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bo.svg)}.flag-icon-bq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bq.svg)}.flag-icon-bq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bq.svg)}.flag-icon-br{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/br.svg)}.flag-icon-br.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/br.svg)}.flag-icon-bs{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bs.svg)}.flag-icon-bs.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bs.svg)}.flag-icon-bt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bt.svg)}.flag-icon-bt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bt.svg)}.flag-icon-bv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bv.svg)}.flag-icon-bv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bv.svg)}.flag-icon-bw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bw.svg)}.flag-icon-bw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bw.svg)}.flag-icon-by{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/by.svg)}.flag-icon-by.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/by.svg)}.flag-icon-bz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/bz.svg)}.flag-icon-bz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/bz.svg)}.flag-icon-ca{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ca.svg)}.flag-icon-ca.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ca.svg)}.flag-icon-cc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cc.svg)}.flag-icon-cc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cc.svg)}.flag-icon-cd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cd.svg)}.flag-icon-cd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cd.svg)}.flag-icon-cf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cf.svg)}.flag-icon-cf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cf.svg)}.flag-icon-cg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cg.svg)}.flag-icon-cg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cg.svg)}.flag-icon-ch{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ch.svg)}.flag-icon-ch.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ch.svg)}.flag-icon-ci{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ci.svg)}.flag-icon-ci.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ci.svg)}.flag-icon-ck{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ck.svg)}.flag-icon-ck.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ck.svg)}.flag-icon-cl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cl.svg)}.flag-icon-cl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cl.svg)}.flag-icon-cm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cm.svg)}.flag-icon-cm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cm.svg)}.flag-icon-cn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cn.svg)}.flag-icon-cn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cn.svg)}.flag-icon-co{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/co.svg)}.flag-icon-co.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/co.svg)}.flag-icon-cr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cr.svg)}.flag-icon-cr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cr.svg)}.flag-icon-cu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cu.svg)}.flag-icon-cu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cu.svg)}.flag-icon-cv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cv.svg)}.flag-icon-cv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cv.svg)}.flag-icon-cw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cw.svg)}.flag-icon-cw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cw.svg)}.flag-icon-cx{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cx.svg)}.flag-icon-cx.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cx.svg)}.flag-icon-cy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cy.svg)}.flag-icon-cy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cy.svg)}.flag-icon-cz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/cz.svg)}.flag-icon-cz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/cz.svg)}.flag-icon-de{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/de.svg)}.flag-icon-de.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/de.svg)}.flag-icon-dj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dj.svg)}.flag-icon-dj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dj.svg)}.flag-icon-dk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dk.svg)}.flag-icon-dk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dk.svg)}.flag-icon-dm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dm.svg)}.flag-icon-dm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dm.svg)}.flag-icon-do{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/do.svg)}.flag-icon-do.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/do.svg)}.flag-icon-dz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/dz.svg)}.flag-icon-dz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/dz.svg)}.flag-icon-ec{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ec.svg)}.flag-icon-ec.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ec.svg)}.flag-icon-ee{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ee.svg)}.flag-icon-ee.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ee.svg)}.flag-icon-eg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/eg.svg)}.flag-icon-eg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/eg.svg)}.flag-icon-eh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/eh.svg)}.flag-icon-eh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/eh.svg)}.flag-icon-er{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/er.svg)}.flag-icon-er.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/er.svg)}.flag-icon-es{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/es.svg)}.flag-icon-es.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/es.svg)}.flag-icon-et{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/et.svg)}.flag-icon-et.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/et.svg)}.flag-icon-fi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fi.svg)}.flag-icon-fi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fi.svg)}.flag-icon-fj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fj.svg)}.flag-icon-fj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fj.svg)}.flag-icon-fk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fk.svg)}.flag-icon-fk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fk.svg)}.flag-icon-fm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fm.svg)}.flag-icon-fm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fm.svg)}.flag-icon-fo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fo.svg)}.flag-icon-fo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fo.svg)}.flag-icon-fr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/fr.svg)}.flag-icon-fr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/fr.svg)}.flag-icon-ga{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ga.svg)}.flag-icon-ga.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ga.svg)}.flag-icon-gb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb.svg)}.flag-icon-gb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb.svg)}.flag-icon-gd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gd.svg)}.flag-icon-gd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gd.svg)}.flag-icon-ge{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ge.svg)}.flag-icon-ge.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ge.svg)}.flag-icon-gf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gf.svg)}.flag-icon-gf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gf.svg)}.flag-icon-gg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gg.svg)}.flag-icon-gg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gg.svg)}.flag-icon-gh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gh.svg)}.flag-icon-gh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gh.svg)}.flag-icon-gi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gi.svg)}.flag-icon-gi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gi.svg)}.flag-icon-gl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gl.svg)}.flag-icon-gl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gl.svg)}.flag-icon-gm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gm.svg)}.flag-icon-gm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gm.svg)}.flag-icon-gn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gn.svg)}.flag-icon-gn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gn.svg)}.flag-icon-gp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gp.svg)}.flag-icon-gp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gp.svg)}.flag-icon-gq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gq.svg)}.flag-icon-gq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gq.svg)}.flag-icon-gr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gr.svg)}.flag-icon-gr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gr.svg)}.flag-icon-gs{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gs.svg)}.flag-icon-gs.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gs.svg)}.flag-icon-gt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gt.svg)}.flag-icon-gt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gt.svg)}.flag-icon-gu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gu.svg)}.flag-icon-gu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gu.svg)}.flag-icon-gw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gw.svg)}.flag-icon-gw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gw.svg)}.flag-icon-gy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gy.svg)}.flag-icon-gy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gy.svg)}.flag-icon-hk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hk.svg)}.flag-icon-hk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hk.svg)}.flag-icon-hm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hm.svg)}.flag-icon-hm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hm.svg)}.flag-icon-hn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hn.svg)}.flag-icon-hn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hn.svg)}.flag-icon-hr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hr.svg)}.flag-icon-hr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hr.svg)}.flag-icon-ht{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ht.svg)}.flag-icon-ht.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ht.svg)}.flag-icon-hu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/hu.svg)}.flag-icon-hu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/hu.svg)}.flag-icon-id{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/id.svg)}.flag-icon-id.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/id.svg)}.flag-icon-ie{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ie.svg)}.flag-icon-ie.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ie.svg)}.flag-icon-il{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/il.svg)}.flag-icon-il.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/il.svg)}.flag-icon-im{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/im.svg)}.flag-icon-im.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/im.svg)}.flag-icon-in{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/in.svg)}.flag-icon-in.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/in.svg)}.flag-icon-io{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/io.svg)}.flag-icon-io.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/io.svg)}.flag-icon-iq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/iq.svg)}.flag-icon-iq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/iq.svg)}.flag-icon-ir{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ir.svg)}.flag-icon-ir.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ir.svg)}.flag-icon-is{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/is.svg)}.flag-icon-is.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/is.svg)}.flag-icon-it{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/it.svg)}.flag-icon-it.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/it.svg)}.flag-icon-je{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/je.svg)}.flag-icon-je.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/je.svg)}.flag-icon-jm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/jm.svg)}.flag-icon-jm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/jm.svg)}.flag-icon-jo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/jo.svg)}.flag-icon-jo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/jo.svg)}.flag-icon-jp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/jp.svg)}.flag-icon-jp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/jp.svg)}.flag-icon-ke{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ke.svg)}.flag-icon-ke.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ke.svg)}.flag-icon-kg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kg.svg)}.flag-icon-kg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kg.svg)}.flag-icon-kh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kh.svg)}.flag-icon-kh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kh.svg)}.flag-icon-ki{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ki.svg)}.flag-icon-ki.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ki.svg)}.flag-icon-km{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/km.svg)}.flag-icon-km.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/km.svg)}.flag-icon-kn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kn.svg)}.flag-icon-kn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kn.svg)}.flag-icon-kp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kp.svg)}.flag-icon-kp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kp.svg)}.flag-icon-kr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kr.svg)}.flag-icon-kr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kr.svg)}.flag-icon-kw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kw.svg)}.flag-icon-kw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kw.svg)}.flag-icon-ky{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ky.svg)}.flag-icon-ky.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ky.svg)}.flag-icon-kz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/kz.svg)}.flag-icon-kz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/kz.svg)}.flag-icon-la{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/la.svg)}.flag-icon-la.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/la.svg)}.flag-icon-lb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lb.svg)}.flag-icon-lb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lb.svg)}.flag-icon-lc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lc.svg)}.flag-icon-lc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lc.svg)}.flag-icon-li{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/li.svg)}.flag-icon-li.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/li.svg)}.flag-icon-lk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lk.svg)}.flag-icon-lk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lk.svg)}.flag-icon-lr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lr.svg)}.flag-icon-lr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lr.svg)}.flag-icon-ls{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ls.svg)}.flag-icon-ls.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ls.svg)}.flag-icon-lt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lt.svg)}.flag-icon-lt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lt.svg)}.flag-icon-lu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lu.svg)}.flag-icon-lu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lu.svg)}.flag-icon-lv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/lv.svg)}.flag-icon-lv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/lv.svg)}.flag-icon-ly{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ly.svg)}.flag-icon-ly.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ly.svg)}.flag-icon-ma{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ma.svg)}.flag-icon-ma.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ma.svg)}.flag-icon-mc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mc.svg)}.flag-icon-mc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mc.svg)}.flag-icon-md{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/md.svg)}.flag-icon-md.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/md.svg)}.flag-icon-me{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/me.svg)}.flag-icon-me.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/me.svg)}.flag-icon-mf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mf.svg)}.flag-icon-mf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mf.svg)}.flag-icon-mg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mg.svg)}.flag-icon-mg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mg.svg)}.flag-icon-mh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mh.svg)}.flag-icon-mh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mh.svg)}.flag-icon-mk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mk.svg)}.flag-icon-mk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mk.svg)}.flag-icon-ml{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ml.svg)}.flag-icon-ml.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ml.svg)}.flag-icon-mm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mm.svg)}.flag-icon-mm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mm.svg)}.flag-icon-mn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mn.svg)}.flag-icon-mn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mn.svg)}.flag-icon-mo{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mo.svg)}.flag-icon-mo.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mo.svg)}.flag-icon-mp{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mp.svg)}.flag-icon-mp.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mp.svg)}.flag-icon-mq{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mq.svg)}.flag-icon-mq.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mq.svg)}.flag-icon-mr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mr.svg)}.flag-icon-mr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mr.svg)}.flag-icon-ms{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ms.svg)}.flag-icon-ms.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ms.svg)}.flag-icon-mt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mt.svg)}.flag-icon-mt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mt.svg)}.flag-icon-mu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mu.svg)}.flag-icon-mu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mu.svg)}.flag-icon-mv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mv.svg)}.flag-icon-mv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mv.svg)}.flag-icon-mw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mw.svg)}.flag-icon-mw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mw.svg)}.flag-icon-mx{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mx.svg)}.flag-icon-mx.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mx.svg)}.flag-icon-my{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/my.svg)}.flag-icon-my.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/my.svg)}.flag-icon-mz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/mz.svg)}.flag-icon-mz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/mz.svg)}.flag-icon-na{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/na.svg)}.flag-icon-na.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/na.svg)}.flag-icon-nc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nc.svg)}.flag-icon-nc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nc.svg)}.flag-icon-ne{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ne.svg)}.flag-icon-ne.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ne.svg)}.flag-icon-nf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nf.svg)}.flag-icon-nf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nf.svg)}.flag-icon-ng{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ng.svg)}.flag-icon-ng.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ng.svg)}.flag-icon-ni{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ni.svg)}.flag-icon-ni.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ni.svg)}.flag-icon-nl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nl.svg)}.flag-icon-nl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nl.svg)}.flag-icon-no{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/no.svg)}.flag-icon-no.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/no.svg)}.flag-icon-np{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/np.svg)}.flag-icon-np.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/np.svg)}.flag-icon-nr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nr.svg)}.flag-icon-nr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nr.svg)}.flag-icon-nu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nu.svg)}.flag-icon-nu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nu.svg)}.flag-icon-nz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/nz.svg)}.flag-icon-nz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/nz.svg)}.flag-icon-om{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/om.svg)}.flag-icon-om.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/om.svg)}.flag-icon-pa{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pa.svg)}.flag-icon-pa.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pa.svg)}.flag-icon-pe{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pe.svg)}.flag-icon-pe.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pe.svg)}.flag-icon-pf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pf.svg)}.flag-icon-pf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pf.svg)}.flag-icon-pg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pg.svg)}.flag-icon-pg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pg.svg)}.flag-icon-ph{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ph.svg)}.flag-icon-ph.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ph.svg)}.flag-icon-pk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pk.svg)}.flag-icon-pk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pk.svg)}.flag-icon-pl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pl.svg)}.flag-icon-pl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pl.svg)}.flag-icon-pm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pm.svg)}.flag-icon-pm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pm.svg)}.flag-icon-pn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pn.svg)}.flag-icon-pn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pn.svg)}.flag-icon-pr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pr.svg)}.flag-icon-pr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pr.svg)}.flag-icon-ps{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ps.svg)}.flag-icon-ps.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ps.svg)}.flag-icon-pt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pt.svg)}.flag-icon-pt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pt.svg)}.flag-icon-pw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/pw.svg)}.flag-icon-pw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/pw.svg)}.flag-icon-py{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/py.svg)}.flag-icon-py.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/py.svg)}.flag-icon-qa{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/qa.svg)}.flag-icon-qa.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/qa.svg)}.flag-icon-re{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/re.svg)}.flag-icon-re.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/re.svg)}.flag-icon-ro{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ro.svg)}.flag-icon-ro.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ro.svg)}.flag-icon-rs{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/rs.svg)}.flag-icon-rs.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/rs.svg)}.flag-icon-ru{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ru.svg)}.flag-icon-ru.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ru.svg)}.flag-icon-rw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/rw.svg)}.flag-icon-rw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/rw.svg)}.flag-icon-sa{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sa.svg)}.flag-icon-sa.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sa.svg)}.flag-icon-sb{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sb.svg)}.flag-icon-sb.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sb.svg)}.flag-icon-sc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sc.svg)}.flag-icon-sc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sc.svg)}.flag-icon-sd{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sd.svg)}.flag-icon-sd.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sd.svg)}.flag-icon-se{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/se.svg)}.flag-icon-se.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/se.svg)}.flag-icon-sg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sg.svg)}.flag-icon-sg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sg.svg)}.flag-icon-sh{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sh.svg)}.flag-icon-sh.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sh.svg)}.flag-icon-si{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/si.svg)}.flag-icon-si.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/si.svg)}.flag-icon-sj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sj.svg)}.flag-icon-sj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sj.svg)}.flag-icon-sk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sk.svg)}.flag-icon-sk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sk.svg)}.flag-icon-sl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sl.svg)}.flag-icon-sl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sl.svg)}.flag-icon-sm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sm.svg)}.flag-icon-sm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sm.svg)}.flag-icon-sn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sn.svg)}.flag-icon-sn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sn.svg)}.flag-icon-so{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/so.svg)}.flag-icon-so.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/so.svg)}.flag-icon-sr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sr.svg)}.flag-icon-sr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sr.svg)}.flag-icon-ss{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ss.svg)}.flag-icon-ss.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ss.svg)}.flag-icon-st{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/st.svg)}.flag-icon-st.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/st.svg)}.flag-icon-sv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sv.svg)}.flag-icon-sv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sv.svg)}.flag-icon-sx{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sx.svg)}.flag-icon-sx.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sx.svg)}.flag-icon-sy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sy.svg)}.flag-icon-sy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sy.svg)}.flag-icon-sz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/sz.svg)}.flag-icon-sz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/sz.svg)}.flag-icon-tc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tc.svg)}.flag-icon-tc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tc.svg)}.flag-icon-td{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/td.svg)}.flag-icon-td.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/td.svg)}.flag-icon-tf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tf.svg)}.flag-icon-tf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tf.svg)}.flag-icon-tg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tg.svg)}.flag-icon-tg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tg.svg)}.flag-icon-th{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/th.svg)}.flag-icon-th.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/th.svg)}.flag-icon-tj{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tj.svg)}.flag-icon-tj.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tj.svg)}.flag-icon-tk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tk.svg)}.flag-icon-tk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tk.svg)}.flag-icon-tl{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tl.svg)}.flag-icon-tl.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tl.svg)}.flag-icon-tm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tm.svg)}.flag-icon-tm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tm.svg)}.flag-icon-tn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tn.svg)}.flag-icon-tn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tn.svg)}.flag-icon-to{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/to.svg)}.flag-icon-to.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/to.svg)}.flag-icon-tr{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tr.svg)}.flag-icon-tr.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tr.svg)}.flag-icon-tt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tt.svg)}.flag-icon-tt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tt.svg)}.flag-icon-tv{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tv.svg)}.flag-icon-tv.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tv.svg)}.flag-icon-tw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tw.svg)}.flag-icon-tw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tw.svg)}.flag-icon-tz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/tz.svg)}.flag-icon-tz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/tz.svg)}.flag-icon-ua{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ua.svg)}.flag-icon-ua.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ua.svg)}.flag-icon-ug{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ug.svg)}.flag-icon-ug.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ug.svg)}.flag-icon-um{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/um.svg)}.flag-icon-um.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/um.svg)}.flag-icon-us{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/us.svg)}.flag-icon-us.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/us.svg)}.flag-icon-uy{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/uy.svg)}.flag-icon-uy.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/uy.svg)}.flag-icon-uz{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/uz.svg)}.flag-icon-uz.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/uz.svg)}.flag-icon-va{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/va.svg)}.flag-icon-va.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/va.svg)}.flag-icon-vc{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vc.svg)}.flag-icon-vc.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vc.svg)}.flag-icon-ve{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ve.svg)}.flag-icon-ve.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ve.svg)}.flag-icon-vg{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vg.svg)}.flag-icon-vg.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vg.svg)}.flag-icon-vi{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vi.svg)}.flag-icon-vi.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vi.svg)}.flag-icon-vn{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vn.svg)}.flag-icon-vn.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vn.svg)}.flag-icon-vu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/vu.svg)}.flag-icon-vu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/vu.svg)}.flag-icon-wf{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/wf.svg)}.flag-icon-wf.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/wf.svg)}.flag-icon-ws{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ws.svg)}.flag-icon-ws.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ws.svg)}.flag-icon-ye{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/ye.svg)}.flag-icon-ye.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/ye.svg)}.flag-icon-yt{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/yt.svg)}.flag-icon-yt.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/yt.svg)}.flag-icon-za{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/za.svg)}.flag-icon-za.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/za.svg)}.flag-icon-zm{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/zm.svg)}.flag-icon-zm.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/zm.svg)}.flag-icon-zw{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/zw.svg)}.flag-icon-zw.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/zw.svg)}.flag-icon-es-ca{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/es-ca.svg)}.flag-icon-es-ca.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/es-ca.svg)}.flag-icon-es-ga{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/es-ga.svg)}.flag-icon-es-ga.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/es-ga.svg)}.flag-icon-eu{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/eu.svg)}.flag-icon-eu.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/eu.svg)}.flag-icon-gb-eng{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-eng.svg)}.flag-icon-gb-eng.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-eng.svg)}.flag-icon-gb-nir{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-nir.svg)}.flag-icon-gb-nir.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-nir.svg)}.flag-icon-gb-sct{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-sct.svg)}.flag-icon-gb-sct.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-sct.svg)}.flag-icon-gb-wls{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/gb-wls.svg)}.flag-icon-gb-wls.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/gb-wls.svg)}.flag-icon-un{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/un.svg)}.flag-icon-un.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/un.svg)}.flag-icon-xk{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/4x3/xk.svg)}.flag-icon-xk.flag-icon-squared{background-image:url(_content/Volo.Abp.AspNetCore.Components.WebAssembly.Theming/libs/flag-icon/flags/1x1/xk.svg)} +body:before{content:"mobile";display:none;visibility:hidden}@media(min-width:768px){body:before{content:"tablet"}}@media(min-width:992px){body:before{content:"desktop"}}@media(min-width:1200px){body:before{content:"widescreen"}}@media(min-width:1400px){body:before{content:"fullhd"}}hr.divider.divider-solid{border-top:var(--b-divider-thickness,1px) solid var(--b-divider-color,#999)}hr.divider.divider-dashed{border-top:var(--b-divider-thickness,1px) dashed var(--b-divider-color,#999)}hr.divider.divider-dotted{border-top:var(--b-divider-thickness,1px) dotted var(--b-divider-color,#999)}hr.divider.divider-text{position:relative;border:0;height:var(--b-divider-thickness,1px);background:var(--b-divider-color,#999)}hr.divider.divider-text::before{content:attr(data-content);display:inline-block;background:#fff;font-weight:bold;font-size:var(--b-divider-font-size,.85rem);color:var(--b-divider-color,#999);border-radius:30rem;padding:.2rem 2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.b-drop-zone{position:relative;transition:all 300ms cubic-bezier(.4,0,.2,1) 0ms}.b-drop-zone.b-drop-zone-drag-block>*{pointer-events:none}.b-drop-zone.b-drop-zone-drop-allowed{outline:1px solid var(--b-theme-success,"#00FF00")!important}.b-drop-zone.b-drop-zone-drop-not-allowed{outline:1px solid var(--b-theme-danger,"#FF0000")!important}.b-drop-zone-draggable:not(.draggable-preview-start){cursor:grab;user-select:none}.b-drop-zone-draggable:not(.draggable-preview-start):active{cursor:grabbing}.b-drop-zone .draggable-placeholder{outline:2px dashed var(--b-theme-primary,"#0000FF")!important;padding:1rem}.b-drop-zone .draggable-preview-start{height:20px;width:100%;position:absolute;top:0;left:0;z-index:1}.b-file-picker{display:inline-block;width:100%}.b-file-picker .b-text-drop{border:1px solid rgba(0,0,0,.15);margin-top:.5rem;display:block;text-align:center;font-size:.75rem;padding-top:.25rem;padding-bottom:.25rem}.b-file-picker .b-file-picker-file{min-width:25rem}.b-file-picker .b-file-picker-file span{display:block}.b-file-picker .b-file-picker-file .b-file-picker-file-size,.b-file-picker .b-file-picker-file .b-file-picker-file-status,.b-file-picker .b-file-picker-file .b-file-picker-file-relativepath{font-size:.75rem}.b-input-color-picker{padding:.6rem}.b-input-color-picker>.b-input-color-picker-preview{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-between}.b-input-color-picker>.b-input-color-picker-preview::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.b-input-color-picker>.b-input-color-picker-preview>.b-input-color-picker-curent-color{display:inline-block;width:100%;height:100%}.b-input-color-picker[aria-disabled=true]{opacity:.65}.progress.progress-xs{height:.25rem}.progress.progress-sm{height:.5rem}.progress.progress-md{height:1rem}.progress.progress-lg{height:1.5rem}.progress.progress-xl{height:2rem}.b-page-progress{width:100%;height:4px;z-index:9999;top:0;left:0;position:fixed;display:none}.b-page-progress .b-page-progress-indicator{width:0;height:100%;transition:height .3s;background-color:#000;transition:width 1s}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-indeterminate{width:30%;animation:running-page-progress 2s cubic-bezier(.4,0,.2,1) infinite}.b-page-progress.b-page-progress-active{display:block}@keyframes running-page-progress{0%{margin-left:0;margin-right:100%}50%{margin-left:25%;margin-right:0%}100%{margin-left:100%;margin-right:0}}.tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}.tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}.tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}.tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}.tippy-box[data-animation=scale][data-state=hidden]{transform:scale(.5);opacity:0}.tippy-box[data-theme~=blazorise]{background-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));color:var(--b-tooltip-color,#fff)}.tippy-box[data-theme~=blazorise][data-placement^=top]>.tippy-arrow::before{border-top-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise][data-placement^=left]>.tippy-arrow::before{border-left-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise][data-placement^=right]>.tippy-arrow::before{border-right-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.tippy-box[data-theme~=blazorise]>.tippy-svg-arrow{fill:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9))}.b-tooltip-inline{display:inline-block}.b-layout{display:flex;flex:auto;flex-direction:column}.b-layout.b-layout-root{height:100vh}.b-layout,.b-layout *{box-sizing:border-box}@keyframes spinner{0%{transform:translate3d(-50%,-50%,0) rotate(0deg)}100%{transform:translate3d(-50%,-50%,0) rotate(360deg)}}.b-layout>.b-layout-loading{z-index:9999;position:fixed;width:100%;height:100%;background:rgba(0,0,0,.3)}.b-layout>.b-layout-loading:before{animation:1s linear infinite spinner;border:solid 3px #eee;border-bottom-color:var(--b-theme-primary);border-radius:50%;height:40px;left:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0);width:40px;content:" "}.b-layout.b-layout-has-sider{flex-direction:row;min-height:0}.b-layout.b-layout-has-sider .b-layout{overflow-x:hidden}.b-layout-header,.b-layout-footer{flex:0 0 auto}.b-layout-header{color:rgba(0,0,0,.65)}.b-layout.b-layout-root.b-layout-has-sider>.b-layout-header-fixed,.b-layout.b-layout-root.b-layout-has-sider>.b-layout>.b-layout-header-fixed{position:sticky;top:0;width:100%;flex:0}.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed,.b-layout.b-layout-root:not(.b-layout-has-sider)>.b-layout .b-layout-header-fixed{position:fixed;top:0;left:0;right:0;flex:0}.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed+.b-layout-content,.b-layout.b-layout-root:not(.b-layout-has-sider)>.b-layout .b-layout-header-fixed+.b-layout-content{margin-top:var(--b-bar-horizontal-height,auto)}.b-layout.b-layout-root>.b-layout-header.b-layout-header-fixed+.b-layout.b-layout-has-sider{margin-top:var(--b-bar-horizontal-height,auto)}.b-layout-footer{color:rgba(0,0,0,.65)}.b-layout-footer-fixed{position:sticky;z-index:1;bottom:0;flex:0}.b-layout-content{flex:1}.b-layout-sider{display:flex;position:relative;background:#001529}.b-layout-sider-content{position:sticky;top:0;z-index:2}.b-layout-header .navbar{line-height:inherit}.b-bar-horizontal[data-collapse=hide]{flex-wrap:nowrap}.b-bar-horizontal[data-collapse=hide][data-broken=true]{height:auto}.b-bar-horizontal[data-broken=false]{height:auto}.b-layout>.b-layout-header .b-bar-horizontal[data-collapse=hide][data-broken=true]{height:var(--b-bar-horizontal-height,auto)}.b-layout>.b-layout-header .b-bar-horizontal[data-broken=false]{height:var(--b-bar-horizontal-height,auto)}.b-bar-initial{display:none!important}.b-bar-vertical-inline,.b-bar-vertical-popout,.b-bar-vertical-small{display:flex;flex-direction:column;flex-wrap:nowrap;position:sticky;top:0;padding:0;min-width:var(--b-vertical-bar-width,230px);max-width:var(--b-vertical-bar-width,230px);width:var(--b-vertical-bar-width,230px);box-shadow:2px 0 6px rgba(0,21,41,.35);height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.b-bar-vertical-inline:not(.b-bar-initial),.b-bar-vertical-popout:not(.b-bar-initial),.b-bar-vertical-small:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out}.b-bar-vertical-inline .b-bar-menu,.b-bar-vertical-popout .b-bar-menu,.b-bar-vertical-small .b-bar-menu{width:100%;display:flex;flex:1;justify-content:space-between;flex-direction:column;align-self:stretch}.b-bar-vertical-inline .b-bar-brand,.b-bar-vertical-popout .b-bar-brand,.b-bar-vertical-small .b-bar-brand{width:100%;display:flex;height:var(--b-vertical-bar-brand-height,64px);min-height:var(--b-vertical-bar-brand-height,64px)}.b-bar-vertical-inline .b-bar-toggler-inline,.b-bar-vertical-popout .b-bar-toggler-inline,.b-bar-vertical-small .b-bar-toggler-inline{height:var(--b-vertical-bar-brand-height,64px);padding:12px;display:inline-flex;cursor:pointer;position:absolute;right:0}.b-bar-vertical-inline .b-bar-toggler-inline>*,.b-bar-vertical-popout .b-bar-toggler-inline>*,.b-bar-vertical-small .b-bar-toggler-inline>*{margin:auto}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle){display:flex;position:fixed;left:var(--b-vertical-bar-width,230px);border-radius:0 10px 10px 0;border:0;width:10px;height:40px;padding:5px;align-items:center;box-shadow:2px 0 6px rgba(0,21,41,.35);cursor:pointer}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial),.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial),.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial){transition:width 200ms ease-in-out,left 200ms ease-in-out}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*{margin:auto;display:none}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover{width:45px}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*{display:block}.b-bar-vertical-inline .b-bar-item,.b-bar-vertical-popout .b-bar-item,.b-bar-vertical-small .b-bar-item{margin:auto;flex-grow:1;min-height:40px}.b-bar-vertical-inline .b-bar-item .b-bar-icon,.b-bar-vertical-popout .b-bar-item .b-bar-icon,.b-bar-vertical-small .b-bar-item .b-bar-icon{font-size:1.25rem;vertical-align:middle;margin:3px;display:inline-block}.b-bar-vertical-inline .b-bar-start,.b-bar-vertical-popout .b-bar-start,.b-bar-vertical-small .b-bar-start{width:100%;display:block}.b-bar-vertical-inline .b-bar-end,.b-bar-vertical-popout .b-bar-end,.b-bar-vertical-small .b-bar-end{padding-bottom:1rem;width:100%;padding-top:1rem;display:block}.b-bar-vertical-inline .b-bar-end .b-bar-dropdown,.b-bar-vertical-popout .b-bar-end .b-bar-dropdown,.b-bar-vertical-small .b-bar-end .b-bar-dropdown{position:relative}.b-bar-vertical-inline .b-bar-end .b-bar-dropdown-menu-container,.b-bar-vertical-popout .b-bar-end .b-bar-dropdown-menu-container,.b-bar-vertical-small .b-bar-end .b-bar-dropdown-menu-container{bottom:0}.b-bar-vertical-inline .b-bar-link,.b-bar-vertical-popout .b-bar-link,.b-bar-vertical-small .b-bar-link{display:block;width:100%;text-decoration:none;padding:.5rem .5rem .5rem 1.5rem;cursor:pointer;overflow-x:hidden;line-height:1.5rem;vertical-align:middle;transition:font-size 150ms ease-in}.b-bar-vertical-inline .b-bar-label,.b-bar-vertical-popout .b-bar-label,.b-bar-vertical-small .b-bar-label{background:transparent;color:#adb5bd;padding:.375rem 1.25rem;font-size:.75rem;text-overflow:ellipsis;overflow-x:hidden}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(225deg);transform:rotate(225deg);top:.7rem}.b-bar-vertical-inline .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-popout .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-small .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);top:.5rem}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu{display:none;background:inherit;color:inherit;float:none;padding:5px 0}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true],.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true],.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true]{display:block}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item{position:relative;color:inherit;transition:background 100ms ease-in-out,color 100ms ease-in-out;text-decoration:none;display:block;width:100%;overflow-x:hidden}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i{margin-right:.3rem}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu:before,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu:before,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu:before{background:inherit;box-shadow:none}.b-bar-vertical-inline .b-bar-mobile-toggle,.b-bar-vertical-popout .b-bar-mobile-toggle,.b-bar-vertical-small .b-bar-mobile-toggle{right:20px;margin:auto;display:none}.b-bar-vertical-inline .b-bar-item-multi-line,.b-bar-vertical-popout .b-bar-item-multi-line,.b-bar-vertical-small .b-bar-item-multi-line{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:var(--b-bar-item-lines,2);white-space:normal!important;overflow:hidden;text-overflow:ellipsis}.b-bar-vertical-inline.b-bar-dark,.b-bar-vertical-popout.b-bar-dark,.b-bar-vertical-small.b-bar-dark{background:var(--b-bar-dark-background,#001529);color:var(--b-bar-dark-color,rgba(255,255,255,.5))}.b-bar-vertical-inline.b-bar-dark .b-bar-brand,.b-bar-vertical-popout.b-bar-dark .b-bar-brand,.b-bar-vertical-small.b-bar-dark .b-bar-brand{background:var(--b-bar-brand-dark-background,rgba(255,255,255,.025))}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link{color:#fff}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link.active,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link.active,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link.active{color:#fff;background:inherit}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link:hover,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link:hover{color:#fff;background:inherit}.b-bar-vertical-inline.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle){background:var(--b-bar-dark-background,#001529);color:var(--b-bar-dark-color,rgba(255,255,255,.5))}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu{background:var(--b-bar-dropdown-dark-background,#000c17)}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active{color:var(--b-bar-item-dark-active-color,#fff);background:var(--b-bar-item-dark-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover{color:var(--b-bar-item-dark-hover-color,#fff);background:var(--b-bar-item-dark-hover-background,rgba(255,255,255,.3))}.b-bar-vertical-inline.b-bar-dark .b-bar-link,.b-bar-vertical-popout.b-bar-dark .b-bar-link,.b-bar-vertical-small.b-bar-dark .b-bar-link{color:inherit}.b-bar-vertical-inline.b-bar-dark .b-bar-link.active,.b-bar-vertical-popout.b-bar-dark .b-bar-link.active,.b-bar-vertical-small.b-bar-dark .b-bar-link.active{color:var(--b-bar-item-dark-active-color,#fff);background:var(--b-bar-item-dark-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-dark .b-bar-link:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-link:hover,.b-bar-vertical-small.b-bar-dark .b-bar-link:hover{color:var(--b-bar-item-dark-hover-color,#fff);background:var(--b-bar-item-dark-hover-background,rgba(255,255,255,.3))}.b-bar-vertical-inline.b-bar-light,.b-bar-vertical-popout.b-bar-light,.b-bar-vertical-small.b-bar-light{background:var(--b-bar-light-background,#fff);color:var(--b-bar-light-color,rgba(0,0,0,.7))}.b-bar-vertical-inline.b-bar-light .b-bar-brand,.b-bar-vertical-popout.b-bar-light .b-bar-brand,.b-bar-vertical-small.b-bar-light .b-bar-brand{background:var(--b-bar-brand-light-background,rgba(0,0,0,.025))}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link{color:#000}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link.active,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link.active,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link.active{background:inherit}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link:hover,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link:hover,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link:hover{background:inherit}.b-bar-vertical-inline.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle){background:var(--b-bar-brand-light-background,#fff);color:var(--b-bar-light-color,rgba(0,0,0,.7))}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu{background:var(--b-bar-dropdown-light-background,#f2f2f2)}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active{color:var(--b-bar-item-light-active-color,#000);background:var(--b-bar-item-light-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover{color:var(--b-bar-item-light-hover-color,#000);background:var(--b-bar-item-light-hover-background,rgba(0,0,0,.3))}.b-bar-vertical-inline.b-bar-light .b-bar-link,.b-bar-vertical-popout.b-bar-light .b-bar-link,.b-bar-vertical-small.b-bar-light .b-bar-link{color:inherit}.b-bar-vertical-inline.b-bar-light .b-bar-link.active,.b-bar-vertical-popout.b-bar-light .b-bar-link.active,.b-bar-vertical-small.b-bar-light .b-bar-link.active{color:var(--b-bar-item-light-active-color,#000);background:var(--b-bar-item-light-active-background,#0288d1)}.b-bar-vertical-inline.b-bar-light .b-bar-link:hover,.b-bar-vertical-popout.b-bar-light .b-bar-link:hover,.b-bar-vertical-small.b-bar-light .b-bar-link:hover{color:var(--b-bar-item-light-hover-color,#000);background:var(--b-bar-item-light-hover-background,rgba(0,0,0,.3))}.b-bar-vertical-small,.b-bar-vertical-inline[data-collapse=small],.b-bar-vertical-popout[data-collapse=small]{width:var(--b-vertical-bar-small-width,64px);min-width:var(--b-vertical-bar-small-width,64px)}.b-bar-vertical-small:not(.b-bar-initial),.b-bar-vertical-inline[data-collapse=small]:not(.b-bar-initial),.b-bar-vertical-popout[data-collapse=small]:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out}.b-bar-vertical-small .b-bar-toggler-inline,.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-inline,.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-inline{position:relative;width:100%}.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle){left:var(--b-vertical-bar-small-width,64px)}.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before{display:none}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container{z-index:100;max-height:50vh;position:absolute!important;margin:-42px 5px 0 5px;display:flex;width:var(--b-vertical-bar-popout-menu-width,180px);left:var(--b-vertical-bar-small-width,64px)}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-small-width,64px);left:unset}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);border-radius:3px;overflow-y:auto;overflow-x:hidden;flex:1 100%}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 1.5rem}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before{position:absolute;top:0;left:-7px;right:0;bottom:0;width:100%;height:100%;opacity:.0001;content:" ";z-index:-1}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before{left:unset;right:-7px}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container{left:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(135deg);transform:rotate(135deg);right:.8rem}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(315deg);transform:rotate(315deg)}@keyframes b-bar-link-small{to{text-align:center;padding-left:0;padding-right:0}}.b-bar-vertical-small .b-bar-item>.b-bar-link,.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-link,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-link,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-link,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link{animation:b-bar-link-small forwards;animation-delay:170ms;font-size:0;transition:font-size 100ms ease-out}.b-bar-vertical-small .b-bar-item>.b-bar-link:after,.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-link:after,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-link:after,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link:after,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-link:after,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link:after{display:none}.b-bar-vertical-small .b-bar-label,.b-bar-vertical-inline[data-collapse=small] .b-bar-label,.b-bar-vertical-popout[data-collapse=small] .b-bar-label{text-align:center}.b-bar-vertical-inline:not([data-collapse]){overflow-y:auto;overflow-x:hidden}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container{position:relative}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{position:relative!important;border:0;border-radius:0;box-shadow:none}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 3rem}.b-bar-vertical-inline:not([data-collapse]) .b-bar-brand .b-bar-link{display:flex;align-items:center}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(135deg);transform:rotate(135deg);right:.8rem}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container{z-index:100;max-height:50vh;position:absolute!important;margin:-42px 5px 0 5px;display:flex;width:var(--b-vertical-bar-popout-menu-width,180px);left:var(--b-vertical-bar-width,230px)}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-width,230px);left:unset}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);border-radius:3px;overflow-y:auto;overflow-x:hidden;flex:1 100%}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 1.5rem}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before{position:absolute;top:0;left:-7px;right:0;bottom:0;width:100%;height:100%;opacity:.0001;content:" ";z-index:-1}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before{left:unset;right:-7px}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container{left:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-popout-menu-width,180px)}.b-bar-vertical-inline[data-collapse=hide],.b-bar-vertical-popout[data-collapse=hide],.b-bar-vertical-small[data-collapse=hide]{width:0;min-width:0;overflow-y:hidden;visibility:hidden}.b-bar-vertical-inline[data-collapse=hide]:not(.b-bar-initial),.b-bar-vertical-popout[data-collapse=hide]:not(.b-bar-initial),.b-bar-vertical-small[data-collapse=hide]:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out,visibility 100ms}.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-inline,.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-inline,.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-inline{display:none}.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle){visibility:visible;left:0}@media only screen and (max-width:576px){.b-bar-vertical-inline:not([data-collapse]){min-width:100vw}.b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-inline:not(.b-bar-mobile-toggle){display:none}.b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-popout:not(.b-bar-mobile-toggle){left:100vw}.b-bar-vertical-inline:not([data-collapse]) .b-bar-mobile-toggle{display:flex}}.b-table.table{position:relative}.b-table.table .b-table-resizer{position:absolute;top:0;right:0;width:5px;cursor:col-resize;user-select:none;z-index:1}.b-table.table .b-table-resizer:hover,.b-table.table .b-table-resizing{cursor:col-resize!important;border-right:2px solid var(--b-theme-primary,#00f)}.b-table.table .b-table-resizing{cursor:col-resize!important}thead tr th{position:relative}.b-character-casing-lower{text-transform:lowercase}.b-character-casing-upper{text-transform:uppercase}.b-character-casing-title{text-transform:lowercase}.b-character-casing-title::first-letter {text-transform:uppercase}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:contents}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:0;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:transparent;cursor:default;border:0}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.flatpickr-monthSelect-months{margin:10px 1px 3px 1px;flex-wrap:wrap}.flatpickr-monthSelect-month{background:none;border:0;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;display:inline-block;font-weight:400;margin:.5px;justify-content:center;padding:10px;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;text-align:center;width:33%}.flatpickr-monthSelect-month.disabled{color:#eee}.flatpickr-monthSelect-month.disabled:hover,.flatpickr-monthSelect-month.disabled:focus{cursor:not-allowed;background:none!important}.flatpickr-monthSelect-theme-dark{background:#3f4458}.flatpickr-monthSelect-theme-dark .flatpickr-current-month input.cur-year{color:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-prev-month,.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-next-month{color:#fff;fill:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month{color:rgba(255,255,255,.95)}.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:#e6e6e6;cursor:pointer;outline:0}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus{background:#646c8c;border-color:#646c8c}.flatpickr-monthSelect-month.selected{background-color:#569ff7;color:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected{background:#80cbc4;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#80cbc4} /*! Pickr 1.8.2 MIT | https://github.com/Simonwep/pickr */ -.pickr{position:relative;overflow:visible;transform:translateY(0)}.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, ') no-repeat center;background-size:0;transition:all .3s}.pickr .pcr-button::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pickr .pcr-button::before{z-index:initial}.pickr .pcr-button::after{position:absolute;content:"";top:0;left:0;height:100%;width:100%;transition:background .3s;background:var(--pcr-color);border-radius:.15em}.pickr .pcr-button.clear{background-size:70%}.pickr .pcr-button.clear::before{opacity:0}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px var(--pcr-color)}.pickr .pcr-button.disabled{cursor:not-allowed}.pickr *,.pcr-app *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pickr input:focus,.pickr input.pcr-active,.pickr button:focus,.pickr button.pcr-active,.pcr-app input:focus,.pcr-app input.pcr-active,.pcr-app button:focus,.pcr-app button.pcr-active{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px var(--pcr-color)}.pickr .pcr-palette,.pickr .pcr-slider,.pcr-app .pcr-palette,.pcr-app .pcr-slider{transition:box-shadow .3s}.pickr .pcr-palette:focus,.pickr .pcr-slider:focus,.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(0,0,0,.25)}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em}.pcr-app .pcr-swatches.pcr-last{margin:0}@supports (display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .pcr-swatches>button::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .pcr-swatches>button::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--pcr-color);border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .pcr-swatches>button:hover{filter:brightness(1.05)}.pcr-app .pcr-swatches>button:not(.pcr-active){box-shadow:none}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em 0 -.2em}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em}.pcr-app .pcr-interaction input:hover{filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::-moz-selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4}.pcr-app .pcr-interaction .pcr-save,.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{color:#fff;width:auto}.pcr-app .pcr-interaction .pcr-save,.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{color:#fff}.pcr-app .pcr-interaction .pcr-save:hover,.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover{filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-cancel{background:#f44250}.pcr-app .pcr-interaction .pcr-clear:focus,.pcr-app .pcr-interaction .pcr-cancel:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pcr-app .pcr-selection .pcr-color-palette,.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab}.pcr-app .pcr-selection .pcr-color-palette:active,.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active{cursor:grabbing;cursor:-webkit-grabbing}.pcr-app[data-theme=monolith]{width:14.25em;max-width:95vw;padding:.8em}.pcr-app[data-theme=monolith] .pcr-selection{display:flex;flex-direction:column;justify-content:space-between;flex-grow:1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview{position:relative;z-index:1;width:100%;height:1em;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:.5em}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color{cursor:pointer;transition:background-color .3s,box-shadow .3s;border-radius:.15em 0 0 .15em;z-index:2}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color{border-radius:0 .15em .15em 0}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color{background:var(--pcr-color);width:50%;height:100%}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette{width:100%;height:8em;z-index:1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette{border-radius:.15em;width:100%;height:100%}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity{height:.5em;margin-top:.75em}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-picker{top:50%;transform:translateY(-50%)}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider{flex-grow:1;border-radius:50em}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(to right,transparent,#000),url('data:image/svg+xml;utf8, ');background-size:100%,.25em} -@keyframes fadeIn{0%{opacity:0}100%{opacity:1}0%{opacity:0}}@keyframes slideIn{0%{transform:translateY(1rem);opacity:0}100%{transform:translateY(0);opacity:1}0%{transform:translateY(1rem);opacity:0}}.badge-close{cursor:pointer}.badge-close::before{height:2px;width:50%}.badge-close::after{height:50%;width:2px}.badge-close:hover,.badge-close:focus{background-color:rgba(10,10,10,.3)}.badge-close:active{background-color:rgba(10,10,10,.4)}.navbar-nav .nav-item:hover{cursor:pointer}.navbar-nav .nav-link:hover{cursor:pointer}.nav .nav-link:hover{cursor:pointer}.nav-item{position:relative}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item{width:100%}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item:empty::after{margin-left:0}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item::after{transform:rotate(-90deg);position:absolute;right:10%;top:45%}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-menu{top:0;left:100%;margin-left:0;margin-right:.1rem}.btn-group>.b-tooltip:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.b-tooltip:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group.btn-group-toggle .btn.active.disabled{opacity:1}.btn-group-vertical>.b-tooltip:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.b-tooltip:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-xs,.btn-group-xs>.btn{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.btn-md,.btn-group-md>.btn{padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem}.btn-xl,.btn-group-xl>.btn{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.card-deck .card{height:100%}.table-fixed-header .table thead tr th.dropdown-table-fixed-header-visible{z-index:11}.dropdown-menu-position-strategy{width:max-content;top:0;left:0}.dropdown-menu-position-strategy-absolute{position:absolute}.dropdown-menu-position-strategy-fixed{position:fixed}.dropdown-toggle.dropdown-toggle-hidden::after{content:none !important}.dropdown-toggle.dropdown-toggle-hidden::before{content:none !important}.dropdown-menu.show{animation-duration:.3s;animation-fill-mode:both;animation-name:fadeIn}.dropdown-menu a:not([href]).dropdown-item:not(.disabled){cursor:pointer}.dropdown-menu.dropdown-menu-scrollable{max-height:var(--dropdown-list-menu-max-height,200px);overflow-y:scroll}.b-is-autocomplete .dropdown-menu{width:100%;max-height:var(--autocomplete-menu-max-height,200px);overflow-y:scroll}.b-is-autocomplete .dropdown-menu .dropdown-item.focus{color:#1e2125 !important;background-color:#e9ecef}.b-is-autocomplete.b-is-autocomplete-multipleselection{display:flex;align-items:center;flex-wrap:wrap;padding-top:.25rem;max-width:100%;width:100%;cursor:text;min-height:calc(1.5em + .75rem + 2px);height:auto;border:1px solid #ced4da;border-radius:.25rem}.b-is-autocomplete.b-is-autocomplete-multipleselection>input.form-control{display:inline-block;border:none;box-shadow:none;outline:none;background-color:transparent;max-width:inherit;width:auto;flex-grow:1}.b-is-autocomplete.b-is-autocomplete-multipleselection>.badge{margin-bottom:.25rem;line-height:1.5;flex-grow:initial}.b-is-autocomplete.b-is-autocomplete-multipleselection .dropdown-menu{top:100%}.b-is-autocomplete.b-is-autocomplete-multipleselection.focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.dropdown.btn-group>.btn.dropdown-toggle-split+.dropdown-menu.show{top:100%}.dropdown{position:relative}.dropdown.dropdown-disabled.b-is-autocomplete{background-color:var(--b-theme-light,#e9ecef)}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend){position:relative}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle{width:100%}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle:empty::after{margin-left:0}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle::after{position:absolute;right:10%;top:45%}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-menu{top:auto;left:auto;bottom:auto;right:auto}.dropdown>.dropdown-menu>.dropdown.dropup .dropdown-toggle::after,.dropdown>.dropdown-menu>.dropdown.dropend .dropdown-toggle::after{vertical-align:0;position:absolute;right:10%;top:45%}.dropdown>.dropdown-menu>.dropdown.dropstart .dropdown-toggle::after{vertical-align:0}.dropdown.dropup>.dropdown-menu{top:auto;bottom:auto;margin-top:0;margin-bottom:.125rem}.dropdown.dropup>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropdown.dropup>.dropdown-toggle:empty::after{margin-left:0}.dropdown.dropend>.dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropdown.dropend>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropdown.dropend>.dropdown-toggle:empty::after{margin-left:0}.dropdown.dropend>.dropdown-toggle::after{vertical-align:0}.dropdown.dropstart>.dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropdown.dropstart>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropdown.dropstart>.dropdown-toggle::after{display:none}.dropdown.dropstart>.dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropdown.dropstart>.dropdown-toggle:empty::after{margin-left:0}.dropdown.dropstart>.dropdown-toggle::before{vertical-align:0}.dropdown-menu-start{right:auto;left:0}.dropdown-menu-end{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{right:auto;left:0}.dropdown-menu-sm-end{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{right:auto;left:0}.dropdown-menu-md-end{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{right:auto;left:0}.dropdown-menu-lg-end{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{right:auto;left:0}.dropdown-menu-xl-end{right:0;left:auto}}hr.divider.divider-text{position:unset}hr.divider.divider-text::before{top:unset}.snackbar-stack{z-index:1059 !important}.snackbar{z-index:1060 !important}.figure.figure-is-16x16{height:16px;width:16px}.figure.figure-is-24x24{height:24px;width:24px}.figure.figure-is-32x32{height:32px;width:32px}.figure.figure-is-48x48{height:48px;width:48px}.figure.figure-is-64x64{height:64px;width:64px}.figure.figure-is-96x96{height:96px;width:96px}.figure.figure-is-128x128{height:128px;width:128px}.figure.figure-is-256x256{height:256px;width:256px}.figure.figure-is-512x512{height:512px;width:512px}.form-check>.form-check-input.form-check-input-pointer,.form-check>.form-check-label.form-check-label-pointer,.form-switch>.form-check-input.form-check-input-pointer,.form-switch>.form-check-label.form-check-label-pointer{cursor:pointer}.form-control-plaintext.form-control-xs,.form-control-plaintext.form-control-md,.form-control-plaintext.form-control-xl{padding-right:0;padding-left:0}.form-control-xs{height:calc(1.5em + .3rem + 2px);padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.form-control-md{height:calc(1.5em + .94rem + 2px);padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem}.form-control-xl{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem}.form-select-xs{height:calc(1.5em + .3rem + 2px);padding-top:.15rem;padding-bottom:.15rem;padding-left:.5rem;font-size:.75rem}.form-select-md{height:calc(1.5em + .94rem + 2px);padding-top:.47rem;padding-bottom:.47rem;padding-left:1rem;font-size:1.125rem}.form-select-xl{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.5rem}.input-group>.b-numeric:not(:last-child)>input,.input-group>div.flatpickr-wrapper:not(:last-child)>input{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.b-numeric:not(:first-child)>input,.input-group>div.flatpickr-wrapper:not(:first-child)>input{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-xs>.form-control:not(textarea),.input-group-xs>.form-select,.input-group-xs>.b-numeric>input{height:calc(1.5em + .3rem + 2px)}.input-group-xs>.form-control,.input-group-xs>.form-select,.input-group-xs>.input-group-text,.input-group-xs>.btn,.input-group-xs>.b-numeric>input{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.input-group-sm>.b-numeric>input{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.b-numeric>input{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-md>.form-control:not(textarea),.input-group-md>.form-select,.input-group-md>.b-numeric>input{height:calc(1.5em + .94rem + 2px)}.input-group-md>.form-control,.input-group-md>.form-select,.input-group-md>.input-group-text,.input-group-md>.btn,.input-group-md>.b-numeric>input{padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem}.input-group-lg>.b-numeric>input{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.b-numeric>input{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-xl>.form-control:not(textarea),.input-group-xl>.form-select,.input-group-xl>.b-numeric>input{height:calc(1.5em + 1rem + 2px)}.input-group-xl>.form-control,.input-group-xl>.form-select,.input-group-xl>.input-group-text,.input-group-xl>.btn,.input-group-xl>.b-numeric>input{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem}.input-group-xs>.form-select,.input-group-md>.form-select,.input-group-xl>.form-select{padding-right:1.75rem}.input-group:not(.has-validation)>.dropdown:first-child>.btn:not(:last-child).dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown>.btn:not(:last-child).dropdown-toggle,.input-group.has-validation>.dropdown>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>div.flatpickr-wrapper>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0}.form-check>.form-check-input.form-check-input-xs{width:.7rem;height:.7rem}.form-check>.form-check-input.form-check-input-xs+.form-check-label{line-height:"normal";padding-left:0}.form-check>.form-check-input.form-check-input-sm{width:.8rem;height:.8rem}.form-check>.form-check-input.form-check-input-sm+.form-check-label{line-height:"normal";padding-left:0}.form-check>.form-check-input.form-check-input-md{width:1.25rem;height:1.25rem}.form-check>.form-check-input.form-check-input-md+.form-check-label{line-height:1.7rem;padding-left:3px}.form-check>.form-check-input.form-check-input-lg{width:1.55rem;height:1.55rem}.form-check>.form-check-input.form-check-input-lg+.form-check-label{line-height:2rem;padding-left:6px}.form-check>.form-check-input.form-check-input-xl{width:1.85rem;height:1.85rem}.form-check>.form-check-input.form-check-input-xl+.form-check-label{line-height:2.5rem;padding-left:10px}select[readonly]{pointer-events:none}select[readonly] option,select[readonly] optgroup{display:none}.b-numeric{position:relative;width:100%}.b-numeric:hover>.b-numeric-handler-wrap{opacity:1}.b-numeric input:disabled+.b-numeric-handler-wrap,.b-numeric input:read-only+.b-numeric-handler-wrap{display:none}.b-numeric-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#fff;border:1px solid #d9d9d9;opacity:0}.input-group .b-numeric{-ms-flex:1 1 auto;flex:1 1 auto;width:1%}.b-numeric-handler-wrap .b-numeric-handler.b-numeric-handler-down{border-top:1px solid #d9d9d9}.b-numeric-handler{position:relative;display:flex;width:100%;height:50%;overflow:hidden;color:rgba(0,0,0,.45);font-weight:700;line-height:0;align-items:center;justify-content:center}.b-numeric-handler.btn{padding:0}.form-control+.b-numeric-handler-wrap{font-size:1rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.form-control-xs+.b-numeric-handler-wrap{font-size:.75rem;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem}.form-control-xs+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:.75rem}.form-control-sm+.b-numeric-handler-wrap{font-size:.875rem;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.form-control-sm+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:.875rem}.form-control-md+.b-numeric-handler-wrap{font-size:1.125rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.form-control-md+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.125rem}.form-control-lg+.b-numeric-handler-wrap{font-size:1.25rem;border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.form-control-lg+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.25rem}.form-control-xl+.b-numeric-handler-wrap{font-size:1.5rem;border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.form-control-xl+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.5rem}.custom-file-label{overflow:hidden}input[readonly][type=range],input[readonly=readonly][type=range]{pointer-events:none}input[readonly][type=range]::-webkit-slider-thumb,input[readonly=readonly][type=range]::-webkit-slider-thumb{pointer-events:none}input[readonly][type=range]::-moz-range-thumb,input[readonly=readonly][type=range]::-moz-range-thumb{pointer-events:none}input[readonly][type=range]::-ms-thumb,input[readonly=readonly][type=range]::-ms-thumb{pointer-events:none}.form-group{margin-bottom:1rem}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .form-select{align-items:center;justify-content:center}.form-inline .form-check-label{margin-bottom:0}}.b-input-color-picker{padding:.5rem .6rem}.b-input-color-picker>.b-input-color-picker-preview{height:.55rem}.focus-trap{display:contents}.form-file input[type=file]{margin-left:-2px !important}.form-file input[type=file]::-webkit-file-upload-button{display:none}.form-file input[type=file]::file-selector-button{display:none}.form-label-required:after{content:" *";color:var(--b-theme-danger,#dc3545)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media(min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.jumbotron.jumbotron-primary{background-color:#007bff;color:#fff}.jumbotron.jumbotron-secondary{background-color:#6c757d;color:#fff}.jumbotron.jumbotron-success{background-color:#28a745;color:#fff}.jumbotron.jumbotron-info{background-color:#17a2b8;color:#fff}.jumbotron.jumbotron-warning{background-color:#ffc107;color:#212529}.jumbotron.jumbotron-danger{background-color:#dc3545;color:#fff}.jumbotron.jumbotron-light{background-color:#f8f9fa;color:#212529}.jumbotron.jumbotron-dark{background-color:#343a40;color:#fff}.jumbotron.jumbotron-link{background-color:#3273dc;color:#fff}.b-layout-header-fixed{z-index:1030}.b-layout-footer-fixed{z-index:1030}.b-layout-sider-content{z-index:1031}li.list-group-item-action{cursor:pointer}.list-group-scrollable{overflow-y:scroll}.media{display:flex;align-items:flex-start}.media-body{flex:1}.modal.fade{transition:opacity var(--modal-animation-duration,300ms) linear}.modal.fade .modal-dialog{transition:-webkit-transform var(--modal-animation-duration,300ms) ease-out;transition:transform var(--modal-animation-duration,300ms) ease-out}.offcanvas-footer{position:sticky;bottom:0;top:auto;display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.page-item:not(.disabled) .page-link{cursor:pointer}.pagination-xs .page-link{padding:.125rem .25rem;font-size:.75rem;line-height:1.5}.pagination-xs .page-item:first-child .page-link{border-top-left-radius:.15rem;border-bottom-left-radius:.15rem}.pagination-xs .page-item:last-child .page-link{border-top-right-radius:.15rem;border-bottom-right-radius:.15rem}.pagination-md .page-link{padding:.625rem 1.25rem;font-size:1.125rem;line-height:1.5}.pagination-md .page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.pagination-md .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-xl .page-link{padding:1rem 2rem;font-size:1.5rem;line-height:1.5}.pagination-xl .page-item:first-child .page-link{border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.pagination-xl .page-item:last-child .page-link{border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-primary{background-color:#007bff}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-secondary{background-color:#6c757d}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-success{background-color:#28a745}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-info{background-color:#17a2b8}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-warning{background-color:#ffc107}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-danger{background-color:#dc3545}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-light{background-color:#f8f9fa}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-dark{background-color:#343a40}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-link{background-color:#3273dc}.rating:not(.rating-disabled):not(.rating-readonly):hover .rating-item{cursor:pointer}.rating.rating-disabled{opacity:.65}.rating .rating-item.rating-item-primary{color:#007bff}.rating .rating-item.rating-item-secondary{color:#6c757d}.rating .rating-item.rating-item-success{color:#28a745}.rating .rating-item.rating-item-info{color:#17a2b8}.rating .rating-item.rating-item-warning{color:#ffc107}.rating .rating-item.rating-item-danger{color:#dc3545}.rating .rating-item.rating-item-light{color:#f8f9fa}.rating .rating-item.rating-item-dark{color:#343a40}.rating .rating-item.rating-item-link{color:#3273dc}.rating .rating-item.rating-item-hover{opacity:.7}.gap-y-0{row-gap:0 !important}.gap-x-0{column-gap:0 !important}.gap-y-1{row-gap:.25rem !important}.gap-x-1{column-gap:.25rem !important}.gap-y-2{row-gap:.5rem !important}.gap-x-2{column-gap:.5rem !important}.gap-y-3{row-gap:1rem !important}.gap-x-3{column-gap:1rem !important}.gap-y-4{row-gap:1.5rem !important}.gap-x-4{column-gap:1.5rem !important}.gap-y-5{row-gap:3rem !important}.gap-x-5{column-gap:3rem !important}.steps{padding:0;margin:0;list-style:none;display:flex;overflow-x:auto}.steps .step:first-child{margin-left:auto}.steps .step:last-child{margin-right:auto}.step:first-of-type .step-circle::before{display:none}.step:last-of-type .step-container{padding-right:0}.step-container{box-sizing:content-box;display:flex;align-items:center;flex-direction:column;width:5rem;min-width:5rem;max-width:5rem;padding-top:.5rem;padding-right:1rem}.step-circle{position:relative;display:flex;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;color:#adb5bd;border:2px solid #adb5bd;border-radius:100%;background-color:#fff}.step-circle::before{content:"";display:block;position:absolute;top:50%;left:-2px;width:calc(5rem + 1rem - 1.5rem);height:2px;transform:translate(-100%,-50%);color:#adb5bd;background-color:currentColor}.step-text{color:#adb5bd;word-break:keep-all;text-align:center;margin-top:.25em}.step-completed .step-circle{color:#fff;background-color:#28a745;border-color:#28a745}.step-completed .step-circle::before{color:#28a745}.step-completed .step-text{color:#28a745}.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-active .step-circle::before{color:#007bff}.step-active .step-text{color:#007bff}.step-primary .step-circle{color:#007bff;border-color:#007bff}.step-primary.step-completed .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-primary.step-completed .step-circle::before{color:#007bff}.step-primary.step-completed .step-text{color:#007bff}.step-primary.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-primary.step-active::before{color:#007bff}.step-primary.step-active .step-text{color:#007bff}.step-secondary .step-circle{color:#6c757d;border-color:#6c757d}.step-secondary.step-completed .step-circle{color:#fff;background-color:#6c757d;border-color:#6c757d}.step-secondary.step-completed .step-circle::before{color:#6c757d}.step-secondary.step-completed .step-text{color:#6c757d}.step-secondary.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-secondary.step-active::before{color:#007bff}.step-secondary.step-active .step-text{color:#007bff}.step-success .step-circle{color:#28a745;border-color:#28a745}.step-success.step-completed .step-circle{color:#fff;background-color:#28a745;border-color:#28a745}.step-success.step-completed .step-circle::before{color:#28a745}.step-success.step-completed .step-text{color:#28a745}.step-success.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-success.step-active::before{color:#007bff}.step-success.step-active .step-text{color:#007bff}.step-info .step-circle{color:#17a2b8;border-color:#17a2b8}.step-info.step-completed .step-circle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.step-info.step-completed .step-circle::before{color:#17a2b8}.step-info.step-completed .step-text{color:#17a2b8}.step-info.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-info.step-active::before{color:#007bff}.step-info.step-active .step-text{color:#007bff}.step-warning .step-circle{color:#ffc107;border-color:#ffc107}.step-warning.step-completed .step-circle{color:#fff;background-color:#ffc107;border-color:#ffc107}.step-warning.step-completed .step-circle::before{color:#ffc107}.step-warning.step-completed .step-text{color:#ffc107}.step-warning.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-warning.step-active::before{color:#007bff}.step-warning.step-active .step-text{color:#007bff}.step-danger .step-circle{color:#dc3545;border-color:#dc3545}.step-danger.step-completed .step-circle{color:#fff;background-color:#dc3545;border-color:#dc3545}.step-danger.step-completed .step-circle::before{color:#dc3545}.step-danger.step-completed .step-text{color:#dc3545}.step-danger.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-danger.step-active::before{color:#007bff}.step-danger.step-active .step-text{color:#007bff}.step-light .step-circle{color:#f8f9fa;border-color:#f8f9fa}.step-light.step-completed .step-circle{color:#fff;background-color:#f8f9fa;border-color:#f8f9fa}.step-light.step-completed .step-circle::before{color:#f8f9fa}.step-light.step-completed .step-text{color:#f8f9fa}.step-light.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-light.step-active::before{color:#007bff}.step-light.step-active .step-text{color:#007bff}.step-dark .step-circle{color:#343a40;border-color:#343a40}.step-dark.step-completed .step-circle{color:#fff;background-color:#343a40;border-color:#343a40}.step-dark.step-completed .step-circle::before{color:#343a40}.step-dark.step-completed .step-text{color:#343a40}.step-dark.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-dark.step-active::before{color:#007bff}.step-dark.step-active .step-text{color:#007bff}.step-link .step-circle{color:#3273dc;border-color:#3273dc}.step-link.step-completed .step-circle{color:#fff;background-color:#3273dc;border-color:#3273dc}.step-link.step-completed .step-circle::before{color:#3273dc}.step-link.step-completed .step-text{color:#3273dc}.step-link.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-link.step-active::before{color:#007bff}.step-link.step-active .step-text{color:#007bff}.steps-content{margin:1rem 0}.steps-content>.step-panel{display:none}.steps-content>.active{display:block}.form-check.form-switch .form-check-input.form-check-input-primary:checked{background-color:#007bff;border-color:#007bff}.form-check.form-switch .form-check-input.form-check-input-secondary:checked{background-color:#6c757d;border-color:#6c757d}.form-check.form-switch .form-check-input.form-check-input-success:checked{background-color:#28a745;border-color:#28a745}.form-check.form-switch .form-check-input.form-check-input-info:checked{background-color:#17a2b8;border-color:#17a2b8}.form-check.form-switch .form-check-input.form-check-input-warning:checked{background-color:#ffc107;border-color:#ffc107}.form-check.form-switch .form-check-input.form-check-input-danger:checked{background-color:#dc3545;border-color:#dc3545}.form-check.form-switch .form-check-input.form-check-input-light:checked{background-color:#f8f9fa;border-color:#f8f9fa}.form-check.form-switch .form-check-input.form-check-input-dark:checked{background-color:#343a40;border-color:#343a40}.form-check.form-switch .form-check-input.form-check-input-link:checked{background-color:#3273dc;border-color:#3273dc}.form-check.form-switch .form-check-input.form-check-input-xs{width:calc(.75rem + (.5rem/2));height:.5rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-xs+.form-check-label{line-height:1rem;vertical-align:middle;padding-left:0}.form-check.form-switch .form-check-input.form-check-input-xs:checked~.form-check-label::after{transform:translateX(calc(.75rem - (.5rem/2)))}.form-check.form-switch .form-check-input.form-check-input-sm{width:calc(1rem + (.75rem/2));height:.75rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-sm+.form-check-label{line-height:1.25rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-sm:checked~.form-check-label::after{transform:translateX(calc(1rem - (.75rem/2)))}.form-check.form-switch .form-check-input.form-check-input-md{width:calc(2rem + (1.5rem/2));height:1.5rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-md+.form-check-label{line-height:2rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-md:checked~.form-check-label::after{transform:translateX(calc(2rem - (1.5rem/2)))}.form-check.form-switch .form-check-input.form-check-input-lg{width:calc(3rem + (2rem/2));height:2rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-lg+.form-check-label{line-height:2.5rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-lg:checked~.form-check-label::after{transform:translateX(calc(3rem - (2rem/2)))}.form-check.form-switch .form-check-input.form-check-input-xl{width:calc(4rem + (2.5rem/2));height:2.5rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-xl+.form-check-label{line-height:3rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-xl:checked~.form-check-label::after{transform:translateX(calc(4rem - (2.5rem/2)))}table.table tbody tr:not(.table-group).selected{background-color:var(--bs-primary)}table.table tbody tr.table-group{cursor:pointer;background-color:var(--b-theme-light,var(--bs-light,#f5f5f5));font-weight:700}tr.table-row-selectable:hover{cursor:pointer}tr.table-row-selectable:focus[tabindex="0"]{outline:none}.table-fixed-header{overflow-y:auto}.table-fixed-header>.table{border-collapse:separate;border-spacing:0}.table-fixed-header>.table>thead:not(.table-thead-theme)>tr>th{background:#fff}.table-fixed-header>.table>thead>tr>th{border-top:none;position:sticky;z-index:10}.table-fixed-header>.table>thead>tr:nth-child(1)>th{top:0}.table-fixed-header>.table-bordered>:not(caption)>*>*{border-width:1px 1px}.overflow-auto-auto{overflow:auto auto !important}.overflow-auto-hidden{overflow:auto hidden !important}.overflow-auto-visible{overflow:auto visible !important}.overflow-auto-scroll{overflow:auto scroll !important}.overflow-hidden-auto{overflow:hidden auto !important}.overflow-hidden-hidden{overflow:hidden hidden !important}.overflow-hidden-visible{overflow:hidden visible !important}.overflow-hidden-scroll{overflow:hidden scroll !important}.overflow-visible-auto{overflow:visible auto !important}.overflow-visible-hidden{overflow:visible hidden !important}.overflow-visible-visible{overflow:visible visible !important}.overflow-visible-scroll{overflow:visible scroll !important}.overflow-scroll-auto{overflow:scroll auto !important}.overflow-scroll-hidden{overflow:scroll hidden !important}.overflow-scroll-visible{overflow:scroll visible !important}.overflow-scroll-scroll{overflow:scroll scroll !important}ol.ordered-list-lower-alpha{list-style-type:lower-alpha}ol.ordered-list-lower-roman{list-style-type:lower-roman}ol.ordered-list-upper-alpha{list-style-type:upper-alpha}ol.ordered-list-upper-roman{list-style-type:upper-roman}.border-1{border:1px solid #dee2e6 !important}.border-1.border-primary{border-color:#007bff !important}.border-1.border-secondary{border-color:#6c757d !important}.border-1.border-success{border-color:#28a745 !important}.border-1.border-info{border-color:#17a2b8 !important}.border-1.border-warning{border-color:#ffc107 !important}.border-1.border-danger{border-color:#dc3545 !important}.border-1.border-light{border-color:#f8f9fa !important}.border-1.border-dark{border-color:#343a40 !important}.border-1.border-link{border-color:#3273dc !important}.border-primary-1{border:1px solid #007bff !important}.border-secondary-1{border:1px solid #6c757d !important}.border-success-1{border:1px solid #28a745 !important}.border-info-1{border:1px solid #17a2b8 !important}.border-warning-1{border:1px solid #ffc107 !important}.border-danger-1{border:1px solid #dc3545 !important}.border-light-1{border:1px solid #f8f9fa !important}.border-dark-1{border:1px solid #343a40 !important}.border-link-1{border:1px solid #3273dc !important}.border-top-1{border-top:1px solid #dee2e6 !important}.border-primary-top-1{border-top:1px solid #007bff !important}.border-secondary-top-1{border-top:1px solid #6c757d !important}.border-success-top-1{border-top:1px solid #28a745 !important}.border-info-top-1{border-top:1px solid #17a2b8 !important}.border-warning-top-1{border-top:1px solid #ffc107 !important}.border-danger-top-1{border-top:1px solid #dc3545 !important}.border-light-top-1{border-top:1px solid #f8f9fa !important}.border-dark-top-1{border-top:1px solid #343a40 !important}.border-link-top-1{border-top:1px solid #3273dc !important}.border-end-1{border-right:1px solid #dee2e6 !important}.border-primary-end-1{border-right:1px solid #007bff !important}.border-secondary-end-1{border-right:1px solid #6c757d !important}.border-success-end-1{border-right:1px solid #28a745 !important}.border-info-end-1{border-right:1px solid #17a2b8 !important}.border-warning-end-1{border-right:1px solid #ffc107 !important}.border-danger-end-1{border-right:1px solid #dc3545 !important}.border-light-end-1{border-right:1px solid #f8f9fa !important}.border-dark-end-1{border-right:1px solid #343a40 !important}.border-link-end-1{border-right:1px solid #3273dc !important}.border-bottom-1{border-bottom:1px solid #dee2e6 !important}.border-primary-bottom-1{border-bottom:1px solid #007bff !important}.border-secondary-bottom-1{border-bottom:1px solid #6c757d !important}.border-success-bottom-1{border-bottom:1px solid #28a745 !important}.border-info-bottom-1{border-bottom:1px solid #17a2b8 !important}.border-warning-bottom-1{border-bottom:1px solid #ffc107 !important}.border-danger-bottom-1{border-bottom:1px solid #dc3545 !important}.border-light-bottom-1{border-bottom:1px solid #f8f9fa !important}.border-dark-bottom-1{border-bottom:1px solid #343a40 !important}.border-link-bottom-1{border-bottom:1px solid #3273dc !important}.border-start-1{border-left:1px solid #dee2e6 !important}.border-primary-start-1{border-left:1px solid #007bff !important}.border-secondary-start-1{border-left:1px solid #6c757d !important}.border-success-start-1{border-left:1px solid #28a745 !important}.border-info-start-1{border-left:1px solid #17a2b8 !important}.border-warning-start-1{border-left:1px solid #ffc107 !important}.border-danger-start-1{border-left:1px solid #dc3545 !important}.border-light-start-1{border-left:1px solid #f8f9fa !important}.border-dark-start-1{border-left:1px solid #343a40 !important}.border-link-start-1{border-left:1px solid #3273dc !important}.border-2{border:2px solid #dee2e6 !important}.border-2.border-primary{border-color:#007bff !important}.border-2.border-secondary{border-color:#6c757d !important}.border-2.border-success{border-color:#28a745 !important}.border-2.border-info{border-color:#17a2b8 !important}.border-2.border-warning{border-color:#ffc107 !important}.border-2.border-danger{border-color:#dc3545 !important}.border-2.border-light{border-color:#f8f9fa !important}.border-2.border-dark{border-color:#343a40 !important}.border-2.border-link{border-color:#3273dc !important}.border-primary-2{border:2px solid #007bff !important}.border-secondary-2{border:2px solid #6c757d !important}.border-success-2{border:2px solid #28a745 !important}.border-info-2{border:2px solid #17a2b8 !important}.border-warning-2{border:2px solid #ffc107 !important}.border-danger-2{border:2px solid #dc3545 !important}.border-light-2{border:2px solid #f8f9fa !important}.border-dark-2{border:2px solid #343a40 !important}.border-link-2{border:2px solid #3273dc !important}.border-top-2{border-top:2px solid #dee2e6 !important}.border-primary-top-2{border-top:2px solid #007bff !important}.border-secondary-top-2{border-top:2px solid #6c757d !important}.border-success-top-2{border-top:2px solid #28a745 !important}.border-info-top-2{border-top:2px solid #17a2b8 !important}.border-warning-top-2{border-top:2px solid #ffc107 !important}.border-danger-top-2{border-top:2px solid #dc3545 !important}.border-light-top-2{border-top:2px solid #f8f9fa !important}.border-dark-top-2{border-top:2px solid #343a40 !important}.border-link-top-2{border-top:2px solid #3273dc !important}.border-end-2{border-right:2px solid #dee2e6 !important}.border-primary-end-2{border-right:2px solid #007bff !important}.border-secondary-end-2{border-right:2px solid #6c757d !important}.border-success-end-2{border-right:2px solid #28a745 !important}.border-info-end-2{border-right:2px solid #17a2b8 !important}.border-warning-end-2{border-right:2px solid #ffc107 !important}.border-danger-end-2{border-right:2px solid #dc3545 !important}.border-light-end-2{border-right:2px solid #f8f9fa !important}.border-dark-end-2{border-right:2px solid #343a40 !important}.border-link-end-2{border-right:2px solid #3273dc !important}.border-bottom-2{border-bottom:2px solid #dee2e6 !important}.border-primary-bottom-2{border-bottom:2px solid #007bff !important}.border-secondary-bottom-2{border-bottom:2px solid #6c757d !important}.border-success-bottom-2{border-bottom:2px solid #28a745 !important}.border-info-bottom-2{border-bottom:2px solid #17a2b8 !important}.border-warning-bottom-2{border-bottom:2px solid #ffc107 !important}.border-danger-bottom-2{border-bottom:2px solid #dc3545 !important}.border-light-bottom-2{border-bottom:2px solid #f8f9fa !important}.border-dark-bottom-2{border-bottom:2px solid #343a40 !important}.border-link-bottom-2{border-bottom:2px solid #3273dc !important}.border-start-2{border-left:2px solid #dee2e6 !important}.border-primary-start-2{border-left:2px solid #007bff !important}.border-secondary-start-2{border-left:2px solid #6c757d !important}.border-success-start-2{border-left:2px solid #28a745 !important}.border-info-start-2{border-left:2px solid #17a2b8 !important}.border-warning-start-2{border-left:2px solid #ffc107 !important}.border-danger-start-2{border-left:2px solid #dc3545 !important}.border-light-start-2{border-left:2px solid #f8f9fa !important}.border-dark-start-2{border-left:2px solid #343a40 !important}.border-link-start-2{border-left:2px solid #3273dc !important}.border-3{border:3px solid #dee2e6 !important}.border-3.border-primary{border-color:#007bff !important}.border-3.border-secondary{border-color:#6c757d !important}.border-3.border-success{border-color:#28a745 !important}.border-3.border-info{border-color:#17a2b8 !important}.border-3.border-warning{border-color:#ffc107 !important}.border-3.border-danger{border-color:#dc3545 !important}.border-3.border-light{border-color:#f8f9fa !important}.border-3.border-dark{border-color:#343a40 !important}.border-3.border-link{border-color:#3273dc !important}.border-primary-3{border:3px solid #007bff !important}.border-secondary-3{border:3px solid #6c757d !important}.border-success-3{border:3px solid #28a745 !important}.border-info-3{border:3px solid #17a2b8 !important}.border-warning-3{border:3px solid #ffc107 !important}.border-danger-3{border:3px solid #dc3545 !important}.border-light-3{border:3px solid #f8f9fa !important}.border-dark-3{border:3px solid #343a40 !important}.border-link-3{border:3px solid #3273dc !important}.border-top-3{border-top:3px solid #dee2e6 !important}.border-primary-top-3{border-top:3px solid #007bff !important}.border-secondary-top-3{border-top:3px solid #6c757d !important}.border-success-top-3{border-top:3px solid #28a745 !important}.border-info-top-3{border-top:3px solid #17a2b8 !important}.border-warning-top-3{border-top:3px solid #ffc107 !important}.border-danger-top-3{border-top:3px solid #dc3545 !important}.border-light-top-3{border-top:3px solid #f8f9fa !important}.border-dark-top-3{border-top:3px solid #343a40 !important}.border-link-top-3{border-top:3px solid #3273dc !important}.border-end-3{border-right:3px solid #dee2e6 !important}.border-primary-end-3{border-right:3px solid #007bff !important}.border-secondary-end-3{border-right:3px solid #6c757d !important}.border-success-end-3{border-right:3px solid #28a745 !important}.border-info-end-3{border-right:3px solid #17a2b8 !important}.border-warning-end-3{border-right:3px solid #ffc107 !important}.border-danger-end-3{border-right:3px solid #dc3545 !important}.border-light-end-3{border-right:3px solid #f8f9fa !important}.border-dark-end-3{border-right:3px solid #343a40 !important}.border-link-end-3{border-right:3px solid #3273dc !important}.border-bottom-3{border-bottom:3px solid #dee2e6 !important}.border-primary-bottom-3{border-bottom:3px solid #007bff !important}.border-secondary-bottom-3{border-bottom:3px solid #6c757d !important}.border-success-bottom-3{border-bottom:3px solid #28a745 !important}.border-info-bottom-3{border-bottom:3px solid #17a2b8 !important}.border-warning-bottom-3{border-bottom:3px solid #ffc107 !important}.border-danger-bottom-3{border-bottom:3px solid #dc3545 !important}.border-light-bottom-3{border-bottom:3px solid #f8f9fa !important}.border-dark-bottom-3{border-bottom:3px solid #343a40 !important}.border-link-bottom-3{border-bottom:3px solid #3273dc !important}.border-start-3{border-left:3px solid #dee2e6 !important}.border-primary-start-3{border-left:3px solid #007bff !important}.border-secondary-start-3{border-left:3px solid #6c757d !important}.border-success-start-3{border-left:3px solid #28a745 !important}.border-info-start-3{border-left:3px solid #17a2b8 !important}.border-warning-start-3{border-left:3px solid #ffc107 !important}.border-danger-start-3{border-left:3px solid #dc3545 !important}.border-light-start-3{border-left:3px solid #f8f9fa !important}.border-dark-start-3{border-left:3px solid #343a40 !important}.border-link-start-3{border-left:3px solid #3273dc !important}.border-4{border:4px solid #dee2e6 !important}.border-4.border-primary{border-color:#007bff !important}.border-4.border-secondary{border-color:#6c757d !important}.border-4.border-success{border-color:#28a745 !important}.border-4.border-info{border-color:#17a2b8 !important}.border-4.border-warning{border-color:#ffc107 !important}.border-4.border-danger{border-color:#dc3545 !important}.border-4.border-light{border-color:#f8f9fa !important}.border-4.border-dark{border-color:#343a40 !important}.border-4.border-link{border-color:#3273dc !important}.border-primary-4{border:4px solid #007bff !important}.border-secondary-4{border:4px solid #6c757d !important}.border-success-4{border:4px solid #28a745 !important}.border-info-4{border:4px solid #17a2b8 !important}.border-warning-4{border:4px solid #ffc107 !important}.border-danger-4{border:4px solid #dc3545 !important}.border-light-4{border:4px solid #f8f9fa !important}.border-dark-4{border:4px solid #343a40 !important}.border-link-4{border:4px solid #3273dc !important}.border-top-4{border-top:4px solid #dee2e6 !important}.border-primary-top-4{border-top:4px solid #007bff !important}.border-secondary-top-4{border-top:4px solid #6c757d !important}.border-success-top-4{border-top:4px solid #28a745 !important}.border-info-top-4{border-top:4px solid #17a2b8 !important}.border-warning-top-4{border-top:4px solid #ffc107 !important}.border-danger-top-4{border-top:4px solid #dc3545 !important}.border-light-top-4{border-top:4px solid #f8f9fa !important}.border-dark-top-4{border-top:4px solid #343a40 !important}.border-link-top-4{border-top:4px solid #3273dc !important}.border-end-4{border-right:4px solid #dee2e6 !important}.border-primary-end-4{border-right:4px solid #007bff !important}.border-secondary-end-4{border-right:4px solid #6c757d !important}.border-success-end-4{border-right:4px solid #28a745 !important}.border-info-end-4{border-right:4px solid #17a2b8 !important}.border-warning-end-4{border-right:4px solid #ffc107 !important}.border-danger-end-4{border-right:4px solid #dc3545 !important}.border-light-end-4{border-right:4px solid #f8f9fa !important}.border-dark-end-4{border-right:4px solid #343a40 !important}.border-link-end-4{border-right:4px solid #3273dc !important}.border-bottom-4{border-bottom:4px solid #dee2e6 !important}.border-primary-bottom-4{border-bottom:4px solid #007bff !important}.border-secondary-bottom-4{border-bottom:4px solid #6c757d !important}.border-success-bottom-4{border-bottom:4px solid #28a745 !important}.border-info-bottom-4{border-bottom:4px solid #17a2b8 !important}.border-warning-bottom-4{border-bottom:4px solid #ffc107 !important}.border-danger-bottom-4{border-bottom:4px solid #dc3545 !important}.border-light-bottom-4{border-bottom:4px solid #f8f9fa !important}.border-dark-bottom-4{border-bottom:4px solid #343a40 !important}.border-link-bottom-4{border-bottom:4px solid #3273dc !important}.border-start-4{border-left:4px solid #dee2e6 !important}.border-primary-start-4{border-left:4px solid #007bff !important}.border-secondary-start-4{border-left:4px solid #6c757d !important}.border-success-start-4{border-left:4px solid #28a745 !important}.border-info-start-4{border-left:4px solid #17a2b8 !important}.border-warning-start-4{border-left:4px solid #ffc107 !important}.border-danger-start-4{border-left:4px solid #dc3545 !important}.border-light-start-4{border-left:4px solid #f8f9fa !important}.border-dark-start-4{border-left:4px solid #343a40 !important}.border-link-start-4{border-left:4px solid #3273dc !important}.border-5{border:5px solid #dee2e6 !important}.border-5.border-primary{border-color:#007bff !important}.border-5.border-secondary{border-color:#6c757d !important}.border-5.border-success{border-color:#28a745 !important}.border-5.border-info{border-color:#17a2b8 !important}.border-5.border-warning{border-color:#ffc107 !important}.border-5.border-danger{border-color:#dc3545 !important}.border-5.border-light{border-color:#f8f9fa !important}.border-5.border-dark{border-color:#343a40 !important}.border-5.border-link{border-color:#3273dc !important}.border-primary-5{border:5px solid #007bff !important}.border-secondary-5{border:5px solid #6c757d !important}.border-success-5{border:5px solid #28a745 !important}.border-info-5{border:5px solid #17a2b8 !important}.border-warning-5{border:5px solid #ffc107 !important}.border-danger-5{border:5px solid #dc3545 !important}.border-light-5{border:5px solid #f8f9fa !important}.border-dark-5{border:5px solid #343a40 !important}.border-link-5{border:5px solid #3273dc !important}.border-top-5{border-top:5px solid #dee2e6 !important}.border-primary-top-5{border-top:5px solid #007bff !important}.border-secondary-top-5{border-top:5px solid #6c757d !important}.border-success-top-5{border-top:5px solid #28a745 !important}.border-info-top-5{border-top:5px solid #17a2b8 !important}.border-warning-top-5{border-top:5px solid #ffc107 !important}.border-danger-top-5{border-top:5px solid #dc3545 !important}.border-light-top-5{border-top:5px solid #f8f9fa !important}.border-dark-top-5{border-top:5px solid #343a40 !important}.border-link-top-5{border-top:5px solid #3273dc !important}.border-end-5{border-right:5px solid #dee2e6 !important}.border-primary-end-5{border-right:5px solid #007bff !important}.border-secondary-end-5{border-right:5px solid #6c757d !important}.border-success-end-5{border-right:5px solid #28a745 !important}.border-info-end-5{border-right:5px solid #17a2b8 !important}.border-warning-end-5{border-right:5px solid #ffc107 !important}.border-danger-end-5{border-right:5px solid #dc3545 !important}.border-light-end-5{border-right:5px solid #f8f9fa !important}.border-dark-end-5{border-right:5px solid #343a40 !important}.border-link-end-5{border-right:5px solid #3273dc !important}.border-bottom-5{border-bottom:5px solid #dee2e6 !important}.border-primary-bottom-5{border-bottom:5px solid #007bff !important}.border-secondary-bottom-5{border-bottom:5px solid #6c757d !important}.border-success-bottom-5{border-bottom:5px solid #28a745 !important}.border-info-bottom-5{border-bottom:5px solid #17a2b8 !important}.border-warning-bottom-5{border-bottom:5px solid #ffc107 !important}.border-danger-bottom-5{border-bottom:5px solid #dc3545 !important}.border-light-bottom-5{border-bottom:5px solid #f8f9fa !important}.border-dark-bottom-5{border-bottom:5px solid #343a40 !important}.border-link-bottom-5{border-bottom:5px solid #3273dc !important}.border-start-5{border-left:5px solid #dee2e6 !important}.border-primary-start-5{border-left:5px solid #007bff !important}.border-secondary-start-5{border-left:5px solid #6c757d !important}.border-success-start-5{border-left:5px solid #28a745 !important}.border-info-start-5{border-left:5px solid #17a2b8 !important}.border-warning-start-5{border-left:5px solid #ffc107 !important}.border-danger-start-5{border-left:5px solid #dc3545 !important}.border-light-start-5{border-left:5px solid #f8f9fa !important}.border-dark-start-5{border-left:5px solid #343a40 !important}.border-link-start-5{border-left:5px solid #3273dc !important}.cursor-pointer{cursor:pointer}.fs-xs{font-size:.75rem !important}.fs-sm{font-size:.925rem !important}.fs-md{font-size:1.125rem !important}.fs-lg{font-size:1.25rem !important}.fs-xl{font-size:1.5rem !important}.grid{display:grid;grid-template-rows:repeat(1,1fr);grid-template-columns:repeat(12,1fr);gap:1.5rem}.grid.g-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid.g-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid.g-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid.g-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid.g-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid.g-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid.g-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid.g-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.g-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.g-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.g-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid.g-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid.g-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid.g-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid.g-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid.g-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}@media(min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}}@media(min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}}@media(min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}}@media(min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}}.flatpickr-months{margin:.5rem 0}.flatpickr-months .flatpickr-month,.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{height:auto;position:relative}.flatpickr-months .flatpickr-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#007bff}.flatpickr-months .flatpickr-month{color:#212529}.flatpickr-current-month{padding:13px 0 0 0;font-size:115%}.flatpickr-current-month span.cur-month{font-weight:700}.flatpickr-current-month span.cur-month:hover{background:rgba(0,123,255,.15)}.numInputWrapper:hover{background:rgba(0,123,255,.15)}.flatpickr-day{border-radius:.25rem;font-weight:500;color:#212529}.flatpickr-day.today{border-color:#007bff}.flatpickr-day.today:hover{background:#007bff;border-color:#007bff}.flatpickr-day:hover{background:rgba(0,123,255,.1);border-color:rgba(0,0,0,0)}span.flatpickr-weekday{color:#212529}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#007bff;border-color:#007bff}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 #007bff}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:.25rem 0 0 .25rem}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 .25rem .25rem 0}.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:rgba(0,123,255,.1)}.flatpickr-monthSelect-month.selected{background-color:#007bff} -.snackbar{align-items:center;background-color:var(--b-snackbar-background,#323232);color:var(--b-snackbar-text-color,#fff);font-size:.875rem;line-height:1.428572;opacity:0;padding:.875rem 1.5rem;position:fixed;bottom:0;left:0;transform:translateY(100%);transition:opacity 0s var(--transition-duration-mobile-leaving,.195s),transform var(--transition-duration-mobile-leaving,.195s) cubic-bezier(.4,0,1,1);width:100%;z-index:60}@media(min-width:768px){.snackbar{border-radius:2px;max-width:35.5rem;min-width:18rem;left:50%;transform:translate(-50%,100%);width:auto}}@media(min-width:768px){.snackbar{transition:opacity 0s var(--transition-duration-tablet-leaving,.2535s),transform var(--transition-duration-tablet-leaving,.2535s) cubic-bezier(.4,0,1,1)}}@media(min-width:1200px){.snackbar{transition:opacity 0s var(--transition-duration-desktop-leaving,.13s),transform var(--transition-duration-desktop-leaving,.13s) cubic-bezier(.4,0,1,1)}}@media screen and (prefers-reduced-motion:reduce){.snackbar{transition:none}}.snackbar.snackbar-show{transition-duration:var(--transition-duration-mobile-entering,.225s);transition-property:transform;transition-timing-function:cubic-bezier(0,0,.2,1);opacity:1;transform:translateY(0)}@media(min-width:768px){.snackbar.snackbar-show{transition-duration:var(--transition-duration-tablet-entering,.2925s)}}@media(min-width:1200px){.snackbar.snackbar-show{transition-duration:var(--transition-duration-desktop-entering,.15s)}}@media screen and (prefers-reduced-motion:reduce){.snackbar.snackbar-show{transition:none}}@media(min-width:768px){.snackbar.snackbar-show{transform:translate(-50%,-1.5rem)}}.snackbar-header{display:flex;-ms-flex-pack:justify;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:DARKEN(var(--b-snackbar-background,#323232),30%);margin-right:auto;min-width:0;font-weight:bold;padding-bottom:.875rem}.snackbar-footer{display:flex;-ms-flex-pack:justify;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:DARKEN(var(--b-snackbar-background,#323232),30%);margin-right:auto;min-width:0;padding-top:.875rem}.snackbar-body{display:flex;-ms-flex-pack:justify;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto;max-height:100%;min-width:0}.snackbar-action-button{transition-duration:var(--transition-duration-mobile,.3s);transition-property:background-color,background-image;transition-timing-function:cubic-bezier(.4,0,.2,1);background-color:transparent;background-image:none;border:0;color:var(--b-snackbar-button-color,var(--b-snackbar-button-color,#ff4081));cursor:pointer;display:block;flex-shrink:0;font-size:inherit;font-weight:500;line-height:inherit;padding:0;text-transform:uppercase;white-space:nowrap}@media(min-width:768px){.snackbar-action-button{transition-duration:var(--transition-duration-tablet,.39s)}}@media(min-width:1200px){.snackbar-action-button{transition-duration:var(--transition-duration-desktop,.2s)}}@media screen and (prefers-reduced-motion:reduce){.snackbar-action-button{transition:none}}.snackbar-action-button:focus,.snackbar-action-button:hover{color:var(--b-snackbar-button-hover-color,var(--b-snackbar-button-hover-color,#ff80ab));text-decoration:none}@media(min-width:768px){.snackbar-action-button{margin-left:3rem}}.snackbar-action-button:focus{outline:0}@media(min-width:768px){.snackbar-bottom-start,.snackbar-bottom-end{transform:translateY(100%)}.snackbar-bottom-start.snackbar-show,.snackbar-bottom-end.snackbar-show{transform:translateY(-1.5rem)}}@media(min-width:768px){.snackbar-bottom-start{left:1.5rem}}@media(min-width:768px){.snackbar-bottom-end{right:1.5rem;left:auto}}.snackbar-top{top:0;bottom:auto;transform:translateY(-100%)}@media(min-width:768px){.snackbar-top{transform:translateX(-50%) translateY(-100%)}.snackbar-top.snackbar-show{transform:translate(-50%,1.5rem)}}.snackbar-top-start{top:0;bottom:auto;transform:translateY(-100%);left:0}@media(min-width:768px){.snackbar-top-start{transform:translateY(-100%);left:1.5rem}.snackbar-top-start.snackbar-show{transform:translateY(1.5rem)}}.snackbar-top-end{top:0;bottom:auto;transform:translateY(-100%)}@media(min-width:768px){.snackbar-top-end{transform:translateY(-100%);right:1.5rem;left:auto}.snackbar-top-end.snackbar-show{transform:translateY(1.5rem)}}.snackbar-multi-line{padding-top:1.25rem;padding-bottom:1.25rem}.snackbar-multi-line .snackbar-body{white-space:normal}.snackbar-primary{background-color:var(--b-snackbar-background-primary,#cce5ff);color:var(--b-snackbar-text-primary,#004085)}.snackbar-action-button-primary{color:var(--b-snackbar-button-primary,#ff4081)}.snackbar-action-button-primary:focus,.snackbar-action-button-primary:hover{color:var(--b-snackbar-button-hover-primary,#ff80ab)}.snackbar-secondary{background-color:var(--b-snackbar-background-secondary,#e2e3e5);color:var(--b-snackbar-text-secondary,#383d41)}.snackbar-action-button-secondary{color:var(--b-snackbar-button-secondary,#ff4081)}.snackbar-action-button-secondary:focus,.snackbar-action-button-secondary:hover{color:var(--b-snackbar-button-hover-secondary,#ff80ab)}.snackbar-success{background-color:var(--b-snackbar-background-success,#d4edda);color:var(--b-snackbar-text-success,#155724)}.snackbar-action-button-success{color:var(--b-snackbar-button-success,#ff4081)}.snackbar-action-button-success:focus,.snackbar-action-button-success:hover{color:var(--b-snackbar-button-hover-success,#ff80ab)}.snackbar-danger{background-color:var(--b-snackbar-background-danger,#f8d7da);color:var(--b-snackbar-text-danger,#721c24)}.snackbar-action-button-danger{color:var(--b-snackbar-button-danger,#ff4081)}.snackbar-action-button-danger:focus,.snackbar-action-button-danger:hover{color:var(--b-snackbar-button-hover-danger,#ff80ab)}.snackbar-warning{background-color:var(--b-snackbar-background-warning,#fff3cd);color:var(--b-snackbar-text-warning,#856404)}.snackbar-action-button-warning{color:var(--b-snackbar-button-warning,#ff4081)}.snackbar-action-button-warning:focus,.snackbar-action-button-warning:hover{color:var(--b-snackbar-button-hover-warning,#ff80ab)}.snackbar-info{background-color:var(--b-snackbar-background-info,#d1ecf1);color:var(--b-snackbar-text-info,#0c5460)}.snackbar-action-button-info{color:var(--b-snackbar-button-info,#ff4081)}.snackbar-action-button-info:focus,.snackbar-action-button-info:hover{color:var(--b-snackbar-button-hover-info,#ff80ab)}.snackbar-light{background-color:var(--b-snackbar-background-light,#fefefe);color:var(--b-snackbar-text-light,#818182)}.snackbar-action-button-light{color:var(--b-snackbar-button-light,#ff4081)}.snackbar-action-button-light:focus,.snackbar-action-button-light:hover{color:var(--b-snackbar-button-hover-light,#ff80ab)}.snackbar-dark{background-color:var(--b-snackbar-background-dark,#d6d8d9);color:var(--b-snackbar-text-dark,#1b1e21)}.snackbar-action-button-dark{color:var(--b-snackbar-button-dark,#ff4081)}.snackbar-action-button-dark:focus,.snackbar-action-button-dark:hover{color:var(--b-snackbar-button-hover-dark,#ff80ab)}.snackbar-stack-bottom-end,.snackbar-stack-bottom-start,.snackbar-stack-bottom{display:flex;flex-direction:column;position:fixed;z-index:1090 !important;bottom:0}.snackbar-stack-bottom-end .snackbar,.snackbar-stack-bottom-start .snackbar,.snackbar-stack-bottom .snackbar{position:relative;flex-direction:row;margin-bottom:0}.snackbar-stack-bottom-end .snackbar:not(:last-child),.snackbar-stack-bottom-start .snackbar:not(:last-child),.snackbar-stack-bottom .snackbar:not(:last-child){margin-bottom:1.5rem}.snackbar-stack-top-end,.snackbar-stack-top-start,.snackbar-stack-top{display:flex;flex-direction:column;align-items:center;justify-content:center;align-content:center;position:fixed;z-index:1090 !important;top:0}.snackbar-stack-top-end .snackbar,.snackbar-stack-top-start .snackbar,.snackbar-stack-top .snackbar{position:relative;flex-direction:row;margin-bottom:0}.snackbar-stack-top-end .snackbar.snackbar-show,.snackbar-stack-top-start .snackbar.snackbar-show,.snackbar-stack-top .snackbar.snackbar-show{transform:translate(-50%)}.snackbar-stack-top-end .snackbar:not(:last-child),.snackbar-stack-top-start .snackbar:not(:last-child),.snackbar-stack-top .snackbar:not(:last-child){margin-bottom:1.5rem}.snackbar-stack-top .snackbar.snackbar-show,.snackbar-stack-top-start .snackbar.snackbar-show,.snackbar-stack-top-end .snackbar.snackbar-show{transition:all var(--stack-transition-duration,1000);animation:showTop var(--stack-animation-duration,500) forwards;opacity:1}.snackbar-stack-top .snackbar-hide,.snackbar-stack-top-start .snackbar-hide,.snackbar-stack-top-end .snackbar-hide{transition:all var(--stack-transition-duration,1000);animation:hideTop var(--stack-animation-duration,500) forwards;opacity:0}.snackbar-stack-bottom .snackbar.snackbar-show,.snackbar-stack-bottom-start .snackbar.snackbar-show,.snackbar-stack-bottom-end .snackbar.snackbar-show{transition:all var(--stack-transition-duration,1000);animation:showBottom var(--stack-animation-duration,500) forwards;opacity:1}.snackbar-stack-bottom .snackbar-hide,.snackbar-stack-bottom-start .snackbar-hide,.snackbar-stack-bottom-end .snackbar-hide{transition:all var(--stack-transition-duration,1000);animation:hideBottom var(--stack-animation-duration,500) forwards;opacity:0}@keyframes showTop{0%{max-height:0;padding:0;transform:translate(-50%) translateY(-50px);opacity:0}100%{max-height:150px;padding:.5rem 1rem;transform:translate(-50%) translateY(0);opacity:1}}@keyframes hideTop{0%{max-height:150px;padding:.5rem 1rem;transform:translate(-50%) translateY(0);opacity:1}100%{max-height:0;padding:0;transform:translate(-50%) translateY(-50px);opacity:0}}@keyframes showBottom{0%{max-height:0;padding:0;opacity:0;transform:translate(-50%) translateY(50px)}100%{max-height:150px;padding:.5rem 1rem;opacity:1;transform:translate(-50%) translateY(0)}}@keyframes hideBottom{0%{max-height:150px;transform:translate(-50%) translateY(0);padding:.5rem 1rem;opacity:1}100%{max-height:0;padding:0;transform:translate(-50%) translateY(50px);opacity:0}}@media(min-width:576px){.snackbar-stack-bottom{left:50%;transform:translate(-50%,0%);bottom:1.5rem}.snackbar-stack-bottom-start{left:1.5rem;bottom:1.5rem}.snackbar-stack-bottom-end{right:1.5rem;bottom:1.5rem}.snackbar-stack-top-start{left:1.5rem;top:1.5rem}.snackbar-stack-top-end{right:1.5rem;top:1.5rem}.snackbar-stack-top{left:50%;transform:translate(-50%,0%);top:1.5rem}} -@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0} +.pickr{position:relative;overflow:visible;transform:translateY(0)}.pickr *{box-sizing:border-box;outline:0;border:0;-webkit-appearance:none}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, ') no-repeat center;background-size:0;transition:all .3s}.pickr .pcr-button::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pickr .pcr-button::before{z-index:initial}.pickr .pcr-button::after{position:absolute;content:"";top:0;left:0;height:100%;width:100%;transition:background .3s;background:var(--pcr-color);border-radius:.15em}.pickr .pcr-button.clear{background-size:70%}.pickr .pcr-button.clear::before{opacity:0}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px var(--pcr-color)}.pickr .pcr-button.disabled{cursor:not-allowed}.pickr *,.pcr-app *{box-sizing:border-box;outline:0;border:0;-webkit-appearance:none}.pickr input:focus,.pickr input.pcr-active,.pickr button:focus,.pickr button.pcr-active,.pcr-app input:focus,.pcr-app input.pcr-active,.pcr-app button:focus,.pcr-app button.pcr-active{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px var(--pcr-color)}.pickr .pcr-palette,.pickr .pcr-slider,.pcr-app .pcr-palette,.pcr-app .pcr-slider{transition:box-shadow .3s}.pickr .pcr-palette:focus,.pickr .pcr-slider:focus,.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(0,0,0,.25)}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em}.pcr-app .pcr-swatches.pcr-last{margin:0}@supports(display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .pcr-swatches>button::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .pcr-swatches>button::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--pcr-color);border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .pcr-swatches>button:hover{filter:brightness(1.05)}.pcr-app .pcr-swatches>button:not(.pcr-active){box-shadow:none}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em 0 -.2em}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em}.pcr-app .pcr-interaction input:hover{filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::-moz-selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4}.pcr-app .pcr-interaction .pcr-save,.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{color:#fff;width:auto}.pcr-app .pcr-interaction .pcr-save,.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{color:#fff}.pcr-app .pcr-interaction .pcr-save:hover,.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover{filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-cancel{background:#f44250}.pcr-app .pcr-interaction .pcr-clear:focus,.pcr-app .pcr-interaction .pcr-cancel:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pcr-app .pcr-selection .pcr-color-palette,.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab}.pcr-app .pcr-selection .pcr-color-palette:active,.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active{cursor:grabbing;cursor:-webkit-grabbing}.pcr-app[data-theme=monolith]{width:14.25em;max-width:95vw;padding:.8em}.pcr-app[data-theme=monolith] .pcr-selection{display:flex;flex-direction:column;justify-content:space-between;flex-grow:1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview{position:relative;z-index:1;width:100%;height:1em;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:.5em}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color{cursor:pointer;transition:background-color .3s,box-shadow .3s;border-radius:.15em 0 0 .15em;z-index:2}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color{border-radius:0 .15em .15em 0}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color{background:var(--pcr-color);width:50%;height:100%}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette{width:100%;height:8em;z-index:1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette{border-radius:.15em;width:100%;height:100%}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity{height:.5em;margin-top:.75em}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-picker{top:50%;transform:translateY(-50%)}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider{flex-grow:1;border-radius:50em}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(to right,transparent,#000),url('data:image/svg+xml;utf8, ');background-size:100%,.25em} +@keyframes fadeIn{0%{opacity:0}100%{opacity:1}0%{opacity:0}}@keyframes slideIn{0%{transform:translateY(1rem);opacity:0}100%{transform:translateY(0);opacity:1}0%{transform:translateY(1rem);opacity:0}}.badge-close{cursor:pointer}.badge-close::before{height:2px;width:50%}.badge-close::after{height:50%;width:2px}.badge-close:hover,.badge-close:focus{background-color:rgba(10,10,10,.3)}.badge-close:active{background-color:rgba(10,10,10,.4)}.navbar-nav .nav-item:hover{cursor:pointer}.navbar-nav .nav-link:hover{cursor:pointer}.nav .nav-link:hover{cursor:pointer}.nav-item{position:relative}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item{width:100%}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item:empty::after{margin-left:0}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item::after{transform:rotate(-90deg);position:absolute;right:10%;top:45%}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-menu{top:0;left:100%;margin-left:0;margin-right:.1rem}.btn-group>.b-tooltip:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.b-tooltip:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group.btn-group-toggle .btn.active.disabled{opacity:1}.btn-group-vertical>.b-tooltip:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.b-tooltip:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-xs,.btn-group-xs>.btn{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.btn-md,.btn-group-md>.btn{padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem}.btn-xl,.btn-group-xl>.btn{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.card-deck .card{height:100%;margin-bottom:.75rem}@media(min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-.75rem;margin-left:-.75rem}.card-deck .card{flex:1 0 0%;margin-right:.75rem;margin-bottom:0;margin-left:.75rem}}.table-fixed-header .table thead tr th.dropdown-table-fixed-header-visible{z-index:11}.dropdown-menu-position-strategy{width:max-content;top:0;left:0}.dropdown-menu-position-strategy-absolute{position:absolute}.dropdown-menu-position-strategy-fixed{position:fixed}.dropdown-toggle.dropdown-toggle-hidden::after{content:none!important}.dropdown-toggle.dropdown-toggle-hidden::before{content:none!important}.dropdown-menu.show{animation-duration:.3s;animation-fill-mode:both;animation-name:fadeIn}.dropdown-menu a:not([href]).dropdown-item:not(.disabled){cursor:pointer}.dropdown-menu.dropdown-menu-scrollable{max-height:var(--dropdown-list-menu-max-height,200px);overflow-y:scroll}.b-is-autocomplete .dropdown-menu{width:100%;max-height:var(--autocomplete-menu-max-height,200px);overflow-y:scroll}.b-is-autocomplete .dropdown-menu .dropdown-item.focus{color:#1e2125!important;background-color:#e9ecef}.b-is-autocomplete.b-is-autocomplete-multipleselection{display:flex;align-items:center;flex-wrap:wrap;max-width:100%;width:100%;cursor:text;min-height:calc(1.5em + .75rem + 2px);height:auto;border:1px solid #ced4da;border-radius:.25rem}.b-is-autocomplete.b-is-autocomplete-multipleselection>input.form-control{display:inline-block;border:0;box-shadow:none;outline:0;background-color:transparent;max-width:inherit;width:auto;flex-grow:1}.b-is-autocomplete.b-is-autocomplete-multipleselection>.badge{margin-top:.25rem;margin-bottom:.25rem;line-height:1.5;flex-grow:initial}.b-is-autocomplete.b-is-autocomplete-multipleselection .dropdown-menu{top:100%}.b-is-autocomplete.b-is-autocomplete-multipleselection.focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.dropdown.btn-group>.btn.dropdown-toggle-split+.dropdown-menu.show{top:100%}.dropdown{position:relative}.dropdown .btn.dropdown-toggle:not(.btn-outline){box-shadow:none;border:0}.dropdown.dropdown-disabled.b-is-autocomplete{background-color:var(--b-theme-light,#e9ecef)}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend){position:relative}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle{width:100%}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle:empty::after{margin-left:0}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-toggle::after{position:absolute;right:10%;top:45%}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropstart,.dropend)>.dropdown-menu{top:auto;left:auto;bottom:auto;right:auto}.dropdown>.dropdown-menu>.dropdown.dropup .dropdown-toggle::after,.dropdown>.dropdown-menu>.dropdown.dropend .dropdown-toggle::after{vertical-align:0;position:absolute;right:10%;top:45%}.dropdown>.dropdown-menu>.dropdown.dropstart .dropdown-toggle::after{vertical-align:0}.dropdown.dropup>.dropdown-menu{top:auto;bottom:auto;margin-top:0;margin-bottom:.125rem}.dropdown.dropup>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropdown.dropup>.dropdown-toggle:empty::after{margin-left:0}.dropdown.dropend>.dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropdown.dropend>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropdown.dropend>.dropdown-toggle:empty::after{margin-left:0}.dropdown.dropend>.dropdown-toggle::after{vertical-align:0}.dropdown.dropstart>.dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropdown.dropstart>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropdown.dropstart>.dropdown-toggle::after{display:none}.dropdown.dropstart>.dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropdown.dropstart>.dropdown-toggle:empty::after{margin-left:0}.dropdown.dropstart>.dropdown-toggle::before{vertical-align:0}.dropdown-menu-start{right:auto;left:0}.dropdown-menu-end{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{right:auto;left:0}.dropdown-menu-sm-end{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{right:auto;left:0}.dropdown-menu-md-end{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{right:auto;left:0}.dropdown-menu-lg-end{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{right:auto;left:0}.dropdown-menu-xl-end{right:0;left:auto}}hr.divider.divider-text{position:unset}hr.divider.divider-text::before{top:unset}.snackbar-stack{z-index:1059!important}.snackbar{z-index:1060!important}.figure.figure-is-16x16{height:16px;width:16px}.figure.figure-is-24x24{height:24px;width:24px}.figure.figure-is-32x32{height:32px;width:32px}.figure.figure-is-48x48{height:48px;width:48px}.figure.figure-is-64x64{height:64px;width:64px}.figure.figure-is-96x96{height:96px;width:96px}.figure.figure-is-128x128{height:128px;width:128px}.figure.figure-is-256x256{height:256px;width:256px}.figure.figure-is-512x512{height:512px;width:512px}.form-check>.form-check-input.form-check-input-pointer,.form-check>.form-check-label.form-check-label-pointer,.form-switch>.form-check-input.form-check-input-pointer,.form-switch>.form-check-label.form-check-label-pointer{cursor:pointer}.form-control-plaintext.form-control-xs,.form-control-plaintext.form-control-md,.form-control-plaintext.form-control-xl{padding-right:0;padding-left:0}.form-control-xs{height:calc(1.5em + .3rem + 2px);padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.form-control-md{height:calc(1.5em + .94rem + 2px);padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem}.form-control-xl{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem}.form-select-xs{height:calc(1.5em + .3rem + 2px);padding-top:.15rem;padding-bottom:.15rem;padding-left:.5rem;font-size:.75rem}.form-select-md{height:calc(1.5em + .94rem + 2px);padding-top:.47rem;padding-bottom:.47rem;padding-left:1rem;font-size:1.125rem}.form-select-xl{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.5rem}.input-group>.b-numeric:not(:last-child)>input,.input-group>div.flatpickr-wrapper:not(:last-child)>input{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.b-numeric:not(:first-child)>input,.input-group>div.flatpickr-wrapper:not(:first-child)>input{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-xs>.form-control:not(textarea),.input-group-xs>.form-select,.input-group-xs>.b-numeric>input{height:calc(1.5em + .3rem + 2px)}.input-group-xs>.form-control,.input-group-xs>.form-select,.input-group-xs>.input-group-text,.input-group-xs>.btn,.input-group-xs>.b-numeric>input{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.input-group-sm>.b-numeric>input{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.b-numeric>input{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-md>.form-control:not(textarea),.input-group-md>.form-select,.input-group-md>.b-numeric>input{height:calc(1.5em + .94rem + 2px)}.input-group-md>.form-control,.input-group-md>.form-select,.input-group-md>.input-group-text,.input-group-md>.btn,.input-group-md>.b-numeric>input{padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem}.input-group-lg>.b-numeric>input{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.b-numeric>input{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-xl>.form-control:not(textarea),.input-group-xl>.form-select,.input-group-xl>.b-numeric>input{height:calc(1.5em + 1rem + 2px)}.input-group-xl>.form-control,.input-group-xl>.form-select,.input-group-xl>.input-group-text,.input-group-xl>.btn,.input-group-xl>.b-numeric>input{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem}.input-group-xs>.form-select,.input-group-md>.form-select,.input-group-xl>.form-select{padding-right:1.75rem}.input-group:not(.has-validation)>.dropdown:first-child>.btn:not(:last-child).dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown>.btn:not(:last-child).dropdown-toggle,.input-group.has-validation>.dropdown>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>div.flatpickr-wrapper>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0}.form-check>.form-check-input.form-check-input-xs{width:.7rem;height:.7rem}.form-check>.form-check-input.form-check-input-xs+.form-check-label{line-height:"normal";padding-left:0}.form-check>.form-check-input.form-check-input-sm{width:.8rem;height:.8rem}.form-check>.form-check-input.form-check-input-sm+.form-check-label{line-height:"normal";padding-left:0}.form-check>.form-check-input.form-check-input-md{width:1.25rem;height:1.25rem}.form-check>.form-check-input.form-check-input-md+.form-check-label{line-height:1.7rem;padding-left:3px}.form-check>.form-check-input.form-check-input-lg{width:1.55rem;height:1.55rem}.form-check>.form-check-input.form-check-input-lg+.form-check-label{line-height:2rem;padding-left:6px}.form-check>.form-check-input.form-check-input-xl{width:1.85rem;height:1.85rem}.form-check>.form-check-input.form-check-input-xl+.form-check-label{line-height:2.5rem;padding-left:10px}select[readonly]{pointer-events:none}select[readonly] option,select[readonly] optgroup{display:none}.b-numeric{position:relative;width:100%}.b-numeric:hover>.b-numeric-handler-wrap{opacity:1}.b-numeric input:disabled+.b-numeric-handler-wrap,.b-numeric input:read-only+.b-numeric-handler-wrap{display:none}.b-numeric-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#fff;border:1px solid #d9d9d9;opacity:0}.input-group .b-numeric{-ms-flex:1 1 auto;flex:1 1 auto;width:1%}.b-numeric-handler-wrap .b-numeric-handler.b-numeric-handler-down{border-top:1px solid #d9d9d9}.b-numeric-handler{position:relative;display:flex;width:100%;height:50%;overflow:hidden;color:rgba(0,0,0,.45);font-weight:700;line-height:0;align-items:center;justify-content:center}.b-numeric-handler.btn{padding:0}.form-control+.b-numeric-handler-wrap{font-size:1rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.form-control-xs+.b-numeric-handler-wrap{font-size:.75rem;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem}.form-control-xs+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:.75rem}.form-control-sm+.b-numeric-handler-wrap{font-size:.875rem;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.form-control-sm+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:.875rem}.form-control-md+.b-numeric-handler-wrap{font-size:1.125rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.form-control-md+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.125rem}.form-control-lg+.b-numeric-handler-wrap{font-size:1.25rem;border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.form-control-lg+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.25rem}.form-control-xl+.b-numeric-handler-wrap{font-size:1.5rem;border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.form-control-xl+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.5rem}.custom-file-label{overflow:hidden}input[readonly][type=range],input[readonly=readonly][type=range]{pointer-events:none}input[readonly][type=range]::-webkit-slider-thumb,input[readonly=readonly][type=range]::-webkit-slider-thumb{pointer-events:none}input[readonly][type=range]::-moz-range-thumb,input[readonly=readonly][type=range]::-moz-range-thumb{pointer-events:none}input[readonly][type=range]::-ms-thumb,input[readonly=readonly][type=range]::-ms-thumb{pointer-events:none}.form-group{margin-bottom:1rem}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .form-select{align-items:center;justify-content:center}.form-inline .form-check-label{margin-bottom:0}}.b-input-color-picker{padding:.5rem .6rem}.b-input-color-picker>.b-input-color-picker-preview{height:.55rem}.focus-trap{display:contents}.form-file input[type=file]{margin-left:-2px!important}.form-file input[type=file]::-webkit-file-upload-button{display:none}.form-file input[type=file]::file-selector-button{display:none}.form-label-required:after{content:" *";color:var(--b-theme-danger,#dc3545)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media(min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.jumbotron.jumbotron-primary{background-color:#007bff;color:#fff}.jumbotron.jumbotron-secondary{background-color:#6c757d;color:#fff}.jumbotron.jumbotron-success{background-color:#28a745;color:#fff}.jumbotron.jumbotron-info{background-color:#17a2b8;color:#fff}.jumbotron.jumbotron-warning{background-color:#ffc107;color:#212529}.jumbotron.jumbotron-danger{background-color:#dc3545;color:#fff}.jumbotron.jumbotron-light{background-color:#f8f9fa;color:#212529}.jumbotron.jumbotron-dark{background-color:#343a40;color:#fff}.jumbotron.jumbotron-link{background-color:#3273dc;color:#fff}.b-layout-header-fixed{z-index:1030}.b-layout-footer-fixed{z-index:1030}.b-layout-sider-content{z-index:1031}li.list-group-item-action{cursor:pointer}.list-group-scrollable{overflow-y:scroll}.media{display:flex;align-items:flex-start}.media-body{flex:1}.modal.fade{transition:opacity var(--modal-animation-duration,300ms) linear}.modal.fade .modal-dialog{transition:-webkit-transform var(--modal-animation-duration,300ms) ease-out;transition:transform var(--modal-animation-duration,300ms) ease-out}.offcanvas-footer{position:sticky;bottom:0;top:auto;display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.page-item:not(.disabled) .page-link{cursor:pointer}.pagination-xs .page-link{padding:.125rem .25rem;font-size:.75rem;line-height:1.5}.pagination-xs .page-item:first-child .page-link{border-top-left-radius:.15rem;border-bottom-left-radius:.15rem}.pagination-xs .page-item:last-child .page-link{border-top-right-radius:.15rem;border-bottom-right-radius:.15rem}.pagination-md .page-link{padding:.625rem 1.25rem;font-size:1.125rem;line-height:1.5}.pagination-md .page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.pagination-md .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-xl .page-link{padding:1rem 2rem;font-size:1.5rem;line-height:1.5}.pagination-xl .page-item:first-child .page-link{border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.pagination-xl .page-item:last-child .page-link{border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-primary{background-color:#007bff}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-secondary{background-color:#6c757d}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-success{background-color:#28a745}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-info{background-color:#17a2b8}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-warning{background-color:#ffc107}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-danger{background-color:#dc3545}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-light{background-color:#f8f9fa}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-dark{background-color:#343a40}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-link{background-color:#3273dc}.rating:not(.rating-disabled):not(.rating-readonly):hover .rating-item{cursor:pointer}.rating.rating-disabled{opacity:.65}.rating .rating-item.rating-item-primary{color:#007bff}.rating .rating-item.rating-item-secondary{color:#6c757d}.rating .rating-item.rating-item-success{color:#28a745}.rating .rating-item.rating-item-info{color:#17a2b8}.rating .rating-item.rating-item-warning{color:#ffc107}.rating .rating-item.rating-item-danger{color:#dc3545}.rating .rating-item.rating-item-light{color:#f8f9fa}.rating .rating-item.rating-item-dark{color:#343a40}.rating .rating-item.rating-item-link{color:#3273dc}.rating .rating-item.rating-item-hover{opacity:.7}.gap-y-0{row-gap:0!important}.gap-x-0{column-gap:0!important}.gap-y-1{row-gap:.25rem!important}.gap-x-1{column-gap:.25rem!important}.gap-y-2{row-gap:.5rem!important}.gap-x-2{column-gap:.5rem!important}.gap-y-3{row-gap:1rem!important}.gap-x-3{column-gap:1rem!important}.gap-y-4{row-gap:1.5rem!important}.gap-x-4{column-gap:1.5rem!important}.gap-y-5{row-gap:3rem!important}.gap-x-5{column-gap:3rem!important}.steps{padding:0;margin:0;list-style:none;display:flex;overflow-x:auto}.steps .step:first-child{margin-left:auto}.steps .step:last-child{margin-right:auto}.step:first-of-type .step-circle::before{display:none}.step:last-of-type .step-container{padding-right:0}.step-container{box-sizing:content-box;display:flex;align-items:center;flex-direction:column;width:5rem;min-width:5rem;max-width:5rem;padding-top:.5rem;padding-right:1rem}.step-circle{position:relative;display:flex;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;color:#adb5bd;border:2px solid #adb5bd;border-radius:100%;background-color:#fff}.step-circle::before{content:"";display:block;position:absolute;top:50%;left:-2px;width:calc(5rem + 1rem - 1.5rem);height:2px;transform:translate(-100%,-50%);color:#adb5bd;background-color:currentColor}.step-text{color:#adb5bd;word-break:keep-all;text-align:center;margin-top:.25em}.step-completed .step-circle{color:#fff;background-color:#28a745;border-color:#28a745}.step-completed .step-circle::before{color:#28a745}.step-completed .step-text{color:#28a745}.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-active .step-circle::before{color:#007bff}.step-active .step-text{color:#007bff}.step-primary .step-circle{color:#007bff;border-color:#007bff}.step-primary.step-completed .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-primary.step-completed .step-circle::before{color:#007bff}.step-primary.step-completed .step-text{color:#007bff}.step-primary.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-primary.step-active::before{color:#007bff}.step-primary.step-active .step-text{color:#007bff}.step-secondary .step-circle{color:#6c757d;border-color:#6c757d}.step-secondary.step-completed .step-circle{color:#fff;background-color:#6c757d;border-color:#6c757d}.step-secondary.step-completed .step-circle::before{color:#6c757d}.step-secondary.step-completed .step-text{color:#6c757d}.step-secondary.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-secondary.step-active::before{color:#007bff}.step-secondary.step-active .step-text{color:#007bff}.step-success .step-circle{color:#28a745;border-color:#28a745}.step-success.step-completed .step-circle{color:#fff;background-color:#28a745;border-color:#28a745}.step-success.step-completed .step-circle::before{color:#28a745}.step-success.step-completed .step-text{color:#28a745}.step-success.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-success.step-active::before{color:#007bff}.step-success.step-active .step-text{color:#007bff}.step-info .step-circle{color:#17a2b8;border-color:#17a2b8}.step-info.step-completed .step-circle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.step-info.step-completed .step-circle::before{color:#17a2b8}.step-info.step-completed .step-text{color:#17a2b8}.step-info.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-info.step-active::before{color:#007bff}.step-info.step-active .step-text{color:#007bff}.step-warning .step-circle{color:#ffc107;border-color:#ffc107}.step-warning.step-completed .step-circle{color:#fff;background-color:#ffc107;border-color:#ffc107}.step-warning.step-completed .step-circle::before{color:#ffc107}.step-warning.step-completed .step-text{color:#ffc107}.step-warning.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-warning.step-active::before{color:#007bff}.step-warning.step-active .step-text{color:#007bff}.step-danger .step-circle{color:#dc3545;border-color:#dc3545}.step-danger.step-completed .step-circle{color:#fff;background-color:#dc3545;border-color:#dc3545}.step-danger.step-completed .step-circle::before{color:#dc3545}.step-danger.step-completed .step-text{color:#dc3545}.step-danger.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-danger.step-active::before{color:#007bff}.step-danger.step-active .step-text{color:#007bff}.step-light .step-circle{color:#f8f9fa;border-color:#f8f9fa}.step-light.step-completed .step-circle{color:#fff;background-color:#f8f9fa;border-color:#f8f9fa}.step-light.step-completed .step-circle::before{color:#f8f9fa}.step-light.step-completed .step-text{color:#f8f9fa}.step-light.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-light.step-active::before{color:#007bff}.step-light.step-active .step-text{color:#007bff}.step-dark .step-circle{color:#343a40;border-color:#343a40}.step-dark.step-completed .step-circle{color:#fff;background-color:#343a40;border-color:#343a40}.step-dark.step-completed .step-circle::before{color:#343a40}.step-dark.step-completed .step-text{color:#343a40}.step-dark.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-dark.step-active::before{color:#007bff}.step-dark.step-active .step-text{color:#007bff}.step-link .step-circle{color:#3273dc;border-color:#3273dc}.step-link.step-completed .step-circle{color:#fff;background-color:#3273dc;border-color:#3273dc}.step-link.step-completed .step-circle::before{color:#3273dc}.step-link.step-completed .step-text{color:#3273dc}.step-link.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff}.step-link.step-active::before{color:#007bff}.step-link.step-active .step-text{color:#007bff}.steps-content{margin:1rem 0}.steps-content>.step-panel{display:none}.steps-content>.active{display:block}.form-check.form-switch .form-check-input.form-check-input-primary:checked{background-color:#007bff;border-color:#007bff}.form-check.form-switch .form-check-input.form-check-input-secondary:checked{background-color:#6c757d;border-color:#6c757d}.form-check.form-switch .form-check-input.form-check-input-success:checked{background-color:#28a745;border-color:#28a745}.form-check.form-switch .form-check-input.form-check-input-info:checked{background-color:#17a2b8;border-color:#17a2b8}.form-check.form-switch .form-check-input.form-check-input-warning:checked{background-color:#ffc107;border-color:#ffc107}.form-check.form-switch .form-check-input.form-check-input-danger:checked{background-color:#dc3545;border-color:#dc3545}.form-check.form-switch .form-check-input.form-check-input-light:checked{background-color:#f8f9fa;border-color:#f8f9fa}.form-check.form-switch .form-check-input.form-check-input-dark:checked{background-color:#343a40;border-color:#343a40}.form-check.form-switch .form-check-input.form-check-input-link:checked{background-color:#3273dc;border-color:#3273dc}.form-check.form-switch .form-check-input.form-check-input-xs{width:calc(.75rem + (.5rem/2));height:.5rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-xs+.form-check-label{line-height:1rem;vertical-align:middle;padding-left:0}.form-check.form-switch .form-check-input.form-check-input-xs:checked~.form-check-label::after{transform:translateX(calc(.75rem - (.5rem/2)))}.form-check.form-switch .form-check-input.form-check-input-sm{width:calc(1rem + (.75rem/2));height:.75rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-sm+.form-check-label{line-height:1.25rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-sm:checked~.form-check-label::after{transform:translateX(calc(1rem - (.75rem/2)))}.form-check.form-switch .form-check-input.form-check-input-md{width:calc(2rem + (1.5rem/2));height:1.5rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-md+.form-check-label{line-height:2rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-md:checked~.form-check-label::after{transform:translateX(calc(2rem - (1.5rem/2)))}.form-check.form-switch .form-check-input.form-check-input-lg{width:calc(3rem + (2rem/2));height:2rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-lg+.form-check-label{line-height:2.5rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-lg:checked~.form-check-label::after{transform:translateX(calc(3rem - (2rem/2)))}.form-check.form-switch .form-check-input.form-check-input-xl{width:calc(4rem + (2.5rem/2));height:2.5rem;margin-left:-2.5em}.form-check.form-switch .form-check-input.form-check-input-xl+.form-check-label{line-height:3rem;vertical-align:middle;padding-left:.75rem}.form-check.form-switch .form-check-input.form-check-input-xl:checked~.form-check-label::after{transform:translateX(calc(4rem - (2.5rem/2)))}table.table tbody tr:not(.table-group).selected{background-color:var(--bs-primary)}table.table tbody tr.table-group{cursor:pointer;background-color:var(--b-theme-light,var(--bs-light,#f5f5f5));font-weight:700}tr.table-row-selectable:hover{cursor:pointer}tr.table-row-selectable:focus[tabindex="0"]{outline:0}.table-fixed-header{overflow-y:auto}.table-fixed-header>.table{border-collapse:separate;border-spacing:0}.table-fixed-header>.table>thead:not(.table-thead-theme)>tr>th{background:#fff}.table-fixed-header>.table>thead>tr>th{border-top:0;position:sticky;z-index:10}.table-fixed-header>.table>thead>tr:nth-child(1)>th{top:0}.table-fixed-header>.table-bordered>:not(caption)>*>*{border-width:1px 1px}.overflow-auto-auto{overflow:auto auto!important}.overflow-auto-hidden{overflow:auto hidden!important}.overflow-auto-visible{overflow:auto visible!important}.overflow-auto-scroll{overflow:auto scroll!important}.overflow-hidden-auto{overflow:hidden auto!important}.overflow-hidden-hidden{overflow:hidden hidden!important}.overflow-hidden-visible{overflow:hidden visible!important}.overflow-hidden-scroll{overflow:hidden scroll!important}.overflow-visible-auto{overflow:visible auto!important}.overflow-visible-hidden{overflow:visible hidden!important}.overflow-visible-visible{overflow:visible visible!important}.overflow-visible-scroll{overflow:visible scroll!important}.overflow-scroll-auto{overflow:scroll auto!important}.overflow-scroll-hidden{overflow:scroll hidden!important}.overflow-scroll-visible{overflow:scroll visible!important}.overflow-scroll-scroll{overflow:scroll scroll!important}ol.ordered-list-lower-alpha{list-style-type:lower-alpha}ol.ordered-list-lower-roman{list-style-type:lower-roman}ol.ordered-list-upper-alpha{list-style-type:upper-alpha}ol.ordered-list-upper-roman{list-style-type:upper-roman}.border-1{border:1px solid #dee2e6!important}.border-1.border-primary{border-color:#007bff!important}.border-1.border-secondary{border-color:#6c757d!important}.border-1.border-success{border-color:#28a745!important}.border-1.border-info{border-color:#17a2b8!important}.border-1.border-warning{border-color:#ffc107!important}.border-1.border-danger{border-color:#dc3545!important}.border-1.border-light{border-color:#f8f9fa!important}.border-1.border-dark{border-color:#343a40!important}.border-1.border-link{border-color:#3273dc!important}.border-primary-1{border:1px solid #007bff!important}.border-secondary-1{border:1px solid #6c757d!important}.border-success-1{border:1px solid #28a745!important}.border-info-1{border:1px solid #17a2b8!important}.border-warning-1{border:1px solid #ffc107!important}.border-danger-1{border:1px solid #dc3545!important}.border-light-1{border:1px solid #f8f9fa!important}.border-dark-1{border:1px solid #343a40!important}.border-link-1{border:1px solid #3273dc!important}.border-top-1{border-top:1px solid #dee2e6!important}.border-primary-top-1{border-top:1px solid #007bff!important}.border-secondary-top-1{border-top:1px solid #6c757d!important}.border-success-top-1{border-top:1px solid #28a745!important}.border-info-top-1{border-top:1px solid #17a2b8!important}.border-warning-top-1{border-top:1px solid #ffc107!important}.border-danger-top-1{border-top:1px solid #dc3545!important}.border-light-top-1{border-top:1px solid #f8f9fa!important}.border-dark-top-1{border-top:1px solid #343a40!important}.border-link-top-1{border-top:1px solid #3273dc!important}.border-end-1{border-right:1px solid #dee2e6!important}.border-primary-end-1{border-right:1px solid #007bff!important}.border-secondary-end-1{border-right:1px solid #6c757d!important}.border-success-end-1{border-right:1px solid #28a745!important}.border-info-end-1{border-right:1px solid #17a2b8!important}.border-warning-end-1{border-right:1px solid #ffc107!important}.border-danger-end-1{border-right:1px solid #dc3545!important}.border-light-end-1{border-right:1px solid #f8f9fa!important}.border-dark-end-1{border-right:1px solid #343a40!important}.border-link-end-1{border-right:1px solid #3273dc!important}.border-bottom-1{border-bottom:1px solid #dee2e6!important}.border-primary-bottom-1{border-bottom:1px solid #007bff!important}.border-secondary-bottom-1{border-bottom:1px solid #6c757d!important}.border-success-bottom-1{border-bottom:1px solid #28a745!important}.border-info-bottom-1{border-bottom:1px solid #17a2b8!important}.border-warning-bottom-1{border-bottom:1px solid #ffc107!important}.border-danger-bottom-1{border-bottom:1px solid #dc3545!important}.border-light-bottom-1{border-bottom:1px solid #f8f9fa!important}.border-dark-bottom-1{border-bottom:1px solid #343a40!important}.border-link-bottom-1{border-bottom:1px solid #3273dc!important}.border-start-1{border-left:1px solid #dee2e6!important}.border-primary-start-1{border-left:1px solid #007bff!important}.border-secondary-start-1{border-left:1px solid #6c757d!important}.border-success-start-1{border-left:1px solid #28a745!important}.border-info-start-1{border-left:1px solid #17a2b8!important}.border-warning-start-1{border-left:1px solid #ffc107!important}.border-danger-start-1{border-left:1px solid #dc3545!important}.border-light-start-1{border-left:1px solid #f8f9fa!important}.border-dark-start-1{border-left:1px solid #343a40!important}.border-link-start-1{border-left:1px solid #3273dc!important}.border-2{border:2px solid #dee2e6!important}.border-2.border-primary{border-color:#007bff!important}.border-2.border-secondary{border-color:#6c757d!important}.border-2.border-success{border-color:#28a745!important}.border-2.border-info{border-color:#17a2b8!important}.border-2.border-warning{border-color:#ffc107!important}.border-2.border-danger{border-color:#dc3545!important}.border-2.border-light{border-color:#f8f9fa!important}.border-2.border-dark{border-color:#343a40!important}.border-2.border-link{border-color:#3273dc!important}.border-primary-2{border:2px solid #007bff!important}.border-secondary-2{border:2px solid #6c757d!important}.border-success-2{border:2px solid #28a745!important}.border-info-2{border:2px solid #17a2b8!important}.border-warning-2{border:2px solid #ffc107!important}.border-danger-2{border:2px solid #dc3545!important}.border-light-2{border:2px solid #f8f9fa!important}.border-dark-2{border:2px solid #343a40!important}.border-link-2{border:2px solid #3273dc!important}.border-top-2{border-top:2px solid #dee2e6!important}.border-primary-top-2{border-top:2px solid #007bff!important}.border-secondary-top-2{border-top:2px solid #6c757d!important}.border-success-top-2{border-top:2px solid #28a745!important}.border-info-top-2{border-top:2px solid #17a2b8!important}.border-warning-top-2{border-top:2px solid #ffc107!important}.border-danger-top-2{border-top:2px solid #dc3545!important}.border-light-top-2{border-top:2px solid #f8f9fa!important}.border-dark-top-2{border-top:2px solid #343a40!important}.border-link-top-2{border-top:2px solid #3273dc!important}.border-end-2{border-right:2px solid #dee2e6!important}.border-primary-end-2{border-right:2px solid #007bff!important}.border-secondary-end-2{border-right:2px solid #6c757d!important}.border-success-end-2{border-right:2px solid #28a745!important}.border-info-end-2{border-right:2px solid #17a2b8!important}.border-warning-end-2{border-right:2px solid #ffc107!important}.border-danger-end-2{border-right:2px solid #dc3545!important}.border-light-end-2{border-right:2px solid #f8f9fa!important}.border-dark-end-2{border-right:2px solid #343a40!important}.border-link-end-2{border-right:2px solid #3273dc!important}.border-bottom-2{border-bottom:2px solid #dee2e6!important}.border-primary-bottom-2{border-bottom:2px solid #007bff!important}.border-secondary-bottom-2{border-bottom:2px solid #6c757d!important}.border-success-bottom-2{border-bottom:2px solid #28a745!important}.border-info-bottom-2{border-bottom:2px solid #17a2b8!important}.border-warning-bottom-2{border-bottom:2px solid #ffc107!important}.border-danger-bottom-2{border-bottom:2px solid #dc3545!important}.border-light-bottom-2{border-bottom:2px solid #f8f9fa!important}.border-dark-bottom-2{border-bottom:2px solid #343a40!important}.border-link-bottom-2{border-bottom:2px solid #3273dc!important}.border-start-2{border-left:2px solid #dee2e6!important}.border-primary-start-2{border-left:2px solid #007bff!important}.border-secondary-start-2{border-left:2px solid #6c757d!important}.border-success-start-2{border-left:2px solid #28a745!important}.border-info-start-2{border-left:2px solid #17a2b8!important}.border-warning-start-2{border-left:2px solid #ffc107!important}.border-danger-start-2{border-left:2px solid #dc3545!important}.border-light-start-2{border-left:2px solid #f8f9fa!important}.border-dark-start-2{border-left:2px solid #343a40!important}.border-link-start-2{border-left:2px solid #3273dc!important}.border-3{border:3px solid #dee2e6!important}.border-3.border-primary{border-color:#007bff!important}.border-3.border-secondary{border-color:#6c757d!important}.border-3.border-success{border-color:#28a745!important}.border-3.border-info{border-color:#17a2b8!important}.border-3.border-warning{border-color:#ffc107!important}.border-3.border-danger{border-color:#dc3545!important}.border-3.border-light{border-color:#f8f9fa!important}.border-3.border-dark{border-color:#343a40!important}.border-3.border-link{border-color:#3273dc!important}.border-primary-3{border:3px solid #007bff!important}.border-secondary-3{border:3px solid #6c757d!important}.border-success-3{border:3px solid #28a745!important}.border-info-3{border:3px solid #17a2b8!important}.border-warning-3{border:3px solid #ffc107!important}.border-danger-3{border:3px solid #dc3545!important}.border-light-3{border:3px solid #f8f9fa!important}.border-dark-3{border:3px solid #343a40!important}.border-link-3{border:3px solid #3273dc!important}.border-top-3{border-top:3px solid #dee2e6!important}.border-primary-top-3{border-top:3px solid #007bff!important}.border-secondary-top-3{border-top:3px solid #6c757d!important}.border-success-top-3{border-top:3px solid #28a745!important}.border-info-top-3{border-top:3px solid #17a2b8!important}.border-warning-top-3{border-top:3px solid #ffc107!important}.border-danger-top-3{border-top:3px solid #dc3545!important}.border-light-top-3{border-top:3px solid #f8f9fa!important}.border-dark-top-3{border-top:3px solid #343a40!important}.border-link-top-3{border-top:3px solid #3273dc!important}.border-end-3{border-right:3px solid #dee2e6!important}.border-primary-end-3{border-right:3px solid #007bff!important}.border-secondary-end-3{border-right:3px solid #6c757d!important}.border-success-end-3{border-right:3px solid #28a745!important}.border-info-end-3{border-right:3px solid #17a2b8!important}.border-warning-end-3{border-right:3px solid #ffc107!important}.border-danger-end-3{border-right:3px solid #dc3545!important}.border-light-end-3{border-right:3px solid #f8f9fa!important}.border-dark-end-3{border-right:3px solid #343a40!important}.border-link-end-3{border-right:3px solid #3273dc!important}.border-bottom-3{border-bottom:3px solid #dee2e6!important}.border-primary-bottom-3{border-bottom:3px solid #007bff!important}.border-secondary-bottom-3{border-bottom:3px solid #6c757d!important}.border-success-bottom-3{border-bottom:3px solid #28a745!important}.border-info-bottom-3{border-bottom:3px solid #17a2b8!important}.border-warning-bottom-3{border-bottom:3px solid #ffc107!important}.border-danger-bottom-3{border-bottom:3px solid #dc3545!important}.border-light-bottom-3{border-bottom:3px solid #f8f9fa!important}.border-dark-bottom-3{border-bottom:3px solid #343a40!important}.border-link-bottom-3{border-bottom:3px solid #3273dc!important}.border-start-3{border-left:3px solid #dee2e6!important}.border-primary-start-3{border-left:3px solid #007bff!important}.border-secondary-start-3{border-left:3px solid #6c757d!important}.border-success-start-3{border-left:3px solid #28a745!important}.border-info-start-3{border-left:3px solid #17a2b8!important}.border-warning-start-3{border-left:3px solid #ffc107!important}.border-danger-start-3{border-left:3px solid #dc3545!important}.border-light-start-3{border-left:3px solid #f8f9fa!important}.border-dark-start-3{border-left:3px solid #343a40!important}.border-link-start-3{border-left:3px solid #3273dc!important}.border-4{border:4px solid #dee2e6!important}.border-4.border-primary{border-color:#007bff!important}.border-4.border-secondary{border-color:#6c757d!important}.border-4.border-success{border-color:#28a745!important}.border-4.border-info{border-color:#17a2b8!important}.border-4.border-warning{border-color:#ffc107!important}.border-4.border-danger{border-color:#dc3545!important}.border-4.border-light{border-color:#f8f9fa!important}.border-4.border-dark{border-color:#343a40!important}.border-4.border-link{border-color:#3273dc!important}.border-primary-4{border:4px solid #007bff!important}.border-secondary-4{border:4px solid #6c757d!important}.border-success-4{border:4px solid #28a745!important}.border-info-4{border:4px solid #17a2b8!important}.border-warning-4{border:4px solid #ffc107!important}.border-danger-4{border:4px solid #dc3545!important}.border-light-4{border:4px solid #f8f9fa!important}.border-dark-4{border:4px solid #343a40!important}.border-link-4{border:4px solid #3273dc!important}.border-top-4{border-top:4px solid #dee2e6!important}.border-primary-top-4{border-top:4px solid #007bff!important}.border-secondary-top-4{border-top:4px solid #6c757d!important}.border-success-top-4{border-top:4px solid #28a745!important}.border-info-top-4{border-top:4px solid #17a2b8!important}.border-warning-top-4{border-top:4px solid #ffc107!important}.border-danger-top-4{border-top:4px solid #dc3545!important}.border-light-top-4{border-top:4px solid #f8f9fa!important}.border-dark-top-4{border-top:4px solid #343a40!important}.border-link-top-4{border-top:4px solid #3273dc!important}.border-end-4{border-right:4px solid #dee2e6!important}.border-primary-end-4{border-right:4px solid #007bff!important}.border-secondary-end-4{border-right:4px solid #6c757d!important}.border-success-end-4{border-right:4px solid #28a745!important}.border-info-end-4{border-right:4px solid #17a2b8!important}.border-warning-end-4{border-right:4px solid #ffc107!important}.border-danger-end-4{border-right:4px solid #dc3545!important}.border-light-end-4{border-right:4px solid #f8f9fa!important}.border-dark-end-4{border-right:4px solid #343a40!important}.border-link-end-4{border-right:4px solid #3273dc!important}.border-bottom-4{border-bottom:4px solid #dee2e6!important}.border-primary-bottom-4{border-bottom:4px solid #007bff!important}.border-secondary-bottom-4{border-bottom:4px solid #6c757d!important}.border-success-bottom-4{border-bottom:4px solid #28a745!important}.border-info-bottom-4{border-bottom:4px solid #17a2b8!important}.border-warning-bottom-4{border-bottom:4px solid #ffc107!important}.border-danger-bottom-4{border-bottom:4px solid #dc3545!important}.border-light-bottom-4{border-bottom:4px solid #f8f9fa!important}.border-dark-bottom-4{border-bottom:4px solid #343a40!important}.border-link-bottom-4{border-bottom:4px solid #3273dc!important}.border-start-4{border-left:4px solid #dee2e6!important}.border-primary-start-4{border-left:4px solid #007bff!important}.border-secondary-start-4{border-left:4px solid #6c757d!important}.border-success-start-4{border-left:4px solid #28a745!important}.border-info-start-4{border-left:4px solid #17a2b8!important}.border-warning-start-4{border-left:4px solid #ffc107!important}.border-danger-start-4{border-left:4px solid #dc3545!important}.border-light-start-4{border-left:4px solid #f8f9fa!important}.border-dark-start-4{border-left:4px solid #343a40!important}.border-link-start-4{border-left:4px solid #3273dc!important}.border-5{border:5px solid #dee2e6!important}.border-5.border-primary{border-color:#007bff!important}.border-5.border-secondary{border-color:#6c757d!important}.border-5.border-success{border-color:#28a745!important}.border-5.border-info{border-color:#17a2b8!important}.border-5.border-warning{border-color:#ffc107!important}.border-5.border-danger{border-color:#dc3545!important}.border-5.border-light{border-color:#f8f9fa!important}.border-5.border-dark{border-color:#343a40!important}.border-5.border-link{border-color:#3273dc!important}.border-primary-5{border:5px solid #007bff!important}.border-secondary-5{border:5px solid #6c757d!important}.border-success-5{border:5px solid #28a745!important}.border-info-5{border:5px solid #17a2b8!important}.border-warning-5{border:5px solid #ffc107!important}.border-danger-5{border:5px solid #dc3545!important}.border-light-5{border:5px solid #f8f9fa!important}.border-dark-5{border:5px solid #343a40!important}.border-link-5{border:5px solid #3273dc!important}.border-top-5{border-top:5px solid #dee2e6!important}.border-primary-top-5{border-top:5px solid #007bff!important}.border-secondary-top-5{border-top:5px solid #6c757d!important}.border-success-top-5{border-top:5px solid #28a745!important}.border-info-top-5{border-top:5px solid #17a2b8!important}.border-warning-top-5{border-top:5px solid #ffc107!important}.border-danger-top-5{border-top:5px solid #dc3545!important}.border-light-top-5{border-top:5px solid #f8f9fa!important}.border-dark-top-5{border-top:5px solid #343a40!important}.border-link-top-5{border-top:5px solid #3273dc!important}.border-end-5{border-right:5px solid #dee2e6!important}.border-primary-end-5{border-right:5px solid #007bff!important}.border-secondary-end-5{border-right:5px solid #6c757d!important}.border-success-end-5{border-right:5px solid #28a745!important}.border-info-end-5{border-right:5px solid #17a2b8!important}.border-warning-end-5{border-right:5px solid #ffc107!important}.border-danger-end-5{border-right:5px solid #dc3545!important}.border-light-end-5{border-right:5px solid #f8f9fa!important}.border-dark-end-5{border-right:5px solid #343a40!important}.border-link-end-5{border-right:5px solid #3273dc!important}.border-bottom-5{border-bottom:5px solid #dee2e6!important}.border-primary-bottom-5{border-bottom:5px solid #007bff!important}.border-secondary-bottom-5{border-bottom:5px solid #6c757d!important}.border-success-bottom-5{border-bottom:5px solid #28a745!important}.border-info-bottom-5{border-bottom:5px solid #17a2b8!important}.border-warning-bottom-5{border-bottom:5px solid #ffc107!important}.border-danger-bottom-5{border-bottom:5px solid #dc3545!important}.border-light-bottom-5{border-bottom:5px solid #f8f9fa!important}.border-dark-bottom-5{border-bottom:5px solid #343a40!important}.border-link-bottom-5{border-bottom:5px solid #3273dc!important}.border-start-5{border-left:5px solid #dee2e6!important}.border-primary-start-5{border-left:5px solid #007bff!important}.border-secondary-start-5{border-left:5px solid #6c757d!important}.border-success-start-5{border-left:5px solid #28a745!important}.border-info-start-5{border-left:5px solid #17a2b8!important}.border-warning-start-5{border-left:5px solid #ffc107!important}.border-danger-start-5{border-left:5px solid #dc3545!important}.border-light-start-5{border-left:5px solid #f8f9fa!important}.border-dark-start-5{border-left:5px solid #343a40!important}.border-link-start-5{border-left:5px solid #3273dc!important}.cursor-pointer{cursor:pointer}.fs-xs{font-size:.75rem!important}.fs-sm{font-size:.925rem!important}.fs-md{font-size:1.125rem!important}.fs-lg{font-size:1.25rem!important}.fs-xl{font-size:1.5rem!important}.grid{display:grid;grid-template-rows:repeat(1,1fr);grid-template-columns:repeat(12,1fr);gap:1.5rem}.grid.g-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid.g-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid.g-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid.g-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid.g-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid.g-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid.g-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid.g-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.g-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.g-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.g-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid.g-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid.g-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid.g-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid.g-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid.g-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}@media(min-width:576px){.grid.g-rows-sm-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid.g-rows-sm-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid.g-rows-sm-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid.g-rows-sm-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid.g-rows-sm-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid.g-rows-sm-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid.g-cols-sm-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid.g-cols-sm-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g-cols-sm-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g-cols-sm-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.g-cols-sm-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.g-cols-sm-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.g-cols-sm-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid.g-cols-sm-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid.g-cols-sm-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid.g-cols-sm-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid.g-cols-sm-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid.g-cols-sm-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media(min-width:768px){.grid.g-rows-md-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid.g-rows-md-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid.g-rows-md-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid.g-rows-md-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid.g-rows-md-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid.g-rows-md-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid.g-cols-md-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid.g-cols-md-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g-cols-md-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g-cols-md-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.g-cols-md-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.g-cols-md-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.g-cols-md-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid.g-cols-md-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid.g-cols-md-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid.g-cols-md-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid.g-cols-md-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid.g-cols-md-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media(min-width:992px){.grid.g-rows-lg-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid.g-rows-lg-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid.g-rows-lg-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid.g-rows-lg-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid.g-rows-lg-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid.g-rows-lg-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid.g-cols-lg-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid.g-cols-lg-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g-cols-lg-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g-cols-lg-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.g-cols-lg-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.g-cols-lg-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.g-cols-lg-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid.g-cols-lg-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid.g-cols-lg-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid.g-cols-lg-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid.g-cols-lg-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid.g-cols-lg-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media(min-width:1200px){.grid.g-rows-xl-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid.g-rows-xl-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid.g-rows-xl-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid.g-rows-xl-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid.g-rows-xl-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid.g-rows-xl-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid.g-cols-xl-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid.g-cols-xl-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g-cols-xl-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g-cols-xl-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.g-cols-xl-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.g-cols-xl-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.g-cols-xl-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid.g-cols-xl-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid.g-cols-xl-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid.g-cols-xl-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid.g-cols-xl-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid.g-cols-xl-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}@media(min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}}@media(min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}}@media(min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}}@media(min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}}.flatpickr-months{margin:.5rem 0}.flatpickr-months .flatpickr-month,.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{height:auto;position:relative}.flatpickr-months .flatpickr-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#007bff}.flatpickr-months .flatpickr-month{color:#212529}.flatpickr-current-month{padding:13px 0 0 0;font-size:115%}.flatpickr-current-month span.cur-month{font-weight:700}.flatpickr-current-month span.cur-month:hover{background:rgba(0,123,255,.15)}.numInputWrapper:hover{background:rgba(0,123,255,.15)}.flatpickr-day{border-radius:.25rem;font-weight:500;color:#212529}.flatpickr-day.today{border-color:#007bff}.flatpickr-day.today:hover{background:#007bff;border-color:#007bff}.flatpickr-day:hover{background:rgba(0,123,255,.1);border-color:rgba(0,0,0,0)}span.flatpickr-weekday{color:#212529}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#007bff;border-color:#007bff}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 #007bff}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:.25rem 0 0 .25rem}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 .25rem .25rem 0}.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:rgba(0,123,255,.1)}.flatpickr-monthSelect-month.selected{background-color:#007bff} +.snackbar{align-items:center;background-color:var(--b-snackbar-background,#323232);color:var(--b-snackbar-text-color,#fff);font-size:.875rem;line-height:1.428572;opacity:0;padding:.875rem 1.5rem;position:fixed;bottom:0;left:0;transform:translateY(100%);transition:opacity 0s var(--transition-duration-mobile-leaving,.195s),transform var(--transition-duration-mobile-leaving,.195s) cubic-bezier(.4,0,1,1);width:100%;z-index:60}@media(min-width:768px){.snackbar{border-radius:2px;max-width:35.5rem;min-width:18rem;left:50%;transform:translate(-50%,100%);width:auto}}@media(min-width:768px){.snackbar{transition:opacity 0s var(--transition-duration-tablet-leaving,.2535s),transform var(--transition-duration-tablet-leaving,.2535s) cubic-bezier(.4,0,1,1)}}@media(min-width:1200px){.snackbar{transition:opacity 0s var(--transition-duration-desktop-leaving,.13s),transform var(--transition-duration-desktop-leaving,.13s) cubic-bezier(.4,0,1,1)}}@media screen and (prefers-reduced-motion:reduce){.snackbar{transition:none}}.snackbar.snackbar-show{transition-duration:var(--transition-duration-mobile-entering,.225s);transition-property:transform;transition-timing-function:cubic-bezier(0,0,.2,1);opacity:1;transform:translateY(0)}@media(min-width:768px){.snackbar.snackbar-show{transition-duration:var(--transition-duration-tablet-entering,.2925s)}}@media(min-width:1200px){.snackbar.snackbar-show{transition-duration:var(--transition-duration-desktop-entering,.15s)}}@media screen and (prefers-reduced-motion:reduce){.snackbar.snackbar-show{transition:none}}@media(min-width:768px){.snackbar.snackbar-show{transform:translate(-50%,-1.5rem)}}.snackbar-header{display:flex;-ms-flex-pack:justify;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:DARKEN(var(--b-snackbar-background,#323232),30%);margin-right:auto;min-width:0;font-weight:bold;padding-bottom:.875rem}.snackbar-footer{display:flex;-ms-flex-pack:justify;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:DARKEN(var(--b-snackbar-background,#323232),30%);margin-right:auto;min-width:0;padding-top:.875rem}.snackbar-body{display:flex;-ms-flex-pack:justify;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto;max-height:100%;min-width:0}.snackbar-action-button{transition-duration:var(--transition-duration-mobile,.3s);transition-property:background-color,background-image;transition-timing-function:cubic-bezier(.4,0,.2,1);background-color:transparent;background-image:none;border:0;color:var(--b-snackbar-button-color,var(--b-snackbar-button-color,#ff4081));cursor:pointer;display:block;flex-shrink:0;font-size:inherit;font-weight:500;line-height:inherit;padding:0;text-transform:uppercase;white-space:nowrap}@media(min-width:768px){.snackbar-action-button{transition-duration:var(--transition-duration-tablet,.39s)}}@media(min-width:1200px){.snackbar-action-button{transition-duration:var(--transition-duration-desktop,.2s)}}@media screen and (prefers-reduced-motion:reduce){.snackbar-action-button{transition:none}}.snackbar-action-button:focus,.snackbar-action-button:hover{color:var(--b-snackbar-button-hover-color,var(--b-snackbar-button-hover-color,#ff80ab));text-decoration:none}@media(min-width:768px){.snackbar-action-button{margin-left:3rem}}.snackbar-action-button:focus{outline:0}@media(min-width:768px){.snackbar-bottom-start,.snackbar-bottom-end{transform:translateY(100%)}.snackbar-bottom-start.snackbar-show,.snackbar-bottom-end.snackbar-show{transform:translateY(-1.5rem)}}@media(min-width:768px){.snackbar-bottom-start{left:1.5rem}}@media(min-width:768px){.snackbar-bottom-end{right:1.5rem;left:auto}}.snackbar-top{top:0;bottom:auto;transform:translateY(-100%)}@media(min-width:768px){.snackbar-top{transform:translateX(-50%) translateY(-100%)}.snackbar-top.snackbar-show{transform:translate(-50%,1.5rem)}}.snackbar-top-start{top:0;bottom:auto;transform:translateY(-100%);left:0}@media(min-width:768px){.snackbar-top-start{transform:translateY(-100%);left:1.5rem}.snackbar-top-start.snackbar-show{transform:translateY(1.5rem)}}.snackbar-top-end{top:0;bottom:auto;transform:translateY(-100%)}@media(min-width:768px){.snackbar-top-end{transform:translateY(-100%);right:1.5rem;left:auto}.snackbar-top-end.snackbar-show{transform:translateY(1.5rem)}}.snackbar-multi-line{padding-top:1.25rem;padding-bottom:1.25rem}.snackbar-multi-line .snackbar-body{white-space:normal}.snackbar-primary{background-color:var(--b-snackbar-background-primary,#cce5ff);color:var(--b-snackbar-text-primary,#004085)}.snackbar-action-button-primary{color:var(--b-snackbar-button-primary,#ff4081)}.snackbar-action-button-primary:focus,.snackbar-action-button-primary:hover{color:var(--b-snackbar-button-hover-primary,#ff80ab)}.snackbar-secondary{background-color:var(--b-snackbar-background-secondary,#e2e3e5);color:var(--b-snackbar-text-secondary,#383d41)}.snackbar-action-button-secondary{color:var(--b-snackbar-button-secondary,#ff4081)}.snackbar-action-button-secondary:focus,.snackbar-action-button-secondary:hover{color:var(--b-snackbar-button-hover-secondary,#ff80ab)}.snackbar-success{background-color:var(--b-snackbar-background-success,#d4edda);color:var(--b-snackbar-text-success,#155724)}.snackbar-action-button-success{color:var(--b-snackbar-button-success,#ff4081)}.snackbar-action-button-success:focus,.snackbar-action-button-success:hover{color:var(--b-snackbar-button-hover-success,#ff80ab)}.snackbar-danger{background-color:var(--b-snackbar-background-danger,#f8d7da);color:var(--b-snackbar-text-danger,#721c24)}.snackbar-action-button-danger{color:var(--b-snackbar-button-danger,#ff4081)}.snackbar-action-button-danger:focus,.snackbar-action-button-danger:hover{color:var(--b-snackbar-button-hover-danger,#ff80ab)}.snackbar-warning{background-color:var(--b-snackbar-background-warning,#fff3cd);color:var(--b-snackbar-text-warning,#856404)}.snackbar-action-button-warning{color:var(--b-snackbar-button-warning,#ff4081)}.snackbar-action-button-warning:focus,.snackbar-action-button-warning:hover{color:var(--b-snackbar-button-hover-warning,#ff80ab)}.snackbar-info{background-color:var(--b-snackbar-background-info,#d1ecf1);color:var(--b-snackbar-text-info,#0c5460)}.snackbar-action-button-info{color:var(--b-snackbar-button-info,#ff4081)}.snackbar-action-button-info:focus,.snackbar-action-button-info:hover{color:var(--b-snackbar-button-hover-info,#ff80ab)}.snackbar-light{background-color:var(--b-snackbar-background-light,#fefefe);color:var(--b-snackbar-text-light,#818182)}.snackbar-action-button-light{color:var(--b-snackbar-button-light,#ff4081)}.snackbar-action-button-light:focus,.snackbar-action-button-light:hover{color:var(--b-snackbar-button-hover-light,#ff80ab)}.snackbar-dark{background-color:var(--b-snackbar-background-dark,#d6d8d9);color:var(--b-snackbar-text-dark,#1b1e21)}.snackbar-action-button-dark{color:var(--b-snackbar-button-dark,#ff4081)}.snackbar-action-button-dark:focus,.snackbar-action-button-dark:hover{color:var(--b-snackbar-button-hover-dark,#ff80ab)}.snackbar-stack-bottom-end,.snackbar-stack-bottom-start,.snackbar-stack-bottom{display:flex;flex-direction:column;position:fixed;z-index:1090!important;bottom:0}.snackbar-stack-bottom-end .snackbar,.snackbar-stack-bottom-start .snackbar,.snackbar-stack-bottom .snackbar{position:relative;flex-direction:row;margin-bottom:0}.snackbar-stack-bottom-end .snackbar:not(:last-child),.snackbar-stack-bottom-start .snackbar:not(:last-child),.snackbar-stack-bottom .snackbar:not(:last-child){margin-bottom:1.5rem}.snackbar-stack-top-end,.snackbar-stack-top-start,.snackbar-stack-top{display:flex;flex-direction:column;align-items:center;justify-content:center;align-content:center;position:fixed;z-index:1090!important;top:0}.snackbar-stack-top-end .snackbar,.snackbar-stack-top-start .snackbar,.snackbar-stack-top .snackbar{position:relative;flex-direction:row;margin-bottom:0}.snackbar-stack-top-end .snackbar.snackbar-show,.snackbar-stack-top-start .snackbar.snackbar-show,.snackbar-stack-top .snackbar.snackbar-show{transform:translate(-50%)}.snackbar-stack-top-end .snackbar:not(:last-child),.snackbar-stack-top-start .snackbar:not(:last-child),.snackbar-stack-top .snackbar:not(:last-child){margin-bottom:1.5rem}.snackbar-stack-top .snackbar.snackbar-show,.snackbar-stack-top-start .snackbar.snackbar-show,.snackbar-stack-top-end .snackbar.snackbar-show{transition:all var(--stack-transition-duration,1000);animation:showTop var(--stack-animation-duration,500) forwards;opacity:1}.snackbar-stack-top .snackbar-hide,.snackbar-stack-top-start .snackbar-hide,.snackbar-stack-top-end .snackbar-hide{transition:all var(--stack-transition-duration,1000);animation:hideTop var(--stack-animation-duration,500) forwards;opacity:0}.snackbar-stack-bottom .snackbar.snackbar-show,.snackbar-stack-bottom-start .snackbar.snackbar-show,.snackbar-stack-bottom-end .snackbar.snackbar-show{transition:all var(--stack-transition-duration,1000);animation:showBottom var(--stack-animation-duration,500) forwards;opacity:1}.snackbar-stack-bottom .snackbar-hide,.snackbar-stack-bottom-start .snackbar-hide,.snackbar-stack-bottom-end .snackbar-hide{transition:all var(--stack-transition-duration,1000);animation:hideBottom var(--stack-animation-duration,500) forwards;opacity:0}@keyframes showTop{0%{max-height:0;padding:0;transform:translate(-50%) translateY(-50px);opacity:0}100%{max-height:150px;padding:.5rem 1rem;transform:translate(-50%) translateY(0);opacity:1}}@keyframes hideTop{0%{max-height:150px;padding:.5rem 1rem;transform:translate(-50%) translateY(0);opacity:1}100%{max-height:0;padding:0;transform:translate(-50%) translateY(-50px);opacity:0}}@keyframes showBottom{0%{max-height:0;padding:0;opacity:0;transform:translate(-50%) translateY(50px)}100%{max-height:150px;padding:.5rem 1rem;opacity:1;transform:translate(-50%) translateY(0)}}@keyframes hideBottom{0%{max-height:150px;transform:translate(-50%) translateY(0);padding:.5rem 1rem;opacity:1}100%{max-height:0;padding:0;transform:translate(-50%) translateY(50px);opacity:0}}@media(min-width:576px){.snackbar-stack-bottom{left:50%;transform:translate(-50%,0%);bottom:1.5rem}.snackbar-stack-bottom-start{left:1.5rem;bottom:1.5rem}.snackbar-stack-bottom-end{right:1.5rem;bottom:1.5rem}.snackbar-stack-top-start{left:1.5rem;top:1.5rem}.snackbar-stack-top-end{right:1.5rem;top:1.5rem}.snackbar-stack-top{left:50%;transform:translate(-50%,0%);top:1.5rem}} +.radar-spinner,.radar-spinner *{box-sizing:border-box}.radar-spinner{height:60px;width:60px;position:relative}.radar-spinner .circle{position:absolute;height:100%;width:100%;top:0;left:0;animation:radar-spinner-animation 2s infinite}.radar-spinner .circle:nth-child(1){padding:calc(60px*5*2*0/110);animation-delay:300ms}.radar-spinner .circle:nth-child(2){padding:calc(60px*5*2*1/110);animation-delay:300ms}.radar-spinner .circle:nth-child(3){padding:calc(60px*5*2*2/110);animation-delay:300ms}.radar-spinner .circle:nth-child(4){padding:calc(60px*5*2*3/110);animation-delay:0ms}.radar-spinner .circle-inner,.radar-spinner .circle-inner-container{height:100%;width:100%;border-radius:50%;border:calc(60px*5/110) solid transparent}.radar-spinner .circle-inner{border-left-color:var(--secondary,#ff1d5e);border-right-color:var(--secondary,#ff1d5e)}@keyframes radar-spinner-animation{50%{transform:rotate(180deg)}100%{transform:rotate(0deg)}} +@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0} /*! * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) * * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ -.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} -@font-face{font-family:"bootstrap-icons";src:url("_content/Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme/side-menu/libs/bootstrap-icons/font/fonts/bootstrap-icons.woff2?30af91bf14e37666a085fb8a161ff36d") format("woff2"),url("_content/Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme/side-menu/libs/bootstrap-icons/font/fonts/bootstrap-icons.woff?30af91bf14e37666a085fb8a161ff36d") 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:""}.bi-alarm-fill::before{content:""}.bi-alarm::before{content:""}.bi-align-bottom::before{content:""}.bi-align-center::before{content:""}.bi-align-end::before{content:""}.bi-align-middle::before{content:""}.bi-align-start::before{content:""}.bi-align-top::before{content:""}.bi-alt::before{content:""}.bi-app-indicator::before{content:""}.bi-app::before{content:""}.bi-archive-fill::before{content:""}.bi-archive::before{content:""}.bi-arrow-90deg-down::before{content:""}.bi-arrow-90deg-left::before{content:""}.bi-arrow-90deg-right::before{content:""}.bi-arrow-90deg-up::before{content:""}.bi-arrow-bar-down::before{content:""}.bi-arrow-bar-left::before{content:""}.bi-arrow-bar-right::before{content:""}.bi-arrow-bar-up::before{content:""}.bi-arrow-clockwise::before{content:""}.bi-arrow-counterclockwise::before{content:""}.bi-arrow-down-circle-fill::before{content:""}.bi-arrow-down-circle::before{content:""}.bi-arrow-down-left-circle-fill::before{content:""}.bi-arrow-down-left-circle::before{content:""}.bi-arrow-down-left-square-fill::before{content:""}.bi-arrow-down-left-square::before{content:""}.bi-arrow-down-left::before{content:""}.bi-arrow-down-right-circle-fill::before{content:""}.bi-arrow-down-right-circle::before{content:""}.bi-arrow-down-right-square-fill::before{content:""}.bi-arrow-down-right-square::before{content:""}.bi-arrow-down-right::before{content:""}.bi-arrow-down-short::before{content:""}.bi-arrow-down-square-fill::before{content:""}.bi-arrow-down-square::before{content:""}.bi-arrow-down-up::before{content:""}.bi-arrow-down::before{content:""}.bi-arrow-left-circle-fill::before{content:""}.bi-arrow-left-circle::before{content:""}.bi-arrow-left-right::before{content:""}.bi-arrow-left-short::before{content:""}.bi-arrow-left-square-fill::before{content:""}.bi-arrow-left-square::before{content:""}.bi-arrow-left::before{content:""}.bi-arrow-repeat::before{content:""}.bi-arrow-return-left::before{content:""}.bi-arrow-return-right::before{content:""}.bi-arrow-right-circle-fill::before{content:""}.bi-arrow-right-circle::before{content:""}.bi-arrow-right-short::before{content:""}.bi-arrow-right-square-fill::before{content:""}.bi-arrow-right-square::before{content:""}.bi-arrow-right::before{content:""}.bi-arrow-up-circle-fill::before{content:""}.bi-arrow-up-circle::before{content:""}.bi-arrow-up-left-circle-fill::before{content:""}.bi-arrow-up-left-circle::before{content:""}.bi-arrow-up-left-square-fill::before{content:""}.bi-arrow-up-left-square::before{content:""}.bi-arrow-up-left::before{content:""}.bi-arrow-up-right-circle-fill::before{content:""}.bi-arrow-up-right-circle::before{content:""}.bi-arrow-up-right-square-fill::before{content:""}.bi-arrow-up-right-square::before{content:""}.bi-arrow-up-right::before{content:""}.bi-arrow-up-short::before{content:""}.bi-arrow-up-square-fill::before{content:""}.bi-arrow-up-square::before{content:""}.bi-arrow-up::before{content:""}.bi-arrows-angle-contract::before{content:""}.bi-arrows-angle-expand::before{content:""}.bi-arrows-collapse::before{content:""}.bi-arrows-expand::before{content:""}.bi-arrows-fullscreen::before{content:""}.bi-arrows-move::before{content:""}.bi-aspect-ratio-fill::before{content:""}.bi-aspect-ratio::before{content:""}.bi-asterisk::before{content:""}.bi-at::before{content:""}.bi-award-fill::before{content:""}.bi-award::before{content:""}.bi-back::before{content:""}.bi-backspace-fill::before{content:""}.bi-backspace-reverse-fill::before{content:""}.bi-backspace-reverse::before{content:""}.bi-backspace::before{content:""}.bi-badge-3d-fill::before{content:""}.bi-badge-3d::before{content:""}.bi-badge-4k-fill::before{content:""}.bi-badge-4k::before{content:""}.bi-badge-8k-fill::before{content:""}.bi-badge-8k::before{content:""}.bi-badge-ad-fill::before{content:""}.bi-badge-ad::before{content:""}.bi-badge-ar-fill::before{content:""}.bi-badge-ar::before{content:""}.bi-badge-cc-fill::before{content:""}.bi-badge-cc::before{content:""}.bi-badge-hd-fill::before{content:""}.bi-badge-hd::before{content:""}.bi-badge-tm-fill::before{content:""}.bi-badge-tm::before{content:""}.bi-badge-vo-fill::before{content:""}.bi-badge-vo::before{content:""}.bi-badge-vr-fill::before{content:""}.bi-badge-vr::before{content:""}.bi-badge-wc-fill::before{content:""}.bi-badge-wc::before{content:""}.bi-bag-check-fill::before{content:""}.bi-bag-check::before{content:""}.bi-bag-dash-fill::before{content:""}.bi-bag-dash::before{content:""}.bi-bag-fill::before{content:""}.bi-bag-plus-fill::before{content:""}.bi-bag-plus::before{content:""}.bi-bag-x-fill::before{content:""}.bi-bag-x::before{content:""}.bi-bag::before{content:""}.bi-bar-chart-fill::before{content:""}.bi-bar-chart-line-fill::before{content:""}.bi-bar-chart-line::before{content:""}.bi-bar-chart-steps::before{content:""}.bi-bar-chart::before{content:""}.bi-basket-fill::before{content:""}.bi-basket::before{content:""}.bi-basket2-fill::before{content:""}.bi-basket2::before{content:""}.bi-basket3-fill::before{content:""}.bi-basket3::before{content:""}.bi-battery-charging::before{content:""}.bi-battery-full::before{content:""}.bi-battery-half::before{content:""}.bi-battery::before{content:""}.bi-bell-fill::before{content:""}.bi-bell::before{content:""}.bi-bezier::before{content:""}.bi-bezier2::before{content:""}.bi-bicycle::before{content:""}.bi-binoculars-fill::before{content:""}.bi-binoculars::before{content:""}.bi-blockquote-left::before{content:""}.bi-blockquote-right::before{content:""}.bi-book-fill::before{content:""}.bi-book-half::before{content:""}.bi-book::before{content:""}.bi-bookmark-check-fill::before{content:""}.bi-bookmark-check::before{content:""}.bi-bookmark-dash-fill::before{content:""}.bi-bookmark-dash::before{content:""}.bi-bookmark-fill::before{content:""}.bi-bookmark-heart-fill::before{content:""}.bi-bookmark-heart::before{content:""}.bi-bookmark-plus-fill::before{content:""}.bi-bookmark-plus::before{content:""}.bi-bookmark-star-fill::before{content:""}.bi-bookmark-star::before{content:""}.bi-bookmark-x-fill::before{content:""}.bi-bookmark-x::before{content:""}.bi-bookmark::before{content:""}.bi-bookmarks-fill::before{content:""}.bi-bookmarks::before{content:""}.bi-bookshelf::before{content:""}.bi-bootstrap-fill::before{content:""}.bi-bootstrap-reboot::before{content:""}.bi-bootstrap::before{content:""}.bi-border-all::before{content:""}.bi-border-bottom::before{content:""}.bi-border-center::before{content:""}.bi-border-inner::before{content:""}.bi-border-left::before{content:""}.bi-border-middle::before{content:""}.bi-border-outer::before{content:""}.bi-border-right::before{content:""}.bi-border-style::before{content:""}.bi-border-top::before{content:""}.bi-border-width::before{content:""}.bi-border::before{content:""}.bi-bounding-box-circles::before{content:""}.bi-bounding-box::before{content:""}.bi-box-arrow-down-left::before{content:""}.bi-box-arrow-down-right::before{content:""}.bi-box-arrow-down::before{content:""}.bi-box-arrow-in-down-left::before{content:""}.bi-box-arrow-in-down-right::before{content:""}.bi-box-arrow-in-down::before{content:""}.bi-box-arrow-in-left::before{content:""}.bi-box-arrow-in-right::before{content:""}.bi-box-arrow-in-up-left::before{content:""}.bi-box-arrow-in-up-right::before{content:""}.bi-box-arrow-in-up::before{content:""}.bi-box-arrow-left::before{content:""}.bi-box-arrow-right::before{content:""}.bi-box-arrow-up-left::before{content:""}.bi-box-arrow-up-right::before{content:""}.bi-box-arrow-up::before{content:""}.bi-box-seam::before{content:""}.bi-box::before{content:""}.bi-braces::before{content:""}.bi-bricks::before{content:""}.bi-briefcase-fill::before{content:""}.bi-briefcase::before{content:""}.bi-brightness-alt-high-fill::before{content:""}.bi-brightness-alt-high::before{content:""}.bi-brightness-alt-low-fill::before{content:""}.bi-brightness-alt-low::before{content:""}.bi-brightness-high-fill::before{content:""}.bi-brightness-high::before{content:""}.bi-brightness-low-fill::before{content:""}.bi-brightness-low::before{content:""}.bi-broadcast-pin::before{content:""}.bi-broadcast::before{content:""}.bi-brush-fill::before{content:""}.bi-brush::before{content:""}.bi-bucket-fill::before{content:""}.bi-bucket::before{content:""}.bi-bug-fill::before{content:""}.bi-bug::before{content:""}.bi-building::before{content:""}.bi-bullseye::before{content:""}.bi-calculator-fill::before{content:""}.bi-calculator::before{content:""}.bi-calendar-check-fill::before{content:""}.bi-calendar-check::before{content:""}.bi-calendar-date-fill::before{content:""}.bi-calendar-date::before{content:""}.bi-calendar-day-fill::before{content:""}.bi-calendar-day::before{content:""}.bi-calendar-event-fill::before{content:""}.bi-calendar-event::before{content:""}.bi-calendar-fill::before{content:""}.bi-calendar-minus-fill::before{content:""}.bi-calendar-minus::before{content:""}.bi-calendar-month-fill::before{content:""}.bi-calendar-month::before{content:""}.bi-calendar-plus-fill::before{content:""}.bi-calendar-plus::before{content:""}.bi-calendar-range-fill::before{content:""}.bi-calendar-range::before{content:""}.bi-calendar-week-fill::before{content:""}.bi-calendar-week::before{content:""}.bi-calendar-x-fill::before{content:""}.bi-calendar-x::before{content:""}.bi-calendar::before{content:""}.bi-calendar2-check-fill::before{content:""}.bi-calendar2-check::before{content:""}.bi-calendar2-date-fill::before{content:""}.bi-calendar2-date::before{content:""}.bi-calendar2-day-fill::before{content:""}.bi-calendar2-day::before{content:""}.bi-calendar2-event-fill::before{content:""}.bi-calendar2-event::before{content:""}.bi-calendar2-fill::before{content:""}.bi-calendar2-minus-fill::before{content:""}.bi-calendar2-minus::before{content:""}.bi-calendar2-month-fill::before{content:""}.bi-calendar2-month::before{content:""}.bi-calendar2-plus-fill::before{content:""}.bi-calendar2-plus::before{content:""}.bi-calendar2-range-fill::before{content:""}.bi-calendar2-range::before{content:""}.bi-calendar2-week-fill::before{content:""}.bi-calendar2-week::before{content:""}.bi-calendar2-x-fill::before{content:""}.bi-calendar2-x::before{content:""}.bi-calendar2::before{content:""}.bi-calendar3-event-fill::before{content:""}.bi-calendar3-event::before{content:""}.bi-calendar3-fill::before{content:""}.bi-calendar3-range-fill::before{content:""}.bi-calendar3-range::before{content:""}.bi-calendar3-week-fill::before{content:""}.bi-calendar3-week::before{content:""}.bi-calendar3::before{content:""}.bi-calendar4-event::before{content:""}.bi-calendar4-range::before{content:""}.bi-calendar4-week::before{content:""}.bi-calendar4::before{content:""}.bi-camera-fill::before{content:""}.bi-camera-reels-fill::before{content:""}.bi-camera-reels::before{content:""}.bi-camera-video-fill::before{content:""}.bi-camera-video-off-fill::before{content:""}.bi-camera-video-off::before{content:""}.bi-camera-video::before{content:""}.bi-camera::before{content:""}.bi-camera2::before{content:""}.bi-capslock-fill::before{content:""}.bi-capslock::before{content:""}.bi-card-checklist::before{content:""}.bi-card-heading::before{content:""}.bi-card-image::before{content:""}.bi-card-list::before{content:""}.bi-card-text::before{content:""}.bi-caret-down-fill::before{content:""}.bi-caret-down-square-fill::before{content:""}.bi-caret-down-square::before{content:""}.bi-caret-down::before{content:""}.bi-caret-left-fill::before{content:""}.bi-caret-left-square-fill::before{content:""}.bi-caret-left-square::before{content:""}.bi-caret-left::before{content:""}.bi-caret-right-fill::before{content:""}.bi-caret-right-square-fill::before{content:""}.bi-caret-right-square::before{content:""}.bi-caret-right::before{content:""}.bi-caret-up-fill::before{content:""}.bi-caret-up-square-fill::before{content:""}.bi-caret-up-square::before{content:""}.bi-caret-up::before{content:""}.bi-cart-check-fill::before{content:""}.bi-cart-check::before{content:""}.bi-cart-dash-fill::before{content:""}.bi-cart-dash::before{content:""}.bi-cart-fill::before{content:""}.bi-cart-plus-fill::before{content:""}.bi-cart-plus::before{content:""}.bi-cart-x-fill::before{content:""}.bi-cart-x::before{content:""}.bi-cart::before{content:""}.bi-cart2::before{content:""}.bi-cart3::before{content:""}.bi-cart4::before{content:""}.bi-cash-stack::before{content:""}.bi-cash::before{content:""}.bi-cast::before{content:""}.bi-chat-dots-fill::before{content:""}.bi-chat-dots::before{content:""}.bi-chat-fill::before{content:""}.bi-chat-left-dots-fill::before{content:""}.bi-chat-left-dots::before{content:""}.bi-chat-left-fill::before{content:""}.bi-chat-left-quote-fill::before{content:""}.bi-chat-left-quote::before{content:""}.bi-chat-left-text-fill::before{content:""}.bi-chat-left-text::before{content:""}.bi-chat-left::before{content:""}.bi-chat-quote-fill::before{content:""}.bi-chat-quote::before{content:""}.bi-chat-right-dots-fill::before{content:""}.bi-chat-right-dots::before{content:""}.bi-chat-right-fill::before{content:""}.bi-chat-right-quote-fill::before{content:""}.bi-chat-right-quote::before{content:""}.bi-chat-right-text-fill::before{content:""}.bi-chat-right-text::before{content:""}.bi-chat-right::before{content:""}.bi-chat-square-dots-fill::before{content:""}.bi-chat-square-dots::before{content:""}.bi-chat-square-fill::before{content:""}.bi-chat-square-quote-fill::before{content:""}.bi-chat-square-quote::before{content:""}.bi-chat-square-text-fill::before{content:""}.bi-chat-square-text::before{content:""}.bi-chat-square::before{content:""}.bi-chat-text-fill::before{content:""}.bi-chat-text::before{content:""}.bi-chat::before{content:""}.bi-check-all::before{content:""}.bi-check-circle-fill::before{content:""}.bi-check-circle::before{content:""}.bi-check-square-fill::before{content:""}.bi-check-square::before{content:""}.bi-check::before{content:""}.bi-check2-all::before{content:""}.bi-check2-circle::before{content:""}.bi-check2-square::before{content:""}.bi-check2::before{content:""}.bi-chevron-bar-contract::before{content:""}.bi-chevron-bar-down::before{content:""}.bi-chevron-bar-expand::before{content:""}.bi-chevron-bar-left::before{content:""}.bi-chevron-bar-right::before{content:""}.bi-chevron-bar-up::before{content:""}.bi-chevron-compact-down::before{content:""}.bi-chevron-compact-left::before{content:""}.bi-chevron-compact-right::before{content:""}.bi-chevron-compact-up::before{content:""}.bi-chevron-contract::before{content:""}.bi-chevron-double-down::before{content:""}.bi-chevron-double-left::before{content:""}.bi-chevron-double-right::before{content:""}.bi-chevron-double-up::before{content:""}.bi-chevron-down::before{content:""}.bi-chevron-expand::before{content:""}.bi-chevron-left::before{content:""}.bi-chevron-right::before{content:""}.bi-chevron-up::before{content:""}.bi-circle-fill::before{content:""}.bi-circle-half::before{content:""}.bi-circle-square::before{content:""}.bi-circle::before{content:""}.bi-clipboard-check::before{content:""}.bi-clipboard-data::before{content:""}.bi-clipboard-minus::before{content:""}.bi-clipboard-plus::before{content:""}.bi-clipboard-x::before{content:""}.bi-clipboard::before{content:""}.bi-clock-fill::before{content:""}.bi-clock-history::before{content:""}.bi-clock::before{content:""}.bi-cloud-arrow-down-fill::before{content:""}.bi-cloud-arrow-down::before{content:""}.bi-cloud-arrow-up-fill::before{content:""}.bi-cloud-arrow-up::before{content:""}.bi-cloud-check-fill::before{content:""}.bi-cloud-check::before{content:""}.bi-cloud-download-fill::before{content:""}.bi-cloud-download::before{content:""}.bi-cloud-drizzle-fill::before{content:""}.bi-cloud-drizzle::before{content:""}.bi-cloud-fill::before{content:""}.bi-cloud-fog-fill::before{content:""}.bi-cloud-fog::before{content:""}.bi-cloud-fog2-fill::before{content:""}.bi-cloud-fog2::before{content:""}.bi-cloud-hail-fill::before{content:""}.bi-cloud-hail::before{content:""}.bi-cloud-haze-1::before{content:""}.bi-cloud-haze-fill::before{content:""}.bi-cloud-haze::before{content:""}.bi-cloud-haze2-fill::before{content:""}.bi-cloud-lightning-fill::before{content:""}.bi-cloud-lightning-rain-fill::before{content:""}.bi-cloud-lightning-rain::before{content:""}.bi-cloud-lightning::before{content:""}.bi-cloud-minus-fill::before{content:""}.bi-cloud-minus::before{content:""}.bi-cloud-moon-fill::before{content:""}.bi-cloud-moon::before{content:""}.bi-cloud-plus-fill::before{content:""}.bi-cloud-plus::before{content:""}.bi-cloud-rain-fill::before{content:""}.bi-cloud-rain-heavy-fill::before{content:""}.bi-cloud-rain-heavy::before{content:""}.bi-cloud-rain::before{content:""}.bi-cloud-slash-fill::before{content:""}.bi-cloud-slash::before{content:""}.bi-cloud-sleet-fill::before{content:""}.bi-cloud-sleet::before{content:""}.bi-cloud-snow-fill::before{content:""}.bi-cloud-snow::before{content:""}.bi-cloud-sun-fill::before{content:""}.bi-cloud-sun::before{content:""}.bi-cloud-upload-fill::before{content:""}.bi-cloud-upload::before{content:""}.bi-cloud::before{content:""}.bi-clouds-fill::before{content:""}.bi-clouds::before{content:""}.bi-cloudy-fill::before{content:""}.bi-cloudy::before{content:""}.bi-code-slash::before{content:""}.bi-code-square::before{content:""}.bi-code::before{content:""}.bi-collection-fill::before{content:""}.bi-collection-play-fill::before{content:""}.bi-collection-play::before{content:""}.bi-collection::before{content:""}.bi-columns-gap::before{content:""}.bi-columns::before{content:""}.bi-command::before{content:""}.bi-compass-fill::before{content:""}.bi-compass::before{content:""}.bi-cone-striped::before{content:""}.bi-cone::before{content:""}.bi-controller::before{content:""}.bi-cpu-fill::before{content:""}.bi-cpu::before{content:""}.bi-credit-card-2-back-fill::before{content:""}.bi-credit-card-2-back::before{content:""}.bi-credit-card-2-front-fill::before{content:""}.bi-credit-card-2-front::before{content:""}.bi-credit-card-fill::before{content:""}.bi-credit-card::before{content:""}.bi-crop::before{content:""}.bi-cup-fill::before{content:""}.bi-cup-straw::before{content:""}.bi-cup::before{content:""}.bi-cursor-fill::before{content:""}.bi-cursor-text::before{content:""}.bi-cursor::before{content:""}.bi-dash-circle-dotted::before{content:""}.bi-dash-circle-fill::before{content:""}.bi-dash-circle::before{content:""}.bi-dash-square-dotted::before{content:""}.bi-dash-square-fill::before{content:""}.bi-dash-square::before{content:""}.bi-dash::before{content:""}.bi-diagram-2-fill::before{content:""}.bi-diagram-2::before{content:""}.bi-diagram-3-fill::before{content:""}.bi-diagram-3::before{content:""}.bi-diamond-fill::before{content:""}.bi-diamond-half::before{content:""}.bi-diamond::before{content:""}.bi-dice-1-fill::before{content:""}.bi-dice-1::before{content:""}.bi-dice-2-fill::before{content:""}.bi-dice-2::before{content:""}.bi-dice-3-fill::before{content:""}.bi-dice-3::before{content:""}.bi-dice-4-fill::before{content:""}.bi-dice-4::before{content:""}.bi-dice-5-fill::before{content:""}.bi-dice-5::before{content:""}.bi-dice-6-fill::before{content:""}.bi-dice-6::before{content:""}.bi-disc-fill::before{content:""}.bi-disc::before{content:""}.bi-discord::before{content:""}.bi-display-fill::before{content:""}.bi-display::before{content:""}.bi-distribute-horizontal::before{content:""}.bi-distribute-vertical::before{content:""}.bi-door-closed-fill::before{content:""}.bi-door-closed::before{content:""}.bi-door-open-fill::before{content:""}.bi-door-open::before{content:""}.bi-dot::before{content:""}.bi-download::before{content:""}.bi-droplet-fill::before{content:""}.bi-droplet-half::before{content:""}.bi-droplet::before{content:""}.bi-earbuds::before{content:""}.bi-easel-fill::before{content:""}.bi-easel::before{content:""}.bi-egg-fill::before{content:""}.bi-egg-fried::before{content:""}.bi-egg::before{content:""}.bi-eject-fill::before{content:""}.bi-eject::before{content:""}.bi-emoji-angry-fill::before{content:""}.bi-emoji-angry::before{content:""}.bi-emoji-dizzy-fill::before{content:""}.bi-emoji-dizzy::before{content:""}.bi-emoji-expressionless-fill::before{content:""}.bi-emoji-expressionless::before{content:""}.bi-emoji-frown-fill::before{content:""}.bi-emoji-frown::before{content:""}.bi-emoji-heart-eyes-fill::before{content:""}.bi-emoji-heart-eyes::before{content:""}.bi-emoji-laughing-fill::before{content:""}.bi-emoji-laughing::before{content:""}.bi-emoji-neutral-fill::before{content:""}.bi-emoji-neutral::before{content:""}.bi-emoji-smile-fill::before{content:""}.bi-emoji-smile-upside-down-fill::before{content:""}.bi-emoji-smile-upside-down::before{content:""}.bi-emoji-smile::before{content:""}.bi-emoji-sunglasses-fill::before{content:""}.bi-emoji-sunglasses::before{content:""}.bi-emoji-wink-fill::before{content:""}.bi-emoji-wink::before{content:""}.bi-envelope-fill::before{content:""}.bi-envelope-open-fill::before{content:""}.bi-envelope-open::before{content:""}.bi-envelope::before{content:""}.bi-eraser-fill::before{content:""}.bi-eraser::before{content:""}.bi-exclamation-circle-fill::before{content:""}.bi-exclamation-circle::before{content:""}.bi-exclamation-diamond-fill::before{content:""}.bi-exclamation-diamond::before{content:""}.bi-exclamation-octagon-fill::before{content:""}.bi-exclamation-octagon::before{content:""}.bi-exclamation-square-fill::before{content:""}.bi-exclamation-square::before{content:""}.bi-exclamation-triangle-fill::before{content:""}.bi-exclamation-triangle::before{content:""}.bi-exclamation::before{content:""}.bi-exclude::before{content:""}.bi-eye-fill::before{content:""}.bi-eye-slash-fill::before{content:""}.bi-eye-slash::before{content:""}.bi-eye::before{content:""}.bi-eyedropper::before{content:""}.bi-eyeglasses::before{content:""}.bi-facebook::before{content:""}.bi-file-arrow-down-fill::before{content:""}.bi-file-arrow-down::before{content:""}.bi-file-arrow-up-fill::before{content:""}.bi-file-arrow-up::before{content:""}.bi-file-bar-graph-fill::before{content:""}.bi-file-bar-graph::before{content:""}.bi-file-binary-fill::before{content:""}.bi-file-binary::before{content:""}.bi-file-break-fill::before{content:""}.bi-file-break::before{content:""}.bi-file-check-fill::before{content:""}.bi-file-check::before{content:""}.bi-file-code-fill::before{content:""}.bi-file-code::before{content:""}.bi-file-diff-fill::before{content:""}.bi-file-diff::before{content:""}.bi-file-earmark-arrow-down-fill::before{content:""}.bi-file-earmark-arrow-down::before{content:""}.bi-file-earmark-arrow-up-fill::before{content:""}.bi-file-earmark-arrow-up::before{content:""}.bi-file-earmark-bar-graph-fill::before{content:""}.bi-file-earmark-bar-graph::before{content:""}.bi-file-earmark-binary-fill::before{content:""}.bi-file-earmark-binary::before{content:""}.bi-file-earmark-break-fill::before{content:""}.bi-file-earmark-break::before{content:""}.bi-file-earmark-check-fill::before{content:""}.bi-file-earmark-check::before{content:""}.bi-file-earmark-code-fill::before{content:""}.bi-file-earmark-code::before{content:""}.bi-file-earmark-diff-fill::before{content:""}.bi-file-earmark-diff::before{content:""}.bi-file-earmark-easel-fill::before{content:""}.bi-file-earmark-easel::before{content:""}.bi-file-earmark-excel-fill::before{content:""}.bi-file-earmark-excel::before{content:""}.bi-file-earmark-fill::before{content:""}.bi-file-earmark-font-fill::before{content:""}.bi-file-earmark-font::before{content:""}.bi-file-earmark-image-fill::before{content:""}.bi-file-earmark-image::before{content:""}.bi-file-earmark-lock-fill::before{content:""}.bi-file-earmark-lock::before{content:""}.bi-file-earmark-lock2-fill::before{content:""}.bi-file-earmark-lock2::before{content:""}.bi-file-earmark-medical-fill::before{content:""}.bi-file-earmark-medical::before{content:""}.bi-file-earmark-minus-fill::before{content:""}.bi-file-earmark-minus::before{content:""}.bi-file-earmark-music-fill::before{content:""}.bi-file-earmark-music::before{content:""}.bi-file-earmark-person-fill::before{content:""}.bi-file-earmark-person::before{content:""}.bi-file-earmark-play-fill::before{content:""}.bi-file-earmark-play::before{content:""}.bi-file-earmark-plus-fill::before{content:""}.bi-file-earmark-plus::before{content:""}.bi-file-earmark-post-fill::before{content:""}.bi-file-earmark-post::before{content:""}.bi-file-earmark-ppt-fill::before{content:""}.bi-file-earmark-ppt::before{content:""}.bi-file-earmark-richtext-fill::before{content:""}.bi-file-earmark-richtext::before{content:""}.bi-file-earmark-ruled-fill::before{content:""}.bi-file-earmark-ruled::before{content:""}.bi-file-earmark-slides-fill::before{content:""}.bi-file-earmark-slides::before{content:""}.bi-file-earmark-spreadsheet-fill::before{content:""}.bi-file-earmark-spreadsheet::before{content:""}.bi-file-earmark-text-fill::before{content:""}.bi-file-earmark-text::before{content:""}.bi-file-earmark-word-fill::before{content:""}.bi-file-earmark-word::before{content:""}.bi-file-earmark-x-fill::before{content:""}.bi-file-earmark-x::before{content:""}.bi-file-earmark-zip-fill::before{content:""}.bi-file-earmark-zip::before{content:""}.bi-file-earmark::before{content:""}.bi-file-easel-fill::before{content:""}.bi-file-easel::before{content:""}.bi-file-excel-fill::before{content:""}.bi-file-excel::before{content:""}.bi-file-fill::before{content:""}.bi-file-font-fill::before{content:""}.bi-file-font::before{content:""}.bi-file-image-fill::before{content:""}.bi-file-image::before{content:""}.bi-file-lock-fill::before{content:""}.bi-file-lock::before{content:""}.bi-file-lock2-fill::before{content:""}.bi-file-lock2::before{content:""}.bi-file-medical-fill::before{content:""}.bi-file-medical::before{content:""}.bi-file-minus-fill::before{content:""}.bi-file-minus::before{content:""}.bi-file-music-fill::before{content:""}.bi-file-music::before{content:""}.bi-file-person-fill::before{content:""}.bi-file-person::before{content:""}.bi-file-play-fill::before{content:""}.bi-file-play::before{content:""}.bi-file-plus-fill::before{content:""}.bi-file-plus::before{content:""}.bi-file-post-fill::before{content:""}.bi-file-post::before{content:""}.bi-file-ppt-fill::before{content:""}.bi-file-ppt::before{content:""}.bi-file-richtext-fill::before{content:""}.bi-file-richtext::before{content:""}.bi-file-ruled-fill::before{content:""}.bi-file-ruled::before{content:""}.bi-file-slides-fill::before{content:""}.bi-file-slides::before{content:""}.bi-file-spreadsheet-fill::before{content:""}.bi-file-spreadsheet::before{content:""}.bi-file-text-fill::before{content:""}.bi-file-text::before{content:""}.bi-file-word-fill::before{content:""}.bi-file-word::before{content:""}.bi-file-x-fill::before{content:""}.bi-file-x::before{content:""}.bi-file-zip-fill::before{content:""}.bi-file-zip::before{content:""}.bi-file::before{content:""}.bi-files-alt::before{content:""}.bi-files::before{content:""}.bi-film::before{content:""}.bi-filter-circle-fill::before{content:""}.bi-filter-circle::before{content:""}.bi-filter-left::before{content:""}.bi-filter-right::before{content:""}.bi-filter-square-fill::before{content:""}.bi-filter-square::before{content:""}.bi-filter::before{content:""}.bi-flag-fill::before{content:""}.bi-flag::before{content:""}.bi-flower1::before{content:""}.bi-flower2::before{content:""}.bi-flower3::before{content:""}.bi-folder-check::before{content:""}.bi-folder-fill::before{content:""}.bi-folder-minus::before{content:""}.bi-folder-plus::before{content:""}.bi-folder-symlink-fill::before{content:""}.bi-folder-symlink::before{content:""}.bi-folder-x::before{content:""}.bi-folder::before{content:""}.bi-folder2-open::before{content:""}.bi-folder2::before{content:""}.bi-fonts::before{content:""}.bi-forward-fill::before{content:""}.bi-forward::before{content:""}.bi-front::before{content:""}.bi-fullscreen-exit::before{content:""}.bi-fullscreen::before{content:""}.bi-funnel-fill::before{content:""}.bi-funnel::before{content:""}.bi-gear-fill::before{content:""}.bi-gear-wide-connected::before{content:""}.bi-gear-wide::before{content:""}.bi-gear::before{content:""}.bi-gem::before{content:""}.bi-geo-alt-fill::before{content:""}.bi-geo-alt::before{content:""}.bi-geo-fill::before{content:""}.bi-geo::before{content:""}.bi-gift-fill::before{content:""}.bi-gift::before{content:""}.bi-github::before{content:""}.bi-globe::before{content:""}.bi-globe2::before{content:""}.bi-google::before{content:""}.bi-graph-down::before{content:""}.bi-graph-up::before{content:""}.bi-grid-1x2-fill::before{content:""}.bi-grid-1x2::before{content:""}.bi-grid-3x2-gap-fill::before{content:""}.bi-grid-3x2-gap::before{content:""}.bi-grid-3x2::before{content:""}.bi-grid-3x3-gap-fill::before{content:""}.bi-grid-3x3-gap::before{content:""}.bi-grid-3x3::before{content:""}.bi-grid-fill::before{content:""}.bi-grid::before{content:""}.bi-grip-horizontal::before{content:""}.bi-grip-vertical::before{content:""}.bi-hammer::before{content:""}.bi-hand-index-fill::before{content:""}.bi-hand-index-thumb-fill::before{content:""}.bi-hand-index-thumb::before{content:""}.bi-hand-index::before{content:""}.bi-hand-thumbs-down-fill::before{content:""}.bi-hand-thumbs-down::before{content:""}.bi-hand-thumbs-up-fill::before{content:""}.bi-hand-thumbs-up::before{content:""}.bi-handbag-fill::before{content:""}.bi-handbag::before{content:""}.bi-hash::before{content:""}.bi-hdd-fill::before{content:""}.bi-hdd-network-fill::before{content:""}.bi-hdd-network::before{content:""}.bi-hdd-rack-fill::before{content:""}.bi-hdd-rack::before{content:""}.bi-hdd-stack-fill::before{content:""}.bi-hdd-stack::before{content:""}.bi-hdd::before{content:""}.bi-headphones::before{content:""}.bi-headset::before{content:""}.bi-heart-fill::before{content:""}.bi-heart-half::before{content:""}.bi-heart::before{content:""}.bi-heptagon-fill::before{content:""}.bi-heptagon-half::before{content:""}.bi-heptagon::before{content:""}.bi-hexagon-fill::before{content:""}.bi-hexagon-half::before{content:""}.bi-hexagon::before{content:""}.bi-hourglass-bottom::before{content:""}.bi-hourglass-split::before{content:""}.bi-hourglass-top::before{content:""}.bi-hourglass::before{content:""}.bi-house-door-fill::before{content:""}.bi-house-door::before{content:""}.bi-house-fill::before{content:""}.bi-house::before{content:""}.bi-hr::before{content:""}.bi-hurricane::before{content:""}.bi-image-alt::before{content:""}.bi-image-fill::before{content:""}.bi-image::before{content:""}.bi-images::before{content:""}.bi-inbox-fill::before{content:""}.bi-inbox::before{content:""}.bi-inboxes-fill::before{content:""}.bi-inboxes::before{content:""}.bi-info-circle-fill::before{content:""}.bi-info-circle::before{content:""}.bi-info-square-fill::before{content:""}.bi-info-square::before{content:""}.bi-info::before{content:""}.bi-input-cursor-text::before{content:""}.bi-input-cursor::before{content:""}.bi-instagram::before{content:""}.bi-intersect::before{content:""}.bi-journal-album::before{content:""}.bi-journal-arrow-down::before{content:""}.bi-journal-arrow-up::before{content:""}.bi-journal-bookmark-fill::before{content:""}.bi-journal-bookmark::before{content:""}.bi-journal-check::before{content:""}.bi-journal-code::before{content:""}.bi-journal-medical::before{content:""}.bi-journal-minus::before{content:""}.bi-journal-plus::before{content:""}.bi-journal-richtext::before{content:""}.bi-journal-text::before{content:""}.bi-journal-x::before{content:""}.bi-journal::before{content:""}.bi-journals::before{content:""}.bi-joystick::before{content:""}.bi-justify-left::before{content:""}.bi-justify-right::before{content:""}.bi-justify::before{content:""}.bi-kanban-fill::before{content:""}.bi-kanban::before{content:""}.bi-key-fill::before{content:""}.bi-key::before{content:""}.bi-keyboard-fill::before{content:""}.bi-keyboard::before{content:""}.bi-ladder::before{content:""}.bi-lamp-fill::before{content:""}.bi-lamp::before{content:""}.bi-laptop-fill::before{content:""}.bi-laptop::before{content:""}.bi-layer-backward::before{content:""}.bi-layer-forward::before{content:""}.bi-layers-fill::before{content:""}.bi-layers-half::before{content:""}.bi-layers::before{content:""}.bi-layout-sidebar-inset-reverse::before{content:""}.bi-layout-sidebar-inset::before{content:""}.bi-layout-sidebar-reverse::before{content:""}.bi-layout-sidebar::before{content:""}.bi-layout-split::before{content:""}.bi-layout-text-sidebar-reverse::before{content:""}.bi-layout-text-sidebar::before{content:""}.bi-layout-text-window-reverse::before{content:""}.bi-layout-text-window::before{content:""}.bi-layout-three-columns::before{content:""}.bi-layout-wtf::before{content:""}.bi-life-preserver::before{content:""}.bi-lightbulb-fill::before{content:""}.bi-lightbulb-off-fill::before{content:""}.bi-lightbulb-off::before{content:""}.bi-lightbulb::before{content:""}.bi-lightning-charge-fill::before{content:""}.bi-lightning-charge::before{content:""}.bi-lightning-fill::before{content:""}.bi-lightning::before{content:""}.bi-link-45deg::before{content:""}.bi-link::before{content:""}.bi-linkedin::before{content:""}.bi-list-check::before{content:""}.bi-list-nested::before{content:""}.bi-list-ol::before{content:""}.bi-list-stars::before{content:""}.bi-list-task::before{content:""}.bi-list-ul::before{content:""}.bi-list::before{content:""}.bi-lock-fill::before{content:""}.bi-lock::before{content:""}.bi-mailbox::before{content:""}.bi-mailbox2::before{content:""}.bi-map-fill::before{content:""}.bi-map::before{content:""}.bi-markdown-fill::before{content:""}.bi-markdown::before{content:""}.bi-mask::before{content:""}.bi-megaphone-fill::before{content:""}.bi-megaphone::before{content:""}.bi-menu-app-fill::before{content:""}.bi-menu-app::before{content:""}.bi-menu-button-fill::before{content:""}.bi-menu-button-wide-fill::before{content:""}.bi-menu-button-wide::before{content:""}.bi-menu-button::before{content:""}.bi-menu-down::before{content:""}.bi-menu-up::before{content:""}.bi-mic-fill::before{content:""}.bi-mic-mute-fill::before{content:""}.bi-mic-mute::before{content:""}.bi-mic::before{content:""}.bi-minecart-loaded::before{content:""}.bi-minecart::before{content:""}.bi-moisture::before{content:""}.bi-moon-fill::before{content:""}.bi-moon-stars-fill::before{content:""}.bi-moon-stars::before{content:""}.bi-moon::before{content:""}.bi-mouse-fill::before{content:""}.bi-mouse::before{content:""}.bi-mouse2-fill::before{content:""}.bi-mouse2::before{content:""}.bi-mouse3-fill::before{content:""}.bi-mouse3::before{content:""}.bi-music-note-beamed::before{content:""}.bi-music-note-list::before{content:""}.bi-music-note::before{content:""}.bi-music-player-fill::before{content:""}.bi-music-player::before{content:""}.bi-newspaper::before{content:""}.bi-node-minus-fill::before{content:""}.bi-node-minus::before{content:""}.bi-node-plus-fill::before{content:""}.bi-node-plus::before{content:""}.bi-nut-fill::before{content:""}.bi-nut::before{content:""}.bi-octagon-fill::before{content:""}.bi-octagon-half::before{content:""}.bi-octagon::before{content:""}.bi-option::before{content:""}.bi-outlet::before{content:""}.bi-paint-bucket::before{content:""}.bi-palette-fill::before{content:""}.bi-palette::before{content:""}.bi-palette2::before{content:""}.bi-paperclip::before{content:""}.bi-paragraph::before{content:""}.bi-patch-check-fill::before{content:""}.bi-patch-check::before{content:""}.bi-patch-exclamation-fill::before{content:""}.bi-patch-exclamation::before{content:""}.bi-patch-minus-fill::before{content:""}.bi-patch-minus::before{content:""}.bi-patch-plus-fill::before{content:""}.bi-patch-plus::before{content:""}.bi-patch-question-fill::before{content:""}.bi-patch-question::before{content:""}.bi-pause-btn-fill::before{content:""}.bi-pause-btn::before{content:""}.bi-pause-circle-fill::before{content:""}.bi-pause-circle::before{content:""}.bi-pause-fill::before{content:""}.bi-pause::before{content:""}.bi-peace-fill::before{content:""}.bi-peace::before{content:""}.bi-pen-fill::before{content:""}.bi-pen::before{content:""}.bi-pencil-fill::before{content:""}.bi-pencil-square::before{content:""}.bi-pencil::before{content:""}.bi-pentagon-fill::before{content:""}.bi-pentagon-half::before{content:""}.bi-pentagon::before{content:""}.bi-people-fill::before{content:""}.bi-people::before{content:""}.bi-percent::before{content:""}.bi-person-badge-fill::before{content:""}.bi-person-badge::before{content:""}.bi-person-bounding-box::before{content:""}.bi-person-check-fill::before{content:""}.bi-person-check::before{content:""}.bi-person-circle::before{content:""}.bi-person-dash-fill::before{content:""}.bi-person-dash::before{content:""}.bi-person-fill::before{content:""}.bi-person-lines-fill::before{content:""}.bi-person-plus-fill::before{content:""}.bi-person-plus::before{content:""}.bi-person-square::before{content:""}.bi-person-x-fill::before{content:""}.bi-person-x::before{content:""}.bi-person::before{content:""}.bi-phone-fill::before{content:""}.bi-phone-landscape-fill::before{content:""}.bi-phone-landscape::before{content:""}.bi-phone-vibrate-fill::before{content:""}.bi-phone-vibrate::before{content:""}.bi-phone::before{content:""}.bi-pie-chart-fill::before{content:""}.bi-pie-chart::before{content:""}.bi-pin-angle-fill::before{content:""}.bi-pin-angle::before{content:""}.bi-pin-fill::before{content:""}.bi-pin::before{content:""}.bi-pip-fill::before{content:""}.bi-pip::before{content:""}.bi-play-btn-fill::before{content:""}.bi-play-btn::before{content:""}.bi-play-circle-fill::before{content:""}.bi-play-circle::before{content:""}.bi-play-fill::before{content:""}.bi-play::before{content:""}.bi-plug-fill::before{content:""}.bi-plug::before{content:""}.bi-plus-circle-dotted::before{content:""}.bi-plus-circle-fill::before{content:""}.bi-plus-circle::before{content:""}.bi-plus-square-dotted::before{content:""}.bi-plus-square-fill::before{content:""}.bi-plus-square::before{content:""}.bi-plus::before{content:""}.bi-power::before{content:""}.bi-printer-fill::before{content:""}.bi-printer::before{content:""}.bi-puzzle-fill::before{content:""}.bi-puzzle::before{content:""}.bi-question-circle-fill::before{content:""}.bi-question-circle::before{content:""}.bi-question-diamond-fill::before{content:""}.bi-question-diamond::before{content:""}.bi-question-octagon-fill::before{content:""}.bi-question-octagon::before{content:""}.bi-question-square-fill::before{content:""}.bi-question-square::before{content:""}.bi-question::before{content:""}.bi-rainbow::before{content:""}.bi-receipt-cutoff::before{content:""}.bi-receipt::before{content:""}.bi-reception-0::before{content:""}.bi-reception-1::before{content:""}.bi-reception-2::before{content:""}.bi-reception-3::before{content:""}.bi-reception-4::before{content:""}.bi-record-btn-fill::before{content:""}.bi-record-btn::before{content:""}.bi-record-circle-fill::before{content:""}.bi-record-circle::before{content:""}.bi-record-fill::before{content:""}.bi-record::before{content:""}.bi-record2-fill::before{content:""}.bi-record2::before{content:""}.bi-reply-all-fill::before{content:""}.bi-reply-all::before{content:""}.bi-reply-fill::before{content:""}.bi-reply::before{content:""}.bi-rss-fill::before{content:""}.bi-rss::before{content:""}.bi-rulers::before{content:""}.bi-save-fill::before{content:""}.bi-save::before{content:""}.bi-save2-fill::before{content:""}.bi-save2::before{content:""}.bi-scissors::before{content:""}.bi-screwdriver::before{content:""}.bi-search::before{content:""}.bi-segmented-nav::before{content:""}.bi-server::before{content:""}.bi-share-fill::before{content:""}.bi-share::before{content:""}.bi-shield-check::before{content:""}.bi-shield-exclamation::before{content:""}.bi-shield-fill-check::before{content:""}.bi-shield-fill-exclamation::before{content:""}.bi-shield-fill-minus::before{content:""}.bi-shield-fill-plus::before{content:""}.bi-shield-fill-x::before{content:""}.bi-shield-fill::before{content:""}.bi-shield-lock-fill::before{content:""}.bi-shield-lock::before{content:""}.bi-shield-minus::before{content:""}.bi-shield-plus::before{content:""}.bi-shield-shaded::before{content:""}.bi-shield-slash-fill::before{content:""}.bi-shield-slash::before{content:""}.bi-shield-x::before{content:""}.bi-shield::before{content:""}.bi-shift-fill::before{content:""}.bi-shift::before{content:""}.bi-shop-window::before{content:""}.bi-shop::before{content:""}.bi-shuffle::before{content:""}.bi-signpost-2-fill::before{content:""}.bi-signpost-2::before{content:""}.bi-signpost-fill::before{content:""}.bi-signpost-split-fill::before{content:""}.bi-signpost-split::before{content:""}.bi-signpost::before{content:""}.bi-sim-fill::before{content:""}.bi-sim::before{content:""}.bi-skip-backward-btn-fill::before{content:""}.bi-skip-backward-btn::before{content:""}.bi-skip-backward-circle-fill::before{content:""}.bi-skip-backward-circle::before{content:""}.bi-skip-backward-fill::before{content:""}.bi-skip-backward::before{content:""}.bi-skip-end-btn-fill::before{content:""}.bi-skip-end-btn::before{content:""}.bi-skip-end-circle-fill::before{content:""}.bi-skip-end-circle::before{content:""}.bi-skip-end-fill::before{content:""}.bi-skip-end::before{content:""}.bi-skip-forward-btn-fill::before{content:""}.bi-skip-forward-btn::before{content:""}.bi-skip-forward-circle-fill::before{content:""}.bi-skip-forward-circle::before{content:""}.bi-skip-forward-fill::before{content:""}.bi-skip-forward::before{content:""}.bi-skip-start-btn-fill::before{content:""}.bi-skip-start-btn::before{content:""}.bi-skip-start-circle-fill::before{content:""}.bi-skip-start-circle::before{content:""}.bi-skip-start-fill::before{content:""}.bi-skip-start::before{content:""}.bi-slack::before{content:""}.bi-slash-circle-fill::before{content:""}.bi-slash-circle::before{content:""}.bi-slash-square-fill::before{content:""}.bi-slash-square::before{content:""}.bi-slash::before{content:""}.bi-sliders::before{content:""}.bi-smartwatch::before{content:""}.bi-snow::before{content:""}.bi-snow2::before{content:""}.bi-snow3::before{content:""}.bi-sort-alpha-down-alt::before{content:""}.bi-sort-alpha-down::before{content:""}.bi-sort-alpha-up-alt::before{content:""}.bi-sort-alpha-up::before{content:""}.bi-sort-down-alt::before{content:""}.bi-sort-down::before{content:""}.bi-sort-numeric-down-alt::before{content:""}.bi-sort-numeric-down::before{content:""}.bi-sort-numeric-up-alt::before{content:""}.bi-sort-numeric-up::before{content:""}.bi-sort-up-alt::before{content:""}.bi-sort-up::before{content:""}.bi-soundwave::before{content:""}.bi-speaker-fill::before{content:""}.bi-speaker::before{content:""}.bi-speedometer::before{content:""}.bi-speedometer2::before{content:""}.bi-spellcheck::before{content:""}.bi-square-fill::before{content:""}.bi-square-half::before{content:""}.bi-square::before{content:""}.bi-stack::before{content:""}.bi-star-fill::before{content:""}.bi-star-half::before{content:""}.bi-star::before{content:""}.bi-stars::before{content:""}.bi-stickies-fill::before{content:""}.bi-stickies::before{content:""}.bi-sticky-fill::before{content:""}.bi-sticky::before{content:""}.bi-stop-btn-fill::before{content:""}.bi-stop-btn::before{content:""}.bi-stop-circle-fill::before{content:""}.bi-stop-circle::before{content:""}.bi-stop-fill::before{content:""}.bi-stop::before{content:""}.bi-stoplights-fill::before{content:""}.bi-stoplights::before{content:""}.bi-stopwatch-fill::before{content:""}.bi-stopwatch::before{content:""}.bi-subtract::before{content:""}.bi-suit-club-fill::before{content:""}.bi-suit-club::before{content:""}.bi-suit-diamond-fill::before{content:""}.bi-suit-diamond::before{content:""}.bi-suit-heart-fill::before{content:""}.bi-suit-heart::before{content:""}.bi-suit-spade-fill::before{content:""}.bi-suit-spade::before{content:""}.bi-sun-fill::before{content:""}.bi-sun::before{content:""}.bi-sunglasses::before{content:""}.bi-sunrise-fill::before{content:""}.bi-sunrise::before{content:""}.bi-sunset-fill::before{content:""}.bi-sunset::before{content:""}.bi-symmetry-horizontal::before{content:""}.bi-symmetry-vertical::before{content:""}.bi-table::before{content:""}.bi-tablet-fill::before{content:""}.bi-tablet-landscape-fill::before{content:""}.bi-tablet-landscape::before{content:""}.bi-tablet::before{content:""}.bi-tag-fill::before{content:""}.bi-tag::before{content:""}.bi-tags-fill::before{content:""}.bi-tags::before{content:""}.bi-telegram::before{content:""}.bi-telephone-fill::before{content:""}.bi-telephone-forward-fill::before{content:""}.bi-telephone-forward::before{content:""}.bi-telephone-inbound-fill::before{content:""}.bi-telephone-inbound::before{content:""}.bi-telephone-minus-fill::before{content:""}.bi-telephone-minus::before{content:""}.bi-telephone-outbound-fill::before{content:""}.bi-telephone-outbound::before{content:""}.bi-telephone-plus-fill::before{content:""}.bi-telephone-plus::before{content:""}.bi-telephone-x-fill::before{content:""}.bi-telephone-x::before{content:""}.bi-telephone::before{content:""}.bi-terminal-fill::before{content:""}.bi-terminal::before{content:""}.bi-text-center::before{content:""}.bi-text-indent-left::before{content:""}.bi-text-indent-right::before{content:""}.bi-text-left::before{content:""}.bi-text-paragraph::before{content:""}.bi-text-right::before{content:""}.bi-textarea-resize::before{content:""}.bi-textarea-t::before{content:""}.bi-textarea::before{content:""}.bi-thermometer-half::before{content:""}.bi-thermometer-high::before{content:""}.bi-thermometer-low::before{content:""}.bi-thermometer-snow::before{content:""}.bi-thermometer-sun::before{content:""}.bi-thermometer::before{content:""}.bi-three-dots-vertical::before{content:""}.bi-three-dots::before{content:""}.bi-toggle-off::before{content:""}.bi-toggle-on::before{content:""}.bi-toggle2-off::before{content:""}.bi-toggle2-on::before{content:""}.bi-toggles::before{content:""}.bi-toggles2::before{content:""}.bi-tools::before{content:""}.bi-tornado::before{content:""}.bi-trash-fill::before{content:""}.bi-trash::before{content:""}.bi-trash2-fill::before{content:""}.bi-trash2::before{content:""}.bi-tree-fill::before{content:""}.bi-tree::before{content:""}.bi-triangle-fill::before{content:""}.bi-triangle-half::before{content:""}.bi-triangle::before{content:""}.bi-trophy-fill::before{content:""}.bi-trophy::before{content:""}.bi-tropical-storm::before{content:""}.bi-truck-flatbed::before{content:""}.bi-truck::before{content:""}.bi-tsunami::before{content:""}.bi-tv-fill::before{content:""}.bi-tv::before{content:""}.bi-twitch::before{content:""}.bi-twitter::before{content:""}.bi-type-bold::before{content:""}.bi-type-h1::before{content:""}.bi-type-h2::before{content:""}.bi-type-h3::before{content:""}.bi-type-italic::before{content:""}.bi-type-strikethrough::before{content:""}.bi-type-underline::before{content:""}.bi-type::before{content:""}.bi-ui-checks-grid::before{content:""}.bi-ui-checks::before{content:""}.bi-ui-radios-grid::before{content:""}.bi-ui-radios::before{content:""}.bi-umbrella-fill::before{content:""}.bi-umbrella::before{content:""}.bi-union::before{content:""}.bi-unlock-fill::before{content:""}.bi-unlock::before{content:""}.bi-upc-scan::before{content:""}.bi-upc::before{content:""}.bi-upload::before{content:""}.bi-vector-pen::before{content:""}.bi-view-list::before{content:""}.bi-view-stacked::before{content:""}.bi-vinyl-fill::before{content:""}.bi-vinyl::before{content:""}.bi-voicemail::before{content:""}.bi-volume-down-fill::before{content:""}.bi-volume-down::before{content:""}.bi-volume-mute-fill::before{content:""}.bi-volume-mute::before{content:""}.bi-volume-off-fill::before{content:""}.bi-volume-off::before{content:""}.bi-volume-up-fill::before{content:""}.bi-volume-up::before{content:""}.bi-vr::before{content:""}.bi-wallet-fill::before{content:""}.bi-wallet::before{content:""}.bi-wallet2::before{content:""}.bi-watch::before{content:""}.bi-water::before{content:""}.bi-whatsapp::before{content:""}.bi-wifi-1::before{content:""}.bi-wifi-2::before{content:""}.bi-wifi-off::before{content:""}.bi-wifi::before{content:""}.bi-wind::before{content:""}.bi-window-dock::before{content:""}.bi-window-sidebar::before{content:""}.bi-window::before{content:""}.bi-wrench::before{content:""}.bi-x-circle-fill::before{content:""}.bi-x-circle::before{content:""}.bi-x-diamond-fill::before{content:""}.bi-x-diamond::before{content:""}.bi-x-octagon-fill::before{content:""}.bi-x-octagon::before{content:""}.bi-x-square-fill::before{content:""}.bi-x-square::before{content:""}.bi-x::before{content:""}.bi-youtube::before{content:""}.bi-zoom-in::before{content:""}.bi-zoom-out::before{content:""}.bi-bank::before{content:""}.bi-bank2::before{content:""}.bi-bell-slash-fill::before{content:""}.bi-bell-slash::before{content:""}.bi-cash-coin::before{content:""}.bi-check-lg::before{content:""}.bi-coin::before{content:""}.bi-currency-bitcoin::before{content:""}.bi-currency-dollar::before{content:""}.bi-currency-euro::before{content:""}.bi-currency-exchange::before{content:""}.bi-currency-pound::before{content:""}.bi-currency-yen::before{content:""}.bi-dash-lg::before{content:""}.bi-exclamation-lg::before{content:""}.bi-file-earmark-pdf-fill::before{content:""}.bi-file-earmark-pdf::before{content:""}.bi-file-pdf-fill::before{content:""}.bi-file-pdf::before{content:""}.bi-gender-ambiguous::before{content:""}.bi-gender-female::before{content:""}.bi-gender-male::before{content:""}.bi-gender-trans::before{content:""}.bi-headset-vr::before{content:""}.bi-info-lg::before{content:""}.bi-mastodon::before{content:""}.bi-messenger::before{content:""}.bi-piggy-bank-fill::before{content:""}.bi-piggy-bank::before{content:""}.bi-pin-map-fill::before{content:""}.bi-pin-map::before{content:""}.bi-plus-lg::before{content:""}.bi-question-lg::before{content:""}.bi-recycle::before{content:""}.bi-reddit::before{content:""}.bi-safe-fill::before{content:""}.bi-safe2-fill::before{content:""}.bi-safe2::before{content:""}.bi-sd-card-fill::before{content:""}.bi-sd-card::before{content:""}.bi-skype::before{content:""}.bi-slash-lg::before{content:""}.bi-translate::before{content:""}.bi-x-lg::before{content:""}.bi-safe::before{content:""}.bi-apple::before{content:""}.bi-microsoft::before{content:""}.bi-windows::before{content:""}.bi-behance::before{content:""}.bi-dribbble::before{content:""}.bi-line::before{content:""}.bi-medium::before{content:""}.bi-paypal::before{content:""}.bi-pinterest::before{content:""}.bi-signal::before{content:""}.bi-snapchat::before{content:""}.bi-spotify::before{content:""}.bi-stack-overflow::before{content:""}.bi-strava::before{content:""}.bi-wordpress::before{content:""}.bi-vimeo::before{content:""}.bi-activity::before{content:""}.bi-easel2-fill::before{content:""}.bi-easel2::before{content:""}.bi-easel3-fill::before{content:""}.bi-easel3::before{content:""}.bi-fan::before{content:""}.bi-fingerprint::before{content:""}.bi-graph-down-arrow::before{content:""}.bi-graph-up-arrow::before{content:""}.bi-hypnotize::before{content:""}.bi-magic::before{content:""}.bi-person-rolodex::before{content:""}.bi-person-video::before{content:""}.bi-person-video2::before{content:""}.bi-person-video3::before{content:""}.bi-person-workspace::before{content:""}.bi-radioactive::before{content:""}.bi-webcam-fill::before{content:""}.bi-webcam::before{content:""}.bi-yin-yang::before{content:""}.bi-bandaid-fill::before{content:""}.bi-bandaid::before{content:""}.bi-bluetooth::before{content:""}.bi-body-text::before{content:""}.bi-boombox::before{content:""}.bi-boxes::before{content:""}.bi-dpad-fill::before{content:""}.bi-dpad::before{content:""}.bi-ear-fill::before{content:""}.bi-ear::before{content:""}.bi-envelope-check-1::before{content:""}.bi-envelope-check-fill::before{content:""}.bi-envelope-check::before{content:""}.bi-envelope-dash-1::before{content:""}.bi-envelope-dash-fill::before{content:""}.bi-envelope-dash::before{content:""}.bi-envelope-exclamation-1::before{content:""}.bi-envelope-exclamation-fill::before{content:""}.bi-envelope-exclamation::before{content:""}.bi-envelope-plus-fill::before{content:""}.bi-envelope-plus::before{content:""}.bi-envelope-slash-1::before{content:""}.bi-envelope-slash-fill::before{content:""}.bi-envelope-slash::before{content:""}.bi-envelope-x-1::before{content:""}.bi-envelope-x-fill::before{content:""}.bi-envelope-x::before{content:""}.bi-explicit-fill::before{content:""}.bi-explicit::before{content:""}.bi-git::before{content:""}.bi-infinity::before{content:""}.bi-list-columns-reverse::before{content:""}.bi-list-columns::before{content:""}.bi-meta::before{content:""}.bi-mortorboard-fill::before{content:""}.bi-mortorboard::before{content:""}.bi-nintendo-switch::before{content:""}.bi-pc-display-horizontal::before{content:""}.bi-pc-display::before{content:""}.bi-pc-horizontal::before{content:""}.bi-pc::before{content:""}.bi-playstation::before{content:""}.bi-plus-slash-minus::before{content:""}.bi-projector-fill::before{content:""}.bi-projector::before{content:""}.bi-qr-code-scan::before{content:""}.bi-qr-code::before{content:""}.bi-quora::before{content:""}.bi-quote::before{content:""}.bi-robot::before{content:""}.bi-send-check-fill::before{content:""}.bi-send-check::before{content:""}.bi-send-dash-fill::before{content:""}.bi-send-dash::before{content:""}.bi-send-exclamation-1::before{content:""}.bi-send-exclamation-fill::before{content:""}.bi-send-exclamation::before{content:""}.bi-send-fill::before{content:""}.bi-send-plus-fill::before{content:""}.bi-send-plus::before{content:""}.bi-send-slash-fill::before{content:""}.bi-send-slash::before{content:""}.bi-send-x-fill::before{content:""}.bi-send-x::before{content:""}.bi-send::before{content:""}.bi-steam::before{content:""}.bi-terminal-dash-1::before{content:""}.bi-terminal-dash::before{content:""}.bi-terminal-plus::before{content:""}.bi-terminal-split::before{content:""}.bi-ticket-detailed-fill::before{content:""}.bi-ticket-detailed::before{content:""}.bi-ticket-fill::before{content:""}.bi-ticket-perforated-fill::before{content:""}.bi-ticket-perforated::before{content:""}.bi-ticket::before{content:""}.bi-tiktok::before{content:""}.bi-window-dash::before{content:""}.bi-window-desktop::before{content:""}.bi-window-fullscreen::before{content:""}.bi-window-plus::before{content:""}.bi-window-split::before{content:""}.bi-window-stack::before{content:""}.bi-window-x::before{content:""}.bi-xbox::before{content:""}.bi-ethernet::before{content:""}.bi-hdmi-fill::before{content:""}.bi-hdmi::before{content:""}.bi-usb-c-fill::before{content:""}.bi-usb-c::before{content:""}.bi-usb-fill::before{content:""}.bi-usb-plug-fill::before{content:""}.bi-usb-plug::before{content:""}.bi-usb-symbol::before{content:""}.bi-usb::before{content:""}.bi-boombox-fill::before{content:""}.bi-displayport-1::before{content:""}.bi-displayport::before{content:""}.bi-gpu-card::before{content:""}.bi-memory::before{content:""}.bi-modem-fill::before{content:""}.bi-modem::before{content:""}.bi-motherboard-fill::before{content:""}.bi-motherboard::before{content:""}.bi-optical-audio-fill::before{content:""}.bi-optical-audio::before{content:""}.bi-pci-card::before{content:""}.bi-router-fill::before{content:""}.bi-router::before{content:""}.bi-ssd-fill::before{content:""}.bi-ssd::before{content:""}.bi-thunderbolt-fill::before{content:""}.bi-thunderbolt::before{content:""}.bi-usb-drive-fill::before{content:""}.bi-usb-drive::before{content:""}.bi-usb-micro-fill::before{content:""}.bi-usb-micro::before{content:""}.bi-usb-mini-fill::before{content:""}.bi-usb-mini::before{content:""}.bi-cloud-haze2::before{content:""}.bi-device-hdd-fill::before{content:""}.bi-device-hdd::before{content:""}.bi-device-ssd-fill::before{content:""}.bi-device-ssd::before{content:""}.bi-displayport-fill::before{content:""}.bi-mortarboard-fill::before{content:""}.bi-mortarboard::before{content:""}.bi-terminal-x::before{content:""} +.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} +@font-face{font-family:"bootstrap-icons";src:url("_content/Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme/side-menu/libs/bootstrap-icons/font/fonts/bootstrap-icons.woff2?30af91bf14e37666a085fb8a161ff36d") format("woff2"),url("_content/Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme/side-menu/libs/bootstrap-icons/font/fonts/bootstrap-icons.woff?30af91bf14e37666a085fb8a161ff36d") 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:""}.bi-alarm-fill::before{content:""}.bi-alarm::before{content:""}.bi-align-bottom::before{content:""}.bi-align-center::before{content:""}.bi-align-end::before{content:""}.bi-align-middle::before{content:""}.bi-align-start::before{content:""}.bi-align-top::before{content:""}.bi-alt::before{content:""}.bi-app-indicator::before{content:""}.bi-app::before{content:""}.bi-archive-fill::before{content:""}.bi-archive::before{content:""}.bi-arrow-90deg-down::before{content:""}.bi-arrow-90deg-left::before{content:""}.bi-arrow-90deg-right::before{content:""}.bi-arrow-90deg-up::before{content:""}.bi-arrow-bar-down::before{content:""}.bi-arrow-bar-left::before{content:""}.bi-arrow-bar-right::before{content:""}.bi-arrow-bar-up::before{content:""}.bi-arrow-clockwise::before{content:""}.bi-arrow-counterclockwise::before{content:""}.bi-arrow-down-circle-fill::before{content:""}.bi-arrow-down-circle::before{content:""}.bi-arrow-down-left-circle-fill::before{content:""}.bi-arrow-down-left-circle::before{content:""}.bi-arrow-down-left-square-fill::before{content:""}.bi-arrow-down-left-square::before{content:""}.bi-arrow-down-left::before{content:""}.bi-arrow-down-right-circle-fill::before{content:""}.bi-arrow-down-right-circle::before{content:""}.bi-arrow-down-right-square-fill::before{content:""}.bi-arrow-down-right-square::before{content:""}.bi-arrow-down-right::before{content:""}.bi-arrow-down-short::before{content:""}.bi-arrow-down-square-fill::before{content:""}.bi-arrow-down-square::before{content:""}.bi-arrow-down-up::before{content:""}.bi-arrow-down::before{content:""}.bi-arrow-left-circle-fill::before{content:""}.bi-arrow-left-circle::before{content:""}.bi-arrow-left-right::before{content:""}.bi-arrow-left-short::before{content:""}.bi-arrow-left-square-fill::before{content:""}.bi-arrow-left-square::before{content:""}.bi-arrow-left::before{content:""}.bi-arrow-repeat::before{content:""}.bi-arrow-return-left::before{content:""}.bi-arrow-return-right::before{content:""}.bi-arrow-right-circle-fill::before{content:""}.bi-arrow-right-circle::before{content:""}.bi-arrow-right-short::before{content:""}.bi-arrow-right-square-fill::before{content:""}.bi-arrow-right-square::before{content:""}.bi-arrow-right::before{content:""}.bi-arrow-up-circle-fill::before{content:""}.bi-arrow-up-circle::before{content:""}.bi-arrow-up-left-circle-fill::before{content:""}.bi-arrow-up-left-circle::before{content:""}.bi-arrow-up-left-square-fill::before{content:""}.bi-arrow-up-left-square::before{content:""}.bi-arrow-up-left::before{content:""}.bi-arrow-up-right-circle-fill::before{content:""}.bi-arrow-up-right-circle::before{content:""}.bi-arrow-up-right-square-fill::before{content:""}.bi-arrow-up-right-square::before{content:""}.bi-arrow-up-right::before{content:""}.bi-arrow-up-short::before{content:""}.bi-arrow-up-square-fill::before{content:""}.bi-arrow-up-square::before{content:""}.bi-arrow-up::before{content:""}.bi-arrows-angle-contract::before{content:""}.bi-arrows-angle-expand::before{content:""}.bi-arrows-collapse::before{content:""}.bi-arrows-expand::before{content:""}.bi-arrows-fullscreen::before{content:""}.bi-arrows-move::before{content:""}.bi-aspect-ratio-fill::before{content:""}.bi-aspect-ratio::before{content:""}.bi-asterisk::before{content:""}.bi-at::before{content:""}.bi-award-fill::before{content:""}.bi-award::before{content:""}.bi-back::before{content:""}.bi-backspace-fill::before{content:""}.bi-backspace-reverse-fill::before{content:""}.bi-backspace-reverse::before{content:""}.bi-backspace::before{content:""}.bi-badge-3d-fill::before{content:""}.bi-badge-3d::before{content:""}.bi-badge-4k-fill::before{content:""}.bi-badge-4k::before{content:""}.bi-badge-8k-fill::before{content:""}.bi-badge-8k::before{content:""}.bi-badge-ad-fill::before{content:""}.bi-badge-ad::before{content:""}.bi-badge-ar-fill::before{content:""}.bi-badge-ar::before{content:""}.bi-badge-cc-fill::before{content:""}.bi-badge-cc::before{content:""}.bi-badge-hd-fill::before{content:""}.bi-badge-hd::before{content:""}.bi-badge-tm-fill::before{content:""}.bi-badge-tm::before{content:""}.bi-badge-vo-fill::before{content:""}.bi-badge-vo::before{content:""}.bi-badge-vr-fill::before{content:""}.bi-badge-vr::before{content:""}.bi-badge-wc-fill::before{content:""}.bi-badge-wc::before{content:""}.bi-bag-check-fill::before{content:""}.bi-bag-check::before{content:""}.bi-bag-dash-fill::before{content:""}.bi-bag-dash::before{content:""}.bi-bag-fill::before{content:""}.bi-bag-plus-fill::before{content:""}.bi-bag-plus::before{content:""}.bi-bag-x-fill::before{content:""}.bi-bag-x::before{content:""}.bi-bag::before{content:""}.bi-bar-chart-fill::before{content:""}.bi-bar-chart-line-fill::before{content:""}.bi-bar-chart-line::before{content:""}.bi-bar-chart-steps::before{content:""}.bi-bar-chart::before{content:""}.bi-basket-fill::before{content:""}.bi-basket::before{content:""}.bi-basket2-fill::before{content:""}.bi-basket2::before{content:""}.bi-basket3-fill::before{content:""}.bi-basket3::before{content:""}.bi-battery-charging::before{content:""}.bi-battery-full::before{content:""}.bi-battery-half::before{content:""}.bi-battery::before{content:""}.bi-bell-fill::before{content:""}.bi-bell::before{content:""}.bi-bezier::before{content:""}.bi-bezier2::before{content:""}.bi-bicycle::before{content:""}.bi-binoculars-fill::before{content:""}.bi-binoculars::before{content:""}.bi-blockquote-left::before{content:""}.bi-blockquote-right::before{content:""}.bi-book-fill::before{content:""}.bi-book-half::before{content:""}.bi-book::before{content:""}.bi-bookmark-check-fill::before{content:""}.bi-bookmark-check::before{content:""}.bi-bookmark-dash-fill::before{content:""}.bi-bookmark-dash::before{content:""}.bi-bookmark-fill::before{content:""}.bi-bookmark-heart-fill::before{content:""}.bi-bookmark-heart::before{content:""}.bi-bookmark-plus-fill::before{content:""}.bi-bookmark-plus::before{content:""}.bi-bookmark-star-fill::before{content:""}.bi-bookmark-star::before{content:""}.bi-bookmark-x-fill::before{content:""}.bi-bookmark-x::before{content:""}.bi-bookmark::before{content:""}.bi-bookmarks-fill::before{content:""}.bi-bookmarks::before{content:""}.bi-bookshelf::before{content:""}.bi-bootstrap-fill::before{content:""}.bi-bootstrap-reboot::before{content:""}.bi-bootstrap::before{content:""}.bi-border-all::before{content:""}.bi-border-bottom::before{content:""}.bi-border-center::before{content:""}.bi-border-inner::before{content:""}.bi-border-left::before{content:""}.bi-border-middle::before{content:""}.bi-border-outer::before{content:""}.bi-border-right::before{content:""}.bi-border-style::before{content:""}.bi-border-top::before{content:""}.bi-border-width::before{content:""}.bi-border::before{content:""}.bi-bounding-box-circles::before{content:""}.bi-bounding-box::before{content:""}.bi-box-arrow-down-left::before{content:""}.bi-box-arrow-down-right::before{content:""}.bi-box-arrow-down::before{content:""}.bi-box-arrow-in-down-left::before{content:""}.bi-box-arrow-in-down-right::before{content:""}.bi-box-arrow-in-down::before{content:""}.bi-box-arrow-in-left::before{content:""}.bi-box-arrow-in-right::before{content:""}.bi-box-arrow-in-up-left::before{content:""}.bi-box-arrow-in-up-right::before{content:""}.bi-box-arrow-in-up::before{content:""}.bi-box-arrow-left::before{content:""}.bi-box-arrow-right::before{content:""}.bi-box-arrow-up-left::before{content:""}.bi-box-arrow-up-right::before{content:""}.bi-box-arrow-up::before{content:""}.bi-box-seam::before{content:""}.bi-box::before{content:""}.bi-braces::before{content:""}.bi-bricks::before{content:""}.bi-briefcase-fill::before{content:""}.bi-briefcase::before{content:""}.bi-brightness-alt-high-fill::before{content:""}.bi-brightness-alt-high::before{content:""}.bi-brightness-alt-low-fill::before{content:""}.bi-brightness-alt-low::before{content:""}.bi-brightness-high-fill::before{content:""}.bi-brightness-high::before{content:""}.bi-brightness-low-fill::before{content:""}.bi-brightness-low::before{content:""}.bi-broadcast-pin::before{content:""}.bi-broadcast::before{content:""}.bi-brush-fill::before{content:""}.bi-brush::before{content:""}.bi-bucket-fill::before{content:""}.bi-bucket::before{content:""}.bi-bug-fill::before{content:""}.bi-bug::before{content:""}.bi-building::before{content:""}.bi-bullseye::before{content:""}.bi-calculator-fill::before{content:""}.bi-calculator::before{content:""}.bi-calendar-check-fill::before{content:""}.bi-calendar-check::before{content:""}.bi-calendar-date-fill::before{content:""}.bi-calendar-date::before{content:""}.bi-calendar-day-fill::before{content:""}.bi-calendar-day::before{content:""}.bi-calendar-event-fill::before{content:""}.bi-calendar-event::before{content:""}.bi-calendar-fill::before{content:""}.bi-calendar-minus-fill::before{content:""}.bi-calendar-minus::before{content:""}.bi-calendar-month-fill::before{content:""}.bi-calendar-month::before{content:""}.bi-calendar-plus-fill::before{content:""}.bi-calendar-plus::before{content:""}.bi-calendar-range-fill::before{content:""}.bi-calendar-range::before{content:""}.bi-calendar-week-fill::before{content:""}.bi-calendar-week::before{content:""}.bi-calendar-x-fill::before{content:""}.bi-calendar-x::before{content:""}.bi-calendar::before{content:""}.bi-calendar2-check-fill::before{content:""}.bi-calendar2-check::before{content:""}.bi-calendar2-date-fill::before{content:""}.bi-calendar2-date::before{content:""}.bi-calendar2-day-fill::before{content:""}.bi-calendar2-day::before{content:""}.bi-calendar2-event-fill::before{content:""}.bi-calendar2-event::before{content:""}.bi-calendar2-fill::before{content:""}.bi-calendar2-minus-fill::before{content:""}.bi-calendar2-minus::before{content:""}.bi-calendar2-month-fill::before{content:""}.bi-calendar2-month::before{content:""}.bi-calendar2-plus-fill::before{content:""}.bi-calendar2-plus::before{content:""}.bi-calendar2-range-fill::before{content:""}.bi-calendar2-range::before{content:""}.bi-calendar2-week-fill::before{content:""}.bi-calendar2-week::before{content:""}.bi-calendar2-x-fill::before{content:""}.bi-calendar2-x::before{content:""}.bi-calendar2::before{content:""}.bi-calendar3-event-fill::before{content:""}.bi-calendar3-event::before{content:""}.bi-calendar3-fill::before{content:""}.bi-calendar3-range-fill::before{content:""}.bi-calendar3-range::before{content:""}.bi-calendar3-week-fill::before{content:""}.bi-calendar3-week::before{content:""}.bi-calendar3::before{content:""}.bi-calendar4-event::before{content:""}.bi-calendar4-range::before{content:""}.bi-calendar4-week::before{content:""}.bi-calendar4::before{content:""}.bi-camera-fill::before{content:""}.bi-camera-reels-fill::before{content:""}.bi-camera-reels::before{content:""}.bi-camera-video-fill::before{content:""}.bi-camera-video-off-fill::before{content:""}.bi-camera-video-off::before{content:""}.bi-camera-video::before{content:""}.bi-camera::before{content:""}.bi-camera2::before{content:""}.bi-capslock-fill::before{content:""}.bi-capslock::before{content:""}.bi-card-checklist::before{content:""}.bi-card-heading::before{content:""}.bi-card-image::before{content:""}.bi-card-list::before{content:""}.bi-card-text::before{content:""}.bi-caret-down-fill::before{content:""}.bi-caret-down-square-fill::before{content:""}.bi-caret-down-square::before{content:""}.bi-caret-down::before{content:""}.bi-caret-left-fill::before{content:""}.bi-caret-left-square-fill::before{content:""}.bi-caret-left-square::before{content:""}.bi-caret-left::before{content:""}.bi-caret-right-fill::before{content:""}.bi-caret-right-square-fill::before{content:""}.bi-caret-right-square::before{content:""}.bi-caret-right::before{content:""}.bi-caret-up-fill::before{content:""}.bi-caret-up-square-fill::before{content:""}.bi-caret-up-square::before{content:""}.bi-caret-up::before{content:""}.bi-cart-check-fill::before{content:""}.bi-cart-check::before{content:""}.bi-cart-dash-fill::before{content:""}.bi-cart-dash::before{content:""}.bi-cart-fill::before{content:""}.bi-cart-plus-fill::before{content:""}.bi-cart-plus::before{content:""}.bi-cart-x-fill::before{content:""}.bi-cart-x::before{content:""}.bi-cart::before{content:""}.bi-cart2::before{content:""}.bi-cart3::before{content:""}.bi-cart4::before{content:""}.bi-cash-stack::before{content:""}.bi-cash::before{content:""}.bi-cast::before{content:""}.bi-chat-dots-fill::before{content:""}.bi-chat-dots::before{content:""}.bi-chat-fill::before{content:""}.bi-chat-left-dots-fill::before{content:""}.bi-chat-left-dots::before{content:""}.bi-chat-left-fill::before{content:""}.bi-chat-left-quote-fill::before{content:""}.bi-chat-left-quote::before{content:""}.bi-chat-left-text-fill::before{content:""}.bi-chat-left-text::before{content:""}.bi-chat-left::before{content:""}.bi-chat-quote-fill::before{content:""}.bi-chat-quote::before{content:""}.bi-chat-right-dots-fill::before{content:""}.bi-chat-right-dots::before{content:""}.bi-chat-right-fill::before{content:""}.bi-chat-right-quote-fill::before{content:""}.bi-chat-right-quote::before{content:""}.bi-chat-right-text-fill::before{content:""}.bi-chat-right-text::before{content:""}.bi-chat-right::before{content:""}.bi-chat-square-dots-fill::before{content:""}.bi-chat-square-dots::before{content:""}.bi-chat-square-fill::before{content:""}.bi-chat-square-quote-fill::before{content:""}.bi-chat-square-quote::before{content:""}.bi-chat-square-text-fill::before{content:""}.bi-chat-square-text::before{content:""}.bi-chat-square::before{content:""}.bi-chat-text-fill::before{content:""}.bi-chat-text::before{content:""}.bi-chat::before{content:""}.bi-check-all::before{content:""}.bi-check-circle-fill::before{content:""}.bi-check-circle::before{content:""}.bi-check-square-fill::before{content:""}.bi-check-square::before{content:""}.bi-check::before{content:""}.bi-check2-all::before{content:""}.bi-check2-circle::before{content:""}.bi-check2-square::before{content:""}.bi-check2::before{content:""}.bi-chevron-bar-contract::before{content:""}.bi-chevron-bar-down::before{content:""}.bi-chevron-bar-expand::before{content:""}.bi-chevron-bar-left::before{content:""}.bi-chevron-bar-right::before{content:""}.bi-chevron-bar-up::before{content:""}.bi-chevron-compact-down::before{content:""}.bi-chevron-compact-left::before{content:""}.bi-chevron-compact-right::before{content:""}.bi-chevron-compact-up::before{content:""}.bi-chevron-contract::before{content:""}.bi-chevron-double-down::before{content:""}.bi-chevron-double-left::before{content:""}.bi-chevron-double-right::before{content:""}.bi-chevron-double-up::before{content:""}.bi-chevron-down::before{content:""}.bi-chevron-expand::before{content:""}.bi-chevron-left::before{content:""}.bi-chevron-right::before{content:""}.bi-chevron-up::before{content:""}.bi-circle-fill::before{content:""}.bi-circle-half::before{content:""}.bi-circle-square::before{content:""}.bi-circle::before{content:""}.bi-clipboard-check::before{content:""}.bi-clipboard-data::before{content:""}.bi-clipboard-minus::before{content:""}.bi-clipboard-plus::before{content:""}.bi-clipboard-x::before{content:""}.bi-clipboard::before{content:""}.bi-clock-fill::before{content:""}.bi-clock-history::before{content:""}.bi-clock::before{content:""}.bi-cloud-arrow-down-fill::before{content:""}.bi-cloud-arrow-down::before{content:""}.bi-cloud-arrow-up-fill::before{content:""}.bi-cloud-arrow-up::before{content:""}.bi-cloud-check-fill::before{content:""}.bi-cloud-check::before{content:""}.bi-cloud-download-fill::before{content:""}.bi-cloud-download::before{content:""}.bi-cloud-drizzle-fill::before{content:""}.bi-cloud-drizzle::before{content:""}.bi-cloud-fill::before{content:""}.bi-cloud-fog-fill::before{content:""}.bi-cloud-fog::before{content:""}.bi-cloud-fog2-fill::before{content:""}.bi-cloud-fog2::before{content:""}.bi-cloud-hail-fill::before{content:""}.bi-cloud-hail::before{content:""}.bi-cloud-haze-1::before{content:""}.bi-cloud-haze-fill::before{content:""}.bi-cloud-haze::before{content:""}.bi-cloud-haze2-fill::before{content:""}.bi-cloud-lightning-fill::before{content:""}.bi-cloud-lightning-rain-fill::before{content:""}.bi-cloud-lightning-rain::before{content:""}.bi-cloud-lightning::before{content:""}.bi-cloud-minus-fill::before{content:""}.bi-cloud-minus::before{content:""}.bi-cloud-moon-fill::before{content:""}.bi-cloud-moon::before{content:""}.bi-cloud-plus-fill::before{content:""}.bi-cloud-plus::before{content:""}.bi-cloud-rain-fill::before{content:""}.bi-cloud-rain-heavy-fill::before{content:""}.bi-cloud-rain-heavy::before{content:""}.bi-cloud-rain::before{content:""}.bi-cloud-slash-fill::before{content:""}.bi-cloud-slash::before{content:""}.bi-cloud-sleet-fill::before{content:""}.bi-cloud-sleet::before{content:""}.bi-cloud-snow-fill::before{content:""}.bi-cloud-snow::before{content:""}.bi-cloud-sun-fill::before{content:""}.bi-cloud-sun::before{content:""}.bi-cloud-upload-fill::before{content:""}.bi-cloud-upload::before{content:""}.bi-cloud::before{content:""}.bi-clouds-fill::before{content:""}.bi-clouds::before{content:""}.bi-cloudy-fill::before{content:""}.bi-cloudy::before{content:""}.bi-code-slash::before{content:""}.bi-code-square::before{content:""}.bi-code::before{content:""}.bi-collection-fill::before{content:""}.bi-collection-play-fill::before{content:""}.bi-collection-play::before{content:""}.bi-collection::before{content:""}.bi-columns-gap::before{content:""}.bi-columns::before{content:""}.bi-command::before{content:""}.bi-compass-fill::before{content:""}.bi-compass::before{content:""}.bi-cone-striped::before{content:""}.bi-cone::before{content:""}.bi-controller::before{content:""}.bi-cpu-fill::before{content:""}.bi-cpu::before{content:""}.bi-credit-card-2-back-fill::before{content:""}.bi-credit-card-2-back::before{content:""}.bi-credit-card-2-front-fill::before{content:""}.bi-credit-card-2-front::before{content:""}.bi-credit-card-fill::before{content:""}.bi-credit-card::before{content:""}.bi-crop::before{content:""}.bi-cup-fill::before{content:""}.bi-cup-straw::before{content:""}.bi-cup::before{content:""}.bi-cursor-fill::before{content:""}.bi-cursor-text::before{content:""}.bi-cursor::before{content:""}.bi-dash-circle-dotted::before{content:""}.bi-dash-circle-fill::before{content:""}.bi-dash-circle::before{content:""}.bi-dash-square-dotted::before{content:""}.bi-dash-square-fill::before{content:""}.bi-dash-square::before{content:""}.bi-dash::before{content:""}.bi-diagram-2-fill::before{content:""}.bi-diagram-2::before{content:""}.bi-diagram-3-fill::before{content:""}.bi-diagram-3::before{content:""}.bi-diamond-fill::before{content:""}.bi-diamond-half::before{content:""}.bi-diamond::before{content:""}.bi-dice-1-fill::before{content:""}.bi-dice-1::before{content:""}.bi-dice-2-fill::before{content:""}.bi-dice-2::before{content:""}.bi-dice-3-fill::before{content:""}.bi-dice-3::before{content:""}.bi-dice-4-fill::before{content:""}.bi-dice-4::before{content:""}.bi-dice-5-fill::before{content:""}.bi-dice-5::before{content:""}.bi-dice-6-fill::before{content:""}.bi-dice-6::before{content:""}.bi-disc-fill::before{content:""}.bi-disc::before{content:""}.bi-discord::before{content:""}.bi-display-fill::before{content:""}.bi-display::before{content:""}.bi-distribute-horizontal::before{content:""}.bi-distribute-vertical::before{content:""}.bi-door-closed-fill::before{content:""}.bi-door-closed::before{content:""}.bi-door-open-fill::before{content:""}.bi-door-open::before{content:""}.bi-dot::before{content:""}.bi-download::before{content:""}.bi-droplet-fill::before{content:""}.bi-droplet-half::before{content:""}.bi-droplet::before{content:""}.bi-earbuds::before{content:""}.bi-easel-fill::before{content:""}.bi-easel::before{content:""}.bi-egg-fill::before{content:""}.bi-egg-fried::before{content:""}.bi-egg::before{content:""}.bi-eject-fill::before{content:""}.bi-eject::before{content:""}.bi-emoji-angry-fill::before{content:""}.bi-emoji-angry::before{content:""}.bi-emoji-dizzy-fill::before{content:""}.bi-emoji-dizzy::before{content:""}.bi-emoji-expressionless-fill::before{content:""}.bi-emoji-expressionless::before{content:""}.bi-emoji-frown-fill::before{content:""}.bi-emoji-frown::before{content:""}.bi-emoji-heart-eyes-fill::before{content:""}.bi-emoji-heart-eyes::before{content:""}.bi-emoji-laughing-fill::before{content:""}.bi-emoji-laughing::before{content:""}.bi-emoji-neutral-fill::before{content:""}.bi-emoji-neutral::before{content:""}.bi-emoji-smile-fill::before{content:""}.bi-emoji-smile-upside-down-fill::before{content:""}.bi-emoji-smile-upside-down::before{content:""}.bi-emoji-smile::before{content:""}.bi-emoji-sunglasses-fill::before{content:""}.bi-emoji-sunglasses::before{content:""}.bi-emoji-wink-fill::before{content:""}.bi-emoji-wink::before{content:""}.bi-envelope-fill::before{content:""}.bi-envelope-open-fill::before{content:""}.bi-envelope-open::before{content:""}.bi-envelope::before{content:""}.bi-eraser-fill::before{content:""}.bi-eraser::before{content:""}.bi-exclamation-circle-fill::before{content:""}.bi-exclamation-circle::before{content:""}.bi-exclamation-diamond-fill::before{content:""}.bi-exclamation-diamond::before{content:""}.bi-exclamation-octagon-fill::before{content:""}.bi-exclamation-octagon::before{content:""}.bi-exclamation-square-fill::before{content:""}.bi-exclamation-square::before{content:""}.bi-exclamation-triangle-fill::before{content:""}.bi-exclamation-triangle::before{content:""}.bi-exclamation::before{content:""}.bi-exclude::before{content:""}.bi-eye-fill::before{content:""}.bi-eye-slash-fill::before{content:""}.bi-eye-slash::before{content:""}.bi-eye::before{content:""}.bi-eyedropper::before{content:""}.bi-eyeglasses::before{content:""}.bi-facebook::before{content:""}.bi-file-arrow-down-fill::before{content:""}.bi-file-arrow-down::before{content:""}.bi-file-arrow-up-fill::before{content:""}.bi-file-arrow-up::before{content:""}.bi-file-bar-graph-fill::before{content:""}.bi-file-bar-graph::before{content:""}.bi-file-binary-fill::before{content:""}.bi-file-binary::before{content:""}.bi-file-break-fill::before{content:""}.bi-file-break::before{content:""}.bi-file-check-fill::before{content:""}.bi-file-check::before{content:""}.bi-file-code-fill::before{content:""}.bi-file-code::before{content:""}.bi-file-diff-fill::before{content:""}.bi-file-diff::before{content:""}.bi-file-earmark-arrow-down-fill::before{content:""}.bi-file-earmark-arrow-down::before{content:""}.bi-file-earmark-arrow-up-fill::before{content:""}.bi-file-earmark-arrow-up::before{content:""}.bi-file-earmark-bar-graph-fill::before{content:""}.bi-file-earmark-bar-graph::before{content:""}.bi-file-earmark-binary-fill::before{content:""}.bi-file-earmark-binary::before{content:""}.bi-file-earmark-break-fill::before{content:""}.bi-file-earmark-break::before{content:""}.bi-file-earmark-check-fill::before{content:""}.bi-file-earmark-check::before{content:""}.bi-file-earmark-code-fill::before{content:""}.bi-file-earmark-code::before{content:""}.bi-file-earmark-diff-fill::before{content:""}.bi-file-earmark-diff::before{content:""}.bi-file-earmark-easel-fill::before{content:""}.bi-file-earmark-easel::before{content:""}.bi-file-earmark-excel-fill::before{content:""}.bi-file-earmark-excel::before{content:""}.bi-file-earmark-fill::before{content:""}.bi-file-earmark-font-fill::before{content:""}.bi-file-earmark-font::before{content:""}.bi-file-earmark-image-fill::before{content:""}.bi-file-earmark-image::before{content:""}.bi-file-earmark-lock-fill::before{content:""}.bi-file-earmark-lock::before{content:""}.bi-file-earmark-lock2-fill::before{content:""}.bi-file-earmark-lock2::before{content:""}.bi-file-earmark-medical-fill::before{content:""}.bi-file-earmark-medical::before{content:""}.bi-file-earmark-minus-fill::before{content:""}.bi-file-earmark-minus::before{content:""}.bi-file-earmark-music-fill::before{content:""}.bi-file-earmark-music::before{content:""}.bi-file-earmark-person-fill::before{content:""}.bi-file-earmark-person::before{content:""}.bi-file-earmark-play-fill::before{content:""}.bi-file-earmark-play::before{content:""}.bi-file-earmark-plus-fill::before{content:""}.bi-file-earmark-plus::before{content:""}.bi-file-earmark-post-fill::before{content:""}.bi-file-earmark-post::before{content:""}.bi-file-earmark-ppt-fill::before{content:""}.bi-file-earmark-ppt::before{content:""}.bi-file-earmark-richtext-fill::before{content:""}.bi-file-earmark-richtext::before{content:""}.bi-file-earmark-ruled-fill::before{content:""}.bi-file-earmark-ruled::before{content:""}.bi-file-earmark-slides-fill::before{content:""}.bi-file-earmark-slides::before{content:""}.bi-file-earmark-spreadsheet-fill::before{content:""}.bi-file-earmark-spreadsheet::before{content:""}.bi-file-earmark-text-fill::before{content:""}.bi-file-earmark-text::before{content:""}.bi-file-earmark-word-fill::before{content:""}.bi-file-earmark-word::before{content:""}.bi-file-earmark-x-fill::before{content:""}.bi-file-earmark-x::before{content:""}.bi-file-earmark-zip-fill::before{content:""}.bi-file-earmark-zip::before{content:""}.bi-file-earmark::before{content:""}.bi-file-easel-fill::before{content:""}.bi-file-easel::before{content:""}.bi-file-excel-fill::before{content:""}.bi-file-excel::before{content:""}.bi-file-fill::before{content:""}.bi-file-font-fill::before{content:""}.bi-file-font::before{content:""}.bi-file-image-fill::before{content:""}.bi-file-image::before{content:""}.bi-file-lock-fill::before{content:""}.bi-file-lock::before{content:""}.bi-file-lock2-fill::before{content:""}.bi-file-lock2::before{content:""}.bi-file-medical-fill::before{content:""}.bi-file-medical::before{content:""}.bi-file-minus-fill::before{content:""}.bi-file-minus::before{content:""}.bi-file-music-fill::before{content:""}.bi-file-music::before{content:""}.bi-file-person-fill::before{content:""}.bi-file-person::before{content:""}.bi-file-play-fill::before{content:""}.bi-file-play::before{content:""}.bi-file-plus-fill::before{content:""}.bi-file-plus::before{content:""}.bi-file-post-fill::before{content:""}.bi-file-post::before{content:""}.bi-file-ppt-fill::before{content:""}.bi-file-ppt::before{content:""}.bi-file-richtext-fill::before{content:""}.bi-file-richtext::before{content:""}.bi-file-ruled-fill::before{content:""}.bi-file-ruled::before{content:""}.bi-file-slides-fill::before{content:""}.bi-file-slides::before{content:""}.bi-file-spreadsheet-fill::before{content:""}.bi-file-spreadsheet::before{content:""}.bi-file-text-fill::before{content:""}.bi-file-text::before{content:""}.bi-file-word-fill::before{content:""}.bi-file-word::before{content:""}.bi-file-x-fill::before{content:""}.bi-file-x::before{content:""}.bi-file-zip-fill::before{content:""}.bi-file-zip::before{content:""}.bi-file::before{content:""}.bi-files-alt::before{content:""}.bi-files::before{content:""}.bi-film::before{content:""}.bi-filter-circle-fill::before{content:""}.bi-filter-circle::before{content:""}.bi-filter-left::before{content:""}.bi-filter-right::before{content:""}.bi-filter-square-fill::before{content:""}.bi-filter-square::before{content:""}.bi-filter::before{content:""}.bi-flag-fill::before{content:""}.bi-flag::before{content:""}.bi-flower1::before{content:""}.bi-flower2::before{content:""}.bi-flower3::before{content:""}.bi-folder-check::before{content:""}.bi-folder-fill::before{content:""}.bi-folder-minus::before{content:""}.bi-folder-plus::before{content:""}.bi-folder-symlink-fill::before{content:""}.bi-folder-symlink::before{content:""}.bi-folder-x::before{content:""}.bi-folder::before{content:""}.bi-folder2-open::before{content:""}.bi-folder2::before{content:""}.bi-fonts::before{content:""}.bi-forward-fill::before{content:""}.bi-forward::before{content:""}.bi-front::before{content:""}.bi-fullscreen-exit::before{content:""}.bi-fullscreen::before{content:""}.bi-funnel-fill::before{content:""}.bi-funnel::before{content:""}.bi-gear-fill::before{content:""}.bi-gear-wide-connected::before{content:""}.bi-gear-wide::before{content:""}.bi-gear::before{content:""}.bi-gem::before{content:""}.bi-geo-alt-fill::before{content:""}.bi-geo-alt::before{content:""}.bi-geo-fill::before{content:""}.bi-geo::before{content:""}.bi-gift-fill::before{content:""}.bi-gift::before{content:""}.bi-github::before{content:""}.bi-globe::before{content:""}.bi-globe2::before{content:""}.bi-google::before{content:""}.bi-graph-down::before{content:""}.bi-graph-up::before{content:""}.bi-grid-1x2-fill::before{content:""}.bi-grid-1x2::before{content:""}.bi-grid-3x2-gap-fill::before{content:""}.bi-grid-3x2-gap::before{content:""}.bi-grid-3x2::before{content:""}.bi-grid-3x3-gap-fill::before{content:""}.bi-grid-3x3-gap::before{content:""}.bi-grid-3x3::before{content:""}.bi-grid-fill::before{content:""}.bi-grid::before{content:""}.bi-grip-horizontal::before{content:""}.bi-grip-vertical::before{content:""}.bi-hammer::before{content:""}.bi-hand-index-fill::before{content:""}.bi-hand-index-thumb-fill::before{content:""}.bi-hand-index-thumb::before{content:""}.bi-hand-index::before{content:""}.bi-hand-thumbs-down-fill::before{content:""}.bi-hand-thumbs-down::before{content:""}.bi-hand-thumbs-up-fill::before{content:""}.bi-hand-thumbs-up::before{content:""}.bi-handbag-fill::before{content:""}.bi-handbag::before{content:""}.bi-hash::before{content:""}.bi-hdd-fill::before{content:""}.bi-hdd-network-fill::before{content:""}.bi-hdd-network::before{content:""}.bi-hdd-rack-fill::before{content:""}.bi-hdd-rack::before{content:""}.bi-hdd-stack-fill::before{content:""}.bi-hdd-stack::before{content:""}.bi-hdd::before{content:""}.bi-headphones::before{content:""}.bi-headset::before{content:""}.bi-heart-fill::before{content:""}.bi-heart-half::before{content:""}.bi-heart::before{content:""}.bi-heptagon-fill::before{content:""}.bi-heptagon-half::before{content:""}.bi-heptagon::before{content:""}.bi-hexagon-fill::before{content:""}.bi-hexagon-half::before{content:""}.bi-hexagon::before{content:""}.bi-hourglass-bottom::before{content:""}.bi-hourglass-split::before{content:""}.bi-hourglass-top::before{content:""}.bi-hourglass::before{content:""}.bi-house-door-fill::before{content:""}.bi-house-door::before{content:""}.bi-house-fill::before{content:""}.bi-house::before{content:""}.bi-hr::before{content:""}.bi-hurricane::before{content:""}.bi-image-alt::before{content:""}.bi-image-fill::before{content:""}.bi-image::before{content:""}.bi-images::before{content:""}.bi-inbox-fill::before{content:""}.bi-inbox::before{content:""}.bi-inboxes-fill::before{content:""}.bi-inboxes::before{content:""}.bi-info-circle-fill::before{content:""}.bi-info-circle::before{content:""}.bi-info-square-fill::before{content:""}.bi-info-square::before{content:""}.bi-info::before{content:""}.bi-input-cursor-text::before{content:""}.bi-input-cursor::before{content:""}.bi-instagram::before{content:""}.bi-intersect::before{content:""}.bi-journal-album::before{content:""}.bi-journal-arrow-down::before{content:""}.bi-journal-arrow-up::before{content:""}.bi-journal-bookmark-fill::before{content:""}.bi-journal-bookmark::before{content:""}.bi-journal-check::before{content:""}.bi-journal-code::before{content:""}.bi-journal-medical::before{content:""}.bi-journal-minus::before{content:""}.bi-journal-plus::before{content:""}.bi-journal-richtext::before{content:""}.bi-journal-text::before{content:""}.bi-journal-x::before{content:""}.bi-journal::before{content:""}.bi-journals::before{content:""}.bi-joystick::before{content:""}.bi-justify-left::before{content:""}.bi-justify-right::before{content:""}.bi-justify::before{content:""}.bi-kanban-fill::before{content:""}.bi-kanban::before{content:""}.bi-key-fill::before{content:""}.bi-key::before{content:""}.bi-keyboard-fill::before{content:""}.bi-keyboard::before{content:""}.bi-ladder::before{content:""}.bi-lamp-fill::before{content:""}.bi-lamp::before{content:""}.bi-laptop-fill::before{content:""}.bi-laptop::before{content:""}.bi-layer-backward::before{content:""}.bi-layer-forward::before{content:""}.bi-layers-fill::before{content:""}.bi-layers-half::before{content:""}.bi-layers::before{content:""}.bi-layout-sidebar-inset-reverse::before{content:""}.bi-layout-sidebar-inset::before{content:""}.bi-layout-sidebar-reverse::before{content:""}.bi-layout-sidebar::before{content:""}.bi-layout-split::before{content:""}.bi-layout-text-sidebar-reverse::before{content:""}.bi-layout-text-sidebar::before{content:""}.bi-layout-text-window-reverse::before{content:""}.bi-layout-text-window::before{content:""}.bi-layout-three-columns::before{content:""}.bi-layout-wtf::before{content:""}.bi-life-preserver::before{content:""}.bi-lightbulb-fill::before{content:""}.bi-lightbulb-off-fill::before{content:""}.bi-lightbulb-off::before{content:""}.bi-lightbulb::before{content:""}.bi-lightning-charge-fill::before{content:""}.bi-lightning-charge::before{content:""}.bi-lightning-fill::before{content:""}.bi-lightning::before{content:""}.bi-link-45deg::before{content:""}.bi-link::before{content:""}.bi-linkedin::before{content:""}.bi-list-check::before{content:""}.bi-list-nested::before{content:""}.bi-list-ol::before{content:""}.bi-list-stars::before{content:""}.bi-list-task::before{content:""}.bi-list-ul::before{content:""}.bi-list::before{content:""}.bi-lock-fill::before{content:""}.bi-lock::before{content:""}.bi-mailbox::before{content:""}.bi-mailbox2::before{content:""}.bi-map-fill::before{content:""}.bi-map::before{content:""}.bi-markdown-fill::before{content:""}.bi-markdown::before{content:""}.bi-mask::before{content:""}.bi-megaphone-fill::before{content:""}.bi-megaphone::before{content:""}.bi-menu-app-fill::before{content:""}.bi-menu-app::before{content:""}.bi-menu-button-fill::before{content:""}.bi-menu-button-wide-fill::before{content:""}.bi-menu-button-wide::before{content:""}.bi-menu-button::before{content:""}.bi-menu-down::before{content:""}.bi-menu-up::before{content:""}.bi-mic-fill::before{content:""}.bi-mic-mute-fill::before{content:""}.bi-mic-mute::before{content:""}.bi-mic::before{content:""}.bi-minecart-loaded::before{content:""}.bi-minecart::before{content:""}.bi-moisture::before{content:""}.bi-moon-fill::before{content:""}.bi-moon-stars-fill::before{content:""}.bi-moon-stars::before{content:""}.bi-moon::before{content:""}.bi-mouse-fill::before{content:""}.bi-mouse::before{content:""}.bi-mouse2-fill::before{content:""}.bi-mouse2::before{content:""}.bi-mouse3-fill::before{content:""}.bi-mouse3::before{content:""}.bi-music-note-beamed::before{content:""}.bi-music-note-list::before{content:""}.bi-music-note::before{content:""}.bi-music-player-fill::before{content:""}.bi-music-player::before{content:""}.bi-newspaper::before{content:""}.bi-node-minus-fill::before{content:""}.bi-node-minus::before{content:""}.bi-node-plus-fill::before{content:""}.bi-node-plus::before{content:""}.bi-nut-fill::before{content:""}.bi-nut::before{content:""}.bi-octagon-fill::before{content:""}.bi-octagon-half::before{content:""}.bi-octagon::before{content:""}.bi-option::before{content:""}.bi-outlet::before{content:""}.bi-paint-bucket::before{content:""}.bi-palette-fill::before{content:""}.bi-palette::before{content:""}.bi-palette2::before{content:""}.bi-paperclip::before{content:""}.bi-paragraph::before{content:""}.bi-patch-check-fill::before{content:""}.bi-patch-check::before{content:""}.bi-patch-exclamation-fill::before{content:""}.bi-patch-exclamation::before{content:""}.bi-patch-minus-fill::before{content:""}.bi-patch-minus::before{content:""}.bi-patch-plus-fill::before{content:""}.bi-patch-plus::before{content:""}.bi-patch-question-fill::before{content:""}.bi-patch-question::before{content:""}.bi-pause-btn-fill::before{content:""}.bi-pause-btn::before{content:""}.bi-pause-circle-fill::before{content:""}.bi-pause-circle::before{content:""}.bi-pause-fill::before{content:""}.bi-pause::before{content:""}.bi-peace-fill::before{content:""}.bi-peace::before{content:""}.bi-pen-fill::before{content:""}.bi-pen::before{content:""}.bi-pencil-fill::before{content:""}.bi-pencil-square::before{content:""}.bi-pencil::before{content:""}.bi-pentagon-fill::before{content:""}.bi-pentagon-half::before{content:""}.bi-pentagon::before{content:""}.bi-people-fill::before{content:""}.bi-people::before{content:""}.bi-percent::before{content:""}.bi-person-badge-fill::before{content:""}.bi-person-badge::before{content:""}.bi-person-bounding-box::before{content:""}.bi-person-check-fill::before{content:""}.bi-person-check::before{content:""}.bi-person-circle::before{content:""}.bi-person-dash-fill::before{content:""}.bi-person-dash::before{content:""}.bi-person-fill::before{content:""}.bi-person-lines-fill::before{content:""}.bi-person-plus-fill::before{content:""}.bi-person-plus::before{content:""}.bi-person-square::before{content:""}.bi-person-x-fill::before{content:""}.bi-person-x::before{content:""}.bi-person::before{content:""}.bi-phone-fill::before{content:""}.bi-phone-landscape-fill::before{content:""}.bi-phone-landscape::before{content:""}.bi-phone-vibrate-fill::before{content:""}.bi-phone-vibrate::before{content:""}.bi-phone::before{content:""}.bi-pie-chart-fill::before{content:""}.bi-pie-chart::before{content:""}.bi-pin-angle-fill::before{content:""}.bi-pin-angle::before{content:""}.bi-pin-fill::before{content:""}.bi-pin::before{content:""}.bi-pip-fill::before{content:""}.bi-pip::before{content:""}.bi-play-btn-fill::before{content:""}.bi-play-btn::before{content:""}.bi-play-circle-fill::before{content:""}.bi-play-circle::before{content:""}.bi-play-fill::before{content:""}.bi-play::before{content:""}.bi-plug-fill::before{content:""}.bi-plug::before{content:""}.bi-plus-circle-dotted::before{content:""}.bi-plus-circle-fill::before{content:""}.bi-plus-circle::before{content:""}.bi-plus-square-dotted::before{content:""}.bi-plus-square-fill::before{content:""}.bi-plus-square::before{content:""}.bi-plus::before{content:""}.bi-power::before{content:""}.bi-printer-fill::before{content:""}.bi-printer::before{content:""}.bi-puzzle-fill::before{content:""}.bi-puzzle::before{content:""}.bi-question-circle-fill::before{content:""}.bi-question-circle::before{content:""}.bi-question-diamond-fill::before{content:""}.bi-question-diamond::before{content:""}.bi-question-octagon-fill::before{content:""}.bi-question-octagon::before{content:""}.bi-question-square-fill::before{content:""}.bi-question-square::before{content:""}.bi-question::before{content:""}.bi-rainbow::before{content:""}.bi-receipt-cutoff::before{content:""}.bi-receipt::before{content:""}.bi-reception-0::before{content:""}.bi-reception-1::before{content:""}.bi-reception-2::before{content:""}.bi-reception-3::before{content:""}.bi-reception-4::before{content:""}.bi-record-btn-fill::before{content:""}.bi-record-btn::before{content:""}.bi-record-circle-fill::before{content:""}.bi-record-circle::before{content:""}.bi-record-fill::before{content:""}.bi-record::before{content:""}.bi-record2-fill::before{content:""}.bi-record2::before{content:""}.bi-reply-all-fill::before{content:""}.bi-reply-all::before{content:""}.bi-reply-fill::before{content:""}.bi-reply::before{content:""}.bi-rss-fill::before{content:""}.bi-rss::before{content:""}.bi-rulers::before{content:""}.bi-save-fill::before{content:""}.bi-save::before{content:""}.bi-save2-fill::before{content:""}.bi-save2::before{content:""}.bi-scissors::before{content:""}.bi-screwdriver::before{content:""}.bi-search::before{content:""}.bi-segmented-nav::before{content:""}.bi-server::before{content:""}.bi-share-fill::before{content:""}.bi-share::before{content:""}.bi-shield-check::before{content:""}.bi-shield-exclamation::before{content:""}.bi-shield-fill-check::before{content:""}.bi-shield-fill-exclamation::before{content:""}.bi-shield-fill-minus::before{content:""}.bi-shield-fill-plus::before{content:""}.bi-shield-fill-x::before{content:""}.bi-shield-fill::before{content:""}.bi-shield-lock-fill::before{content:""}.bi-shield-lock::before{content:""}.bi-shield-minus::before{content:""}.bi-shield-plus::before{content:""}.bi-shield-shaded::before{content:""}.bi-shield-slash-fill::before{content:""}.bi-shield-slash::before{content:""}.bi-shield-x::before{content:""}.bi-shield::before{content:""}.bi-shift-fill::before{content:""}.bi-shift::before{content:""}.bi-shop-window::before{content:""}.bi-shop::before{content:""}.bi-shuffle::before{content:""}.bi-signpost-2-fill::before{content:""}.bi-signpost-2::before{content:""}.bi-signpost-fill::before{content:""}.bi-signpost-split-fill::before{content:""}.bi-signpost-split::before{content:""}.bi-signpost::before{content:""}.bi-sim-fill::before{content:""}.bi-sim::before{content:""}.bi-skip-backward-btn-fill::before{content:""}.bi-skip-backward-btn::before{content:""}.bi-skip-backward-circle-fill::before{content:""}.bi-skip-backward-circle::before{content:""}.bi-skip-backward-fill::before{content:""}.bi-skip-backward::before{content:""}.bi-skip-end-btn-fill::before{content:""}.bi-skip-end-btn::before{content:""}.bi-skip-end-circle-fill::before{content:""}.bi-skip-end-circle::before{content:""}.bi-skip-end-fill::before{content:""}.bi-skip-end::before{content:""}.bi-skip-forward-btn-fill::before{content:""}.bi-skip-forward-btn::before{content:""}.bi-skip-forward-circle-fill::before{content:""}.bi-skip-forward-circle::before{content:""}.bi-skip-forward-fill::before{content:""}.bi-skip-forward::before{content:""}.bi-skip-start-btn-fill::before{content:""}.bi-skip-start-btn::before{content:""}.bi-skip-start-circle-fill::before{content:""}.bi-skip-start-circle::before{content:""}.bi-skip-start-fill::before{content:""}.bi-skip-start::before{content:""}.bi-slack::before{content:""}.bi-slash-circle-fill::before{content:""}.bi-slash-circle::before{content:""}.bi-slash-square-fill::before{content:""}.bi-slash-square::before{content:""}.bi-slash::before{content:""}.bi-sliders::before{content:""}.bi-smartwatch::before{content:""}.bi-snow::before{content:""}.bi-snow2::before{content:""}.bi-snow3::before{content:""}.bi-sort-alpha-down-alt::before{content:""}.bi-sort-alpha-down::before{content:""}.bi-sort-alpha-up-alt::before{content:""}.bi-sort-alpha-up::before{content:""}.bi-sort-down-alt::before{content:""}.bi-sort-down::before{content:""}.bi-sort-numeric-down-alt::before{content:""}.bi-sort-numeric-down::before{content:""}.bi-sort-numeric-up-alt::before{content:""}.bi-sort-numeric-up::before{content:""}.bi-sort-up-alt::before{content:""}.bi-sort-up::before{content:""}.bi-soundwave::before{content:""}.bi-speaker-fill::before{content:""}.bi-speaker::before{content:""}.bi-speedometer::before{content:""}.bi-speedometer2::before{content:""}.bi-spellcheck::before{content:""}.bi-square-fill::before{content:""}.bi-square-half::before{content:""}.bi-square::before{content:""}.bi-stack::before{content:""}.bi-star-fill::before{content:""}.bi-star-half::before{content:""}.bi-star::before{content:""}.bi-stars::before{content:""}.bi-stickies-fill::before{content:""}.bi-stickies::before{content:""}.bi-sticky-fill::before{content:""}.bi-sticky::before{content:""}.bi-stop-btn-fill::before{content:""}.bi-stop-btn::before{content:""}.bi-stop-circle-fill::before{content:""}.bi-stop-circle::before{content:""}.bi-stop-fill::before{content:""}.bi-stop::before{content:""}.bi-stoplights-fill::before{content:""}.bi-stoplights::before{content:""}.bi-stopwatch-fill::before{content:""}.bi-stopwatch::before{content:""}.bi-subtract::before{content:""}.bi-suit-club-fill::before{content:""}.bi-suit-club::before{content:""}.bi-suit-diamond-fill::before{content:""}.bi-suit-diamond::before{content:""}.bi-suit-heart-fill::before{content:""}.bi-suit-heart::before{content:""}.bi-suit-spade-fill::before{content:""}.bi-suit-spade::before{content:""}.bi-sun-fill::before{content:""}.bi-sun::before{content:""}.bi-sunglasses::before{content:""}.bi-sunrise-fill::before{content:""}.bi-sunrise::before{content:""}.bi-sunset-fill::before{content:""}.bi-sunset::before{content:""}.bi-symmetry-horizontal::before{content:""}.bi-symmetry-vertical::before{content:""}.bi-table::before{content:""}.bi-tablet-fill::before{content:""}.bi-tablet-landscape-fill::before{content:""}.bi-tablet-landscape::before{content:""}.bi-tablet::before{content:""}.bi-tag-fill::before{content:""}.bi-tag::before{content:""}.bi-tags-fill::before{content:""}.bi-tags::before{content:""}.bi-telegram::before{content:""}.bi-telephone-fill::before{content:""}.bi-telephone-forward-fill::before{content:""}.bi-telephone-forward::before{content:""}.bi-telephone-inbound-fill::before{content:""}.bi-telephone-inbound::before{content:""}.bi-telephone-minus-fill::before{content:""}.bi-telephone-minus::before{content:""}.bi-telephone-outbound-fill::before{content:""}.bi-telephone-outbound::before{content:""}.bi-telephone-plus-fill::before{content:""}.bi-telephone-plus::before{content:""}.bi-telephone-x-fill::before{content:""}.bi-telephone-x::before{content:""}.bi-telephone::before{content:""}.bi-terminal-fill::before{content:""}.bi-terminal::before{content:""}.bi-text-center::before{content:""}.bi-text-indent-left::before{content:""}.bi-text-indent-right::before{content:""}.bi-text-left::before{content:""}.bi-text-paragraph::before{content:""}.bi-text-right::before{content:""}.bi-textarea-resize::before{content:""}.bi-textarea-t::before{content:""}.bi-textarea::before{content:""}.bi-thermometer-half::before{content:""}.bi-thermometer-high::before{content:""}.bi-thermometer-low::before{content:""}.bi-thermometer-snow::before{content:""}.bi-thermometer-sun::before{content:""}.bi-thermometer::before{content:""}.bi-three-dots-vertical::before{content:""}.bi-three-dots::before{content:""}.bi-toggle-off::before{content:""}.bi-toggle-on::before{content:""}.bi-toggle2-off::before{content:""}.bi-toggle2-on::before{content:""}.bi-toggles::before{content:""}.bi-toggles2::before{content:""}.bi-tools::before{content:""}.bi-tornado::before{content:""}.bi-trash-fill::before{content:""}.bi-trash::before{content:""}.bi-trash2-fill::before{content:""}.bi-trash2::before{content:""}.bi-tree-fill::before{content:""}.bi-tree::before{content:""}.bi-triangle-fill::before{content:""}.bi-triangle-half::before{content:""}.bi-triangle::before{content:""}.bi-trophy-fill::before{content:""}.bi-trophy::before{content:""}.bi-tropical-storm::before{content:""}.bi-truck-flatbed::before{content:""}.bi-truck::before{content:""}.bi-tsunami::before{content:""}.bi-tv-fill::before{content:""}.bi-tv::before{content:""}.bi-twitch::before{content:""}.bi-twitter::before{content:""}.bi-type-bold::before{content:""}.bi-type-h1::before{content:""}.bi-type-h2::before{content:""}.bi-type-h3::before{content:""}.bi-type-italic::before{content:""}.bi-type-strikethrough::before{content:""}.bi-type-underline::before{content:""}.bi-type::before{content:""}.bi-ui-checks-grid::before{content:""}.bi-ui-checks::before{content:""}.bi-ui-radios-grid::before{content:""}.bi-ui-radios::before{content:""}.bi-umbrella-fill::before{content:""}.bi-umbrella::before{content:""}.bi-union::before{content:""}.bi-unlock-fill::before{content:""}.bi-unlock::before{content:""}.bi-upc-scan::before{content:""}.bi-upc::before{content:""}.bi-upload::before{content:""}.bi-vector-pen::before{content:""}.bi-view-list::before{content:""}.bi-view-stacked::before{content:""}.bi-vinyl-fill::before{content:""}.bi-vinyl::before{content:""}.bi-voicemail::before{content:""}.bi-volume-down-fill::before{content:""}.bi-volume-down::before{content:""}.bi-volume-mute-fill::before{content:""}.bi-volume-mute::before{content:""}.bi-volume-off-fill::before{content:""}.bi-volume-off::before{content:""}.bi-volume-up-fill::before{content:""}.bi-volume-up::before{content:""}.bi-vr::before{content:""}.bi-wallet-fill::before{content:""}.bi-wallet::before{content:""}.bi-wallet2::before{content:""}.bi-watch::before{content:""}.bi-water::before{content:""}.bi-whatsapp::before{content:""}.bi-wifi-1::before{content:""}.bi-wifi-2::before{content:""}.bi-wifi-off::before{content:""}.bi-wifi::before{content:""}.bi-wind::before{content:""}.bi-window-dock::before{content:""}.bi-window-sidebar::before{content:""}.bi-window::before{content:""}.bi-wrench::before{content:""}.bi-x-circle-fill::before{content:""}.bi-x-circle::before{content:""}.bi-x-diamond-fill::before{content:""}.bi-x-diamond::before{content:""}.bi-x-octagon-fill::before{content:""}.bi-x-octagon::before{content:""}.bi-x-square-fill::before{content:""}.bi-x-square::before{content:""}.bi-x::before{content:""}.bi-youtube::before{content:""}.bi-zoom-in::before{content:""}.bi-zoom-out::before{content:""}.bi-bank::before{content:""}.bi-bank2::before{content:""}.bi-bell-slash-fill::before{content:""}.bi-bell-slash::before{content:""}.bi-cash-coin::before{content:""}.bi-check-lg::before{content:""}.bi-coin::before{content:""}.bi-currency-bitcoin::before{content:""}.bi-currency-dollar::before{content:""}.bi-currency-euro::before{content:""}.bi-currency-exchange::before{content:""}.bi-currency-pound::before{content:""}.bi-currency-yen::before{content:""}.bi-dash-lg::before{content:""}.bi-exclamation-lg::before{content:""}.bi-file-earmark-pdf-fill::before{content:""}.bi-file-earmark-pdf::before{content:""}.bi-file-pdf-fill::before{content:""}.bi-file-pdf::before{content:""}.bi-gender-ambiguous::before{content:""}.bi-gender-female::before{content:""}.bi-gender-male::before{content:""}.bi-gender-trans::before{content:""}.bi-headset-vr::before{content:""}.bi-info-lg::before{content:""}.bi-mastodon::before{content:""}.bi-messenger::before{content:""}.bi-piggy-bank-fill::before{content:""}.bi-piggy-bank::before{content:""}.bi-pin-map-fill::before{content:""}.bi-pin-map::before{content:""}.bi-plus-lg::before{content:""}.bi-question-lg::before{content:""}.bi-recycle::before{content:""}.bi-reddit::before{content:""}.bi-safe-fill::before{content:""}.bi-safe2-fill::before{content:""}.bi-safe2::before{content:""}.bi-sd-card-fill::before{content:""}.bi-sd-card::before{content:""}.bi-skype::before{content:""}.bi-slash-lg::before{content:""}.bi-translate::before{content:""}.bi-x-lg::before{content:""}.bi-safe::before{content:""}.bi-apple::before{content:""}.bi-microsoft::before{content:""}.bi-windows::before{content:""}.bi-behance::before{content:""}.bi-dribbble::before{content:""}.bi-line::before{content:""}.bi-medium::before{content:""}.bi-paypal::before{content:""}.bi-pinterest::before{content:""}.bi-signal::before{content:""}.bi-snapchat::before{content:""}.bi-spotify::before{content:""}.bi-stack-overflow::before{content:""}.bi-strava::before{content:""}.bi-wordpress::before{content:""}.bi-vimeo::before{content:""}.bi-activity::before{content:""}.bi-easel2-fill::before{content:""}.bi-easel2::before{content:""}.bi-easel3-fill::before{content:""}.bi-easel3::before{content:""}.bi-fan::before{content:""}.bi-fingerprint::before{content:""}.bi-graph-down-arrow::before{content:""}.bi-graph-up-arrow::before{content:""}.bi-hypnotize::before{content:""}.bi-magic::before{content:""}.bi-person-rolodex::before{content:""}.bi-person-video::before{content:""}.bi-person-video2::before{content:""}.bi-person-video3::before{content:""}.bi-person-workspace::before{content:""}.bi-radioactive::before{content:""}.bi-webcam-fill::before{content:""}.bi-webcam::before{content:""}.bi-yin-yang::before{content:""}.bi-bandaid-fill::before{content:""}.bi-bandaid::before{content:""}.bi-bluetooth::before{content:""}.bi-body-text::before{content:""}.bi-boombox::before{content:""}.bi-boxes::before{content:""}.bi-dpad-fill::before{content:""}.bi-dpad::before{content:""}.bi-ear-fill::before{content:""}.bi-ear::before{content:""}.bi-envelope-check-1::before{content:""}.bi-envelope-check-fill::before{content:""}.bi-envelope-check::before{content:""}.bi-envelope-dash-1::before{content:""}.bi-envelope-dash-fill::before{content:""}.bi-envelope-dash::before{content:""}.bi-envelope-exclamation-1::before{content:""}.bi-envelope-exclamation-fill::before{content:""}.bi-envelope-exclamation::before{content:""}.bi-envelope-plus-fill::before{content:""}.bi-envelope-plus::before{content:""}.bi-envelope-slash-1::before{content:""}.bi-envelope-slash-fill::before{content:""}.bi-envelope-slash::before{content:""}.bi-envelope-x-1::before{content:""}.bi-envelope-x-fill::before{content:""}.bi-envelope-x::before{content:""}.bi-explicit-fill::before{content:""}.bi-explicit::before{content:""}.bi-git::before{content:""}.bi-infinity::before{content:""}.bi-list-columns-reverse::before{content:""}.bi-list-columns::before{content:""}.bi-meta::before{content:""}.bi-mortorboard-fill::before{content:""}.bi-mortorboard::before{content:""}.bi-nintendo-switch::before{content:""}.bi-pc-display-horizontal::before{content:""}.bi-pc-display::before{content:""}.bi-pc-horizontal::before{content:""}.bi-pc::before{content:""}.bi-playstation::before{content:""}.bi-plus-slash-minus::before{content:""}.bi-projector-fill::before{content:""}.bi-projector::before{content:""}.bi-qr-code-scan::before{content:""}.bi-qr-code::before{content:""}.bi-quora::before{content:""}.bi-quote::before{content:""}.bi-robot::before{content:""}.bi-send-check-fill::before{content:""}.bi-send-check::before{content:""}.bi-send-dash-fill::before{content:""}.bi-send-dash::before{content:""}.bi-send-exclamation-1::before{content:""}.bi-send-exclamation-fill::before{content:""}.bi-send-exclamation::before{content:""}.bi-send-fill::before{content:""}.bi-send-plus-fill::before{content:""}.bi-send-plus::before{content:""}.bi-send-slash-fill::before{content:""}.bi-send-slash::before{content:""}.bi-send-x-fill::before{content:""}.bi-send-x::before{content:""}.bi-send::before{content:""}.bi-steam::before{content:""}.bi-terminal-dash-1::before{content:""}.bi-terminal-dash::before{content:""}.bi-terminal-plus::before{content:""}.bi-terminal-split::before{content:""}.bi-ticket-detailed-fill::before{content:""}.bi-ticket-detailed::before{content:""}.bi-ticket-fill::before{content:""}.bi-ticket-perforated-fill::before{content:""}.bi-ticket-perforated::before{content:""}.bi-ticket::before{content:""}.bi-tiktok::before{content:""}.bi-window-dash::before{content:""}.bi-window-desktop::before{content:""}.bi-window-fullscreen::before{content:""}.bi-window-plus::before{content:""}.bi-window-split::before{content:""}.bi-window-stack::before{content:""}.bi-window-x::before{content:""}.bi-xbox::before{content:""}.bi-ethernet::before{content:""}.bi-hdmi-fill::before{content:""}.bi-hdmi::before{content:""}.bi-usb-c-fill::before{content:""}.bi-usb-c::before{content:""}.bi-usb-fill::before{content:""}.bi-usb-plug-fill::before{content:""}.bi-usb-plug::before{content:""}.bi-usb-symbol::before{content:""}.bi-usb::before{content:""}.bi-boombox-fill::before{content:""}.bi-displayport-1::before{content:""}.bi-displayport::before{content:""}.bi-gpu-card::before{content:""}.bi-memory::before{content:""}.bi-modem-fill::before{content:""}.bi-modem::before{content:""}.bi-motherboard-fill::before{content:""}.bi-motherboard::before{content:""}.bi-optical-audio-fill::before{content:""}.bi-optical-audio::before{content:""}.bi-pci-card::before{content:""}.bi-router-fill::before{content:""}.bi-router::before{content:""}.bi-ssd-fill::before{content:""}.bi-ssd::before{content:""}.bi-thunderbolt-fill::before{content:""}.bi-thunderbolt::before{content:""}.bi-usb-drive-fill::before{content:""}.bi-usb-drive::before{content:""}.bi-usb-micro-fill::before{content:""}.bi-usb-micro::before{content:""}.bi-usb-mini-fill::before{content:""}.bi-usb-mini::before{content:""}.bi-cloud-haze2::before{content:""}.bi-device-hdd-fill::before{content:""}.bi-device-hdd::before{content:""}.bi-device-ssd-fill::before{content:""}.bi-device-ssd::before{content:""}.bi-displayport-fill::before{content:""}.bi-mortarboard-fill::before{content:""}.bi-mortarboard::before{content:""}.bi-terminal-x::before{content:""} diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.js b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.js index b47f396a64..55481be1e3 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.js +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/global.js @@ -1,25 +1,25 @@ -(()=>{"use strict";var e,t,n;!function(e){const t=[],n="__jsObjectId",r="__dotNetObject",o="__byte[]",i="__dotNetStream",s="__jsStreamReferenceLength";let a,c;class l{constructor(e){this._jsObject=e,this._cachedFunctions=new Map}findFunction(e){const t=this._cachedFunctions.get(e);if(t)return t;let n,r=this._jsObject;if(e.split(".").forEach((t=>{if(!(t in r))throw new Error(`Could not find '${e}' ('${t}' was undefined).`);n=r,r=r[t]})),r instanceof Function)return r=r.bind(n),this._cachedFunctions.set(e,r),r;throw new Error(`The value '${e}' is not a function.`)}getWrappedObject(){return this._jsObject}}const u={0:new l(window)};u[0]._cachedFunctions.set("import",(e=>("string"==typeof e&&e.startsWith("./")&&(e=new URL(e.substr(2),document.baseURI).toString()),import(e))));let d,f=1;function m(e){t.push(e)}function h(e){if(e&&"object"==typeof e){u[f]=new l(e);const t={[n]:f};return f++,t}throw new Error(`Cannot create a JSObjectReference from the value '${e}'.`)}function p(e){let t=-1;if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Blob)t=e.size;else{if(!(e.buffer instanceof ArrayBuffer))throw new Error("Supplied value is not a typed array or blob.");if(void 0===e.byteLength)throw new Error(`Cannot create a JSStreamReference from the value '${e}' as it doesn't have a byteLength.`);t=e.byteLength}const r={[s]:t};try{const t=h(e);r[n]=t[n]}catch(t){throw new Error(`Cannot create a JSStreamReference from the value '${e}'.`)}return r}function g(e,n){c=e;const r=n?JSON.parse(n,((e,n)=>t.reduce(((t,n)=>n(e,t)),n))):null;return c=void 0,r}function v(){if(void 0===a)throw new Error("No call dispatcher has been set.");if(null===a)throw new Error("There are multiple .NET runtimes present, so a default dispatcher could not be resolved. Use DotNetObject to invoke .NET instance methods.");return a}e.attachDispatcher=function(e){const t=new y(e);return void 0===a?a=t:a&&(a=null),t},e.attachReviver=m,e.invokeMethod=function(e,t,...n){return v().invokeDotNetStaticMethod(e,t,...n)},e.invokeMethodAsync=function(e,t,...n){return v().invokeDotNetStaticMethodAsync(e,t,...n)},e.createJSObjectReference=h,e.createJSStreamReference=p,e.disposeJSObjectReference=function(e){const t=e&&e[n];"number"==typeof t&&E(t)},function(e){e[e.Default=0]="Default",e[e.JSObjectReference=1]="JSObjectReference",e[e.JSStreamReference=2]="JSStreamReference",e[e.JSVoidResult=3]="JSVoidResult"}(d=e.JSCallResultType||(e.JSCallResultType={}));class y{constructor(e){this._dotNetCallDispatcher=e,this._byteArraysToBeRevived=new Map,this._pendingDotNetToJSStreams=new Map,this._pendingAsyncCalls={},this._nextAsyncCallId=1}getDotNetCallDispatcher(){return this._dotNetCallDispatcher}invokeJSFromDotNet(e,t,n,r){const o=g(this,t),i=A(w(e,r)(...o||[]),n);return null==i?null:_(this,i)}beginInvokeJSFromDotNet(e,t,n,r,o){const i=new Promise((e=>{const r=g(this,n);e(w(t,o)(...r||[]))}));e&&i.then((t=>_(this,[e,!0,A(t,r)]))).then((t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!0,t)),(t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!1,JSON.stringify([e,!1,b(t)]))))}endInvokeDotNetFromJS(e,t,n){const r=t?g(this,n):new Error(n);this.completePendingCall(parseInt(e,10),t,r)}invokeDotNetStaticMethod(e,t,...n){return this.invokeDotNetMethod(e,t,null,n)}invokeDotNetStaticMethodAsync(e,t,...n){return this.invokeDotNetMethodAsync(e,t,null,n)}invokeDotNetMethod(e,t,n,r){if(this._dotNetCallDispatcher.invokeDotNetFromJS){const o=_(this,r),i=this._dotNetCallDispatcher.invokeDotNetFromJS(e,t,n,o);return i?g(this,i):null}throw new Error("The current dispatcher does not support synchronous calls from JS to .NET. Use invokeDotNetMethodAsync instead.")}invokeDotNetMethodAsync(e,t,n,r){if(e&&n)throw new Error(`For instance method calls, assemblyName should be null. Received '${e}'.`);const o=this._nextAsyncCallId++,i=new Promise(((e,t)=>{this._pendingAsyncCalls[o]={resolve:e,reject:t}}));try{const i=_(this,r);this._dotNetCallDispatcher.beginInvokeDotNetFromJS(o,e,t,n,i)}catch(e){this.completePendingCall(o,!1,e)}return i}receiveByteArray(e,t){this._byteArraysToBeRevived.set(e,t)}processByteArray(e){const t=this._byteArraysToBeRevived.get(e);return t?(this._byteArraysToBeRevived.delete(e),t):null}supplyDotNetStream(e,t){if(this._pendingDotNetToJSStreams.has(e)){const n=this._pendingDotNetToJSStreams.get(e);this._pendingDotNetToJSStreams.delete(e),n.resolve(t)}else{const n=new N;n.resolve(t),this._pendingDotNetToJSStreams.set(e,n)}}getDotNetStreamPromise(e){let t;if(this._pendingDotNetToJSStreams.has(e))t=this._pendingDotNetToJSStreams.get(e).streamPromise,this._pendingDotNetToJSStreams.delete(e);else{const n=new N;this._pendingDotNetToJSStreams.set(e,n),t=n.streamPromise}return t}completePendingCall(e,t,n){if(!this._pendingAsyncCalls.hasOwnProperty(e))throw new Error(`There is no pending async call with ID ${e}.`);const r=this._pendingAsyncCalls[e];delete this._pendingAsyncCalls[e],t?r.resolve(n):r.reject(n)}}function b(e){return e instanceof Error?`${e.message}\n${e.stack}`:e?e.toString():"null"}function w(e,t){const n=u[t];if(n)return n.findFunction(e);throw new Error(`JS object instance with ID ${t} does not exist (has it been disposed?).`)}function E(e){delete u[e]}e.findJSFunction=w,e.disposeJSObjectReferenceById=E;class S{constructor(e,t){this._id=e,this._callDispatcher=t}invokeMethod(e,...t){return this._callDispatcher.invokeDotNetMethod(null,e,this._id,t)}invokeMethodAsync(e,...t){return this._callDispatcher.invokeDotNetMethodAsync(null,e,this._id,t)}dispose(){this._callDispatcher.invokeDotNetMethodAsync(null,"__Dispose",this._id,null).catch((e=>console.error(e)))}serializeAsArg(){return{[r]:this._id}}}e.DotNetObject=S,m((function(e,t){if(t&&"object"==typeof t){if(t.hasOwnProperty(r))return new S(t[r],c);if(t.hasOwnProperty(n)){const e=t[n],r=u[e];if(r)return r.getWrappedObject();throw new Error(`JS object instance with Id '${e}' does not exist. It may have been disposed.`)}if(t.hasOwnProperty(o)){const e=t[o],n=c.processByteArray(e);if(void 0===n)throw new Error(`Byte array index '${e}' does not exist.`);return n}if(t.hasOwnProperty(i)){const e=t[i],n=c.getDotNetStreamPromise(e);return new I(n)}}return t}));class I{constructor(e){this._streamPromise=e}stream(){return this._streamPromise}async arrayBuffer(){return new Response(await this.stream()).arrayBuffer()}}class N{constructor(){this.streamPromise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}function A(e,t){switch(t){case d.Default:return e;case d.JSObjectReference:return h(e);case d.JSStreamReference:return p(e);case d.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${t}'.`)}}let C=0;function _(e,t){C=0,c=e;const n=JSON.stringify(t,k);return c=void 0,n}function k(e,t){if(t instanceof S)return t.serializeAsArg();if(t instanceof Uint8Array){c.getDotNetCallDispatcher().sendByteArray(C,t);const e={[o]:C};return C++,e}return t}}(e||(e={})),function(e){e[e.prependFrame=1]="prependFrame",e[e.removeFrame=2]="removeFrame",e[e.setAttribute=3]="setAttribute",e[e.removeAttribute=4]="removeAttribute",e[e.updateText=5]="updateText",e[e.stepIn=6]="stepIn",e[e.stepOut=7]="stepOut",e[e.updateMarkup=8]="updateMarkup",e[e.permutationListEntry=9]="permutationListEntry",e[e.permutationListEnd=10]="permutationListEnd"}(t||(t={})),function(e){e[e.element=1]="element",e[e.text=2]="text",e[e.attribute=3]="attribute",e[e.component=4]="component",e[e.region=5]="region",e[e.elementReferenceCapture=6]="elementReferenceCapture",e[e.markup=8]="markup",e[e.namedEvent=10]="namedEvent"}(n||(n={}));class r{constructor(e,t){this.componentId=e,this.fieldValue=t}static fromEvent(e,t){const n=t.target;if(n instanceof Element){const t=function(e){return e instanceof HTMLInputElement?e.type&&"checkbox"===e.type.toLowerCase()?{value:e.checked}:{value:e.value}:e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?{value:e.value}:null}(n);if(t)return new r(e,t.value)}return null}}const o=new Map,i=new Map,s=[];function a(e){return o.get(e)}function c(e){const t=o.get(e);return(null==t?void 0:t.browserEventName)||e}function l(e,t){e.forEach((e=>o.set(e,t)))}function u(e){const t=[];for(let n=0;ne.selected)).map((e=>e.value))}}{const e=function(e){return!!e&&"INPUT"===e.tagName&&"checkbox"===e.getAttribute("type")}(t);return{value:e?!!t.checked:t.value}}}}),l(["copy","cut","paste"],{createEventArgs:e=>({type:e.type})}),l(["drag","dragend","dragenter","dragleave","dragover","dragstart","drop"],{createEventArgs:e=>{return{...d(t=e),dataTransfer:t.dataTransfer?{dropEffect:t.dataTransfer.dropEffect,effectAllowed:t.dataTransfer.effectAllowed,files:Array.from(t.dataTransfer.files).map((e=>e.name)),items:Array.from(t.dataTransfer.items).map((e=>({kind:e.kind,type:e.type}))),types:t.dataTransfer.types}:null};var t}}),l(["focus","blur","focusin","focusout"],{createEventArgs:e=>({type:e.type})}),l(["keydown","keyup","keypress"],{createEventArgs:e=>{return{key:(t=e).key,code:t.code,location:t.location,repeat:t.repeat,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["contextmenu","click","mouseover","mouseout","mousemove","mousedown","mouseup","mouseleave","mouseenter","dblclick"],{createEventArgs:e=>d(e)}),l(["error"],{createEventArgs:e=>{return{message:(t=e).message,filename:t.filename,lineno:t.lineno,colno:t.colno,type:t.type};var t}}),l(["loadstart","timeout","abort","load","loadend","progress"],{createEventArgs:e=>{return{lengthComputable:(t=e).lengthComputable,loaded:t.loaded,total:t.total,type:t.type};var t}}),l(["touchcancel","touchend","touchmove","touchenter","touchleave","touchstart"],{createEventArgs:e=>{return{detail:(t=e).detail,touches:u(t.touches),targetTouches:u(t.targetTouches),changedTouches:u(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["gotpointercapture","lostpointercapture","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerup"],{createEventArgs:e=>{return{...d(t=e),pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tiltX:t.tiltX,tiltY:t.tiltY,pointerType:t.pointerType,isPrimary:t.isPrimary};var t}}),l(["wheel","mousewheel"],{createEventArgs:e=>{return{...d(t=e),deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode};var t}}),l(["toggle"],{createEventArgs:()=>({})});const f=["date","datetime-local","month","time","week"],m=new Map;let h,p,g=0;const v={async add(e,t,n){if(!n)throw new Error("initialParameters must be an object, even if empty.");const r="__bl-dynamic-root:"+(++g).toString();m.set(r,e);const o=await w().invokeMethodAsync("AddRootComponent",t,r),i=new b(o,p[t]);return await i.setParameters(n),i}};class y{invoke(e){return this._callback(e)}setCallback(t){this._selfJSObjectReference||(this._selfJSObjectReference=e.createJSObjectReference(this)),this._callback=t}getJSObjectReference(){return this._selfJSObjectReference}dispose(){this._selfJSObjectReference&&e.disposeJSObjectReference(this._selfJSObjectReference)}}class b{constructor(e,t){this._jsEventCallbackWrappers=new Map,this._componentId=e;for(const e of t)"eventcallback"===e.type&&this._jsEventCallbackWrappers.set(e.name.toLowerCase(),new y)}setParameters(e){const t={},n=Object.entries(e||{}),r=n.length;for(const[e,r]of n){const n=this._jsEventCallbackWrappers.get(e.toLowerCase());n&&r?(n.setCallback(r),t[e]=n.getJSObjectReference()):t[e]=r}return w().invokeMethodAsync("SetRootComponentParameters",this._componentId,r,t)}async dispose(){if(null!==this._componentId){await w().invokeMethodAsync("RemoveRootComponent",this._componentId),this._componentId=null;for(const e of this._jsEventCallbackWrappers.values())e.dispose()}}}function w(){if(!h)throw new Error("Dynamic root components have not been enabled in this application.");return h}const E=new Map,S=new Map,I=new Map;let N;function A(e,t,n){return _(e,t.eventHandlerId,(()=>C(e).invokeMethodAsync("DispatchEventAsync",t,n)))}function C(e){const t=E.get(e);if(!t)throw new Error(`No interop methods are registered for renderer ${e}`);return t}new Promise((e=>{N=e}));let _=(e,t,n)=>n();const k=M(["abort","blur","canplay","canplaythrough","change","cuechange","durationchange","emptied","ended","error","focus","load","loadeddata","loadedmetadata","loadend","loadstart","mouseenter","mouseleave","pointerenter","pointerleave","pause","play","playing","progress","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","toggle","unload","volumechange","waiting","DOMNodeInsertedIntoDocument","DOMNodeRemovedFromDocument"]),D={submit:!0},R=M(["click","dblclick","mousedown","mousemove","mouseup"]);class F{constructor(e){this.browserRendererId=e,this.afterClickCallbacks=[];const t=++F.nextEventDelegatorId;this.eventsCollectionKey=`_blazorEvents_${t}`,this.eventInfoStore=new T(this.onGlobalEvent.bind(this))}setListener(e,t,n,r){const o=this.getEventHandlerInfosForElement(e,!0),i=o.getHandler(t);if(i)this.eventInfoStore.update(i.eventHandlerId,n);else{const i={element:e,eventName:t,eventHandlerId:n,renderingComponentId:r};this.eventInfoStore.add(i),o.setHandler(t,i)}}getHandler(e){return this.eventInfoStore.get(e)}removeListener(e){const t=this.eventInfoStore.remove(e);if(t){const e=t.element,n=this.getEventHandlerInfosForElement(e,!1);n&&n.removeHandler(t.eventName)}}notifyAfterClick(e){this.afterClickCallbacks.push(e),this.eventInfoStore.addGlobalListener("click")}setStopPropagation(e,t,n){this.getEventHandlerInfosForElement(e,!0).stopPropagation(t,n)}setPreventDefault(e,t,n){this.getEventHandlerInfosForElement(e,!0).preventDefault(t,n)}onGlobalEvent(e){if(!(e.target instanceof Element))return;this.dispatchGlobalEventToAllElements(e.type,e);const t=(n=e.type,i.get(n));var n;t&&t.forEach((t=>this.dispatchGlobalEventToAllElements(t,e))),"click"===e.type&&this.afterClickCallbacks.forEach((t=>t(e)))}dispatchGlobalEventToAllElements(e,t){const n=t.composedPath();let o=n.shift(),i=null,s=!1;const c=Object.prototype.hasOwnProperty.call(k,e);let l=!1;for(;o;){const f=o,m=this.getEventHandlerInfosForElement(f,!1);if(m){const n=m.getHandler(e);if(n&&(u=f,d=t.type,!((u instanceof HTMLButtonElement||u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement)&&Object.prototype.hasOwnProperty.call(R,d)&&u.disabled))){if(!s){const n=a(e);i=(null==n?void 0:n.createEventArgs)?n.createEventArgs(t):{},s=!0}Object.prototype.hasOwnProperty.call(D,t.type)&&t.preventDefault(),A(this.browserRendererId,{eventHandlerId:n.eventHandlerId,eventName:e,eventFieldInfo:r.fromEvent(n.renderingComponentId,t)},i)}m.stopPropagation(e)&&(l=!0),m.preventDefault(e)&&t.preventDefault()}o=c||l?void 0:n.shift()}var u,d}getEventHandlerInfosForElement(e,t){return Object.prototype.hasOwnProperty.call(e,this.eventsCollectionKey)?e[this.eventsCollectionKey]:t?e[this.eventsCollectionKey]=new O:null}}F.nextEventDelegatorId=0;class T{constructor(e){this.globalListener=e,this.infosByEventHandlerId={},this.countByEventName={},s.push(this.handleEventNameAliasAdded.bind(this))}add(e){if(this.infosByEventHandlerId[e.eventHandlerId])throw new Error(`Event ${e.eventHandlerId} is already tracked`);this.infosByEventHandlerId[e.eventHandlerId]=e,this.addGlobalListener(e.eventName)}get(e){return this.infosByEventHandlerId[e]}addGlobalListener(e){if(e=c(e),Object.prototype.hasOwnProperty.call(this.countByEventName,e))this.countByEventName[e]++;else{this.countByEventName[e]=1;const t=Object.prototype.hasOwnProperty.call(k,e);document.addEventListener(e,this.globalListener,t)}}update(e,t){if(Object.prototype.hasOwnProperty.call(this.infosByEventHandlerId,t))throw new Error(`Event ${t} is already tracked`);const n=this.infosByEventHandlerId[e];delete this.infosByEventHandlerId[e],n.eventHandlerId=t,this.infosByEventHandlerId[t]=n}remove(e){const t=this.infosByEventHandlerId[e];if(t){delete this.infosByEventHandlerId[e];const n=c(t.eventName);0==--this.countByEventName[n]&&(delete this.countByEventName[n],document.removeEventListener(n,this.globalListener))}return t}handleEventNameAliasAdded(e,t){if(Object.prototype.hasOwnProperty.call(this.countByEventName,e)){const n=this.countByEventName[e];delete this.countByEventName[e],document.removeEventListener(e,this.globalListener),this.addGlobalListener(t),this.countByEventName[t]+=n-1}}}class O{constructor(){this.handlers={},this.preventDefaultFlags=null,this.stopPropagationFlags=null}getHandler(e){return Object.prototype.hasOwnProperty.call(this.handlers,e)?this.handlers[e]:null}setHandler(e,t){this.handlers[e]=t}removeHandler(e){delete this.handlers[e]}preventDefault(e,t){return void 0!==t&&(this.preventDefaultFlags=this.preventDefaultFlags||{},this.preventDefaultFlags[e]=t),!!this.preventDefaultFlags&&this.preventDefaultFlags[e]}stopPropagation(e,t){return void 0!==t&&(this.stopPropagationFlags=this.stopPropagationFlags||{},this.stopPropagationFlags[e]=t),!!this.stopPropagationFlags&&this.stopPropagationFlags[e]}}function M(e){const t={};return e.forEach((e=>{t[e]=!0})),t}const x=Symbol(),L=Symbol(),P=Symbol();function J(e,t){if(x in e)return e;const n=[];if(e.childNodes.length>0){if(!t)throw new Error("New logical elements must start empty, or allowExistingContents must be true");e.childNodes.forEach((t=>{const r=J(t,!0);r[L]=e,n.push(r)}))}return e[x]=n,e}function B(e){const t=W(e);for(;t.length;)$(e,0)}function j(e,t){const n=document.createComment("!");return H(n,e,t),n}function H(e,t,n){const r=e;let o=e;if(x in e){const t=q(r);if(t!==e){const n=new Range;n.setStartBefore(e),n.setEndAfter(t),o=n.extractContents()}}const i=U(r);if(i){const e=W(i),t=Array.prototype.indexOf.call(e,r);e.splice(t,1),delete r[L]}const s=W(t);if(n0;)$(n,0)}const r=n;r.parentNode.removeChild(r)}function U(e){return e[L]||null}function z(e,t){return W(e)[t]}function K(e){const t=Y(e);return"http://www.w3.org/2000/svg"===t.namespaceURI&&"foreignObject"!==t.tagName}function W(e){return e[x]}function V(e){const t=W(U(e));return t[Array.prototype.indexOf.call(t,e)+1]||null}function X(e,t){const n=W(e);t.forEach((e=>{e.moveRangeStart=n[e.fromSiblingIndex],e.moveRangeEnd=q(e.moveRangeStart)})),t.forEach((t=>{const r=document.createComment("marker");t.moveToBeforeMarker=r;const o=n[t.toSiblingIndex+1];o?o.parentNode.insertBefore(r,o):G(r,e)})),t.forEach((e=>{const t=e.moveToBeforeMarker,n=t.parentNode,r=e.moveRangeStart,o=e.moveRangeEnd;let i=r;for(;i;){const e=i.nextSibling;if(n.insertBefore(i,t),i===o)break;i=e}n.removeChild(t)})),t.forEach((e=>{n[e.toSiblingIndex]=e.moveRangeStart}))}function Y(e){if(e instanceof Element||e instanceof DocumentFragment)return e;if(e instanceof Comment)return e.parentNode;throw new Error("Not a valid logical element")}function G(e,t){if(t instanceof Element||t instanceof DocumentFragment)t.appendChild(e);else{if(!(t instanceof Comment))throw new Error(`Cannot append node because the parent is not a valid logical element. Parent: ${t}`);{const n=V(t);n?n.parentNode.insertBefore(e,n):G(e,U(t))}}}function q(e){if(e instanceof Element||e instanceof DocumentFragment)return e;const t=V(e);if(t)return t.previousSibling;{const t=U(e);return t instanceof Element||t instanceof DocumentFragment?t.lastChild:q(t)}}function Z(e){return`_bl_${e}`}const Q="__internalId";e.attachReviver(((e,t)=>t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,Q)&&"string"==typeof t[Q]?function(e){const t=`[${Z(e)}]`;return document.querySelector(t)}(t[Q]):t));const ee="_blazorDeferredValue";function te(e){return"select-multiple"===e.type}function ne(e,t){e.value=t||""}function re(e,t){e instanceof HTMLSelectElement?te(e)?function(e,t){t||(t=[]);for(let n=0;n{Ne()&&function(e,t){if(0!==e.button||function(e){return e.ctrlKey||e.shiftKey||e.altKey||e.metaKey}(e))return;if(e.defaultPrevented)return;const n=function(e){const t=!window._blazorDisableComposedPath&&e.composedPath&&e.composedPath();if(t){for(let e=0;edocument.baseURI,getLocationHref:()=>location.href,scrollToElement:Me};function Me(e){const t=document.getElementById(e);return!!t&&(t.scrollIntoView(),!0)}function xe(e,t,n=!1){const r=Se(e);!t.forceLoad&&be(r)?Ue()?Le(r,!1,t.replaceHistoryEntry,t.historyEntryState,n):Ee(r,t.replaceHistoryEntry):function(e,t){if(location.href===e){const t=e+"?";history.replaceState(null,"",t),location.replace(e)}else t?location.replace(e):location.href=e}(e,t.replaceHistoryEntry)}async function Le(e,t,n,r=void 0,o=!1){if(Be(),function(e){const t=e.indexOf("#");return t>-1&&location.href.replace(location.hash,"")===e.substring(0,t)}(e))!function(e,t,n){Pe(e,t,n);const r=e.indexOf("#");r!==e.length-1&&Me(e.substring(r+1))}(e,n,r);else{if(!o&&Ce&&!await je(e,r,t))return;he=!0,Pe(e,n,r),await He(t)}}function Pe(e,t,n=void 0){t?history.replaceState({userState:n,_index:_e},"",e):(_e++,history.pushState({userState:n,_index:_e},"",e))}function Je(e){return new Promise((t=>{const n=Fe;Fe=()=>{Fe=n,t()},history.go(e)}))}function Be(){Te&&(Te(!1),Te=null)}function je(e,t,n){return new Promise((r=>{Be(),Re?(ke++,Te=r,Re(ke,e,t,n)):r(!1)}))}async function He(e){var t;De&&await De(location.href,null===(t=history.state)||void 0===t?void 0:t.userState,e)}async function $e(e){var t,n;Fe&&Ue()&&await Fe(e),_e=null!==(n=null===(t=history.state)||void 0===t?void 0:t._index)&&void 0!==n?n:0}function Ue(){return Ne()||!we()}const ze={focus:function(e,t){if(e instanceof HTMLElement)e.focus({preventScroll:t});else{if(!(e instanceof SVGElement))throw new Error("Unable to focus an invalid element.");if(!e.hasAttribute("tabindex"))throw new Error("Unable to focus an SVG element that does not have a tabindex.");e.focus({preventScroll:t})}},focusBySelector:function(e,t){const n=document.querySelector(e);n&&(n.hasAttribute("tabindex")||(n.tabIndex=-1),n.focus({preventScroll:!0}))}},Ke={init:function(e,t,n,r=50){const o=Ve(t);(o||document.documentElement).style.overflowAnchor="none";const i=document.createRange();u(n.parentElement)&&(t.style.display="table-row",n.style.display="table-row");const s=new IntersectionObserver((function(r){r.forEach((r=>{var o;if(!r.isIntersecting)return;i.setStartAfter(t),i.setEndBefore(n);const s=i.getBoundingClientRect().height,a=null===(o=r.rootBounds)||void 0===o?void 0:o.height;r.target===t?e.invokeMethodAsync("OnSpacerBeforeVisible",r.intersectionRect.top-r.boundingClientRect.top,s,a):r.target===n&&n.offsetHeight>0&&e.invokeMethodAsync("OnSpacerAfterVisible",r.boundingClientRect.bottom-r.intersectionRect.bottom,s,a)}))}),{root:o,rootMargin:`${r}px`});s.observe(t),s.observe(n);const a=l(t),c=l(n);function l(e){const t={attributes:!0},n=new MutationObserver(((n,r)=>{u(e.parentElement)&&(r.disconnect(),e.style.display="table-row",r.observe(e,t)),s.unobserve(e),s.observe(e)}));return n.observe(e,t),n}function u(e){return null!==e&&(e instanceof HTMLTableElement&&""===e.style.display||"table"===e.style.display||e instanceof HTMLTableSectionElement&&""===e.style.display||"table-row-group"===e.style.display)}We[e._id]={intersectionObserver:s,mutationObserverBefore:a,mutationObserverAfter:c}},dispose:function(e){const t=We[e._id];t&&(t.intersectionObserver.disconnect(),t.mutationObserverBefore.disconnect(),t.mutationObserverAfter.disconnect(),e.dispose(),delete We[e._id])}},We={};function Ve(e){return e&&e!==document.body&&e!==document.documentElement?"visible"!==getComputedStyle(e).overflowY?e:Ve(e.parentElement):null}const Xe={getAndRemoveExistingTitle:function(){var e;const t=document.head?document.head.getElementsByTagName("title"):[];if(0===t.length)return null;let n=null;for(let r=t.length-1;r>=0;r--){const o=t[r],i=o.previousSibling;i instanceof Comment&&null!==U(i)||(null===n&&(n=o.textContent),null===(e=o.parentNode)||void 0===e||e.removeChild(o))}return n}},Ye={init:function(e,t){t._blazorInputFileNextFileId=0,t.addEventListener("click",(function(){t.value=""})),t.addEventListener("change",(function(){t._blazorFilesById={};const n=Array.prototype.map.call(t.files,(function(e){const n={id:++t._blazorInputFileNextFileId,lastModified:new Date(e.lastModified).toISOString(),name:e.name,size:e.size,contentType:e.type,readPromise:void 0,arrayBuffer:void 0,blob:e};return t._blazorFilesById[n.id]=n,n}));e.invokeMethodAsync("NotifyChange",n)}))},toImageFile:async function(e,t,n,r,o){const i=Ge(e,t),s=await new Promise((function(e){const t=new Image;t.onload=function(){URL.revokeObjectURL(t.src),e(t)},t.onerror=function(){t.onerror=null,URL.revokeObjectURL(t.src)},t.src=URL.createObjectURL(i.blob)})),a=await new Promise((function(e){var t;const i=Math.min(1,r/s.width),a=Math.min(1,o/s.height),c=Math.min(i,a),l=document.createElement("canvas");l.width=Math.round(s.width*c),l.height=Math.round(s.height*c),null===(t=l.getContext("2d"))||void 0===t||t.drawImage(s,0,0,l.width,l.height),l.toBlob(e,n)})),c={id:++e._blazorInputFileNextFileId,lastModified:i.lastModified,name:i.name,size:(null==a?void 0:a.size)||0,contentType:n,blob:a||i.blob};return e._blazorFilesById[c.id]=c,c},readFileData:async function(e,t){return Ge(e,t).blob}};function Ge(e,t){const n=e._blazorFilesById[t];if(!n)throw new Error(`There is no file with ID ${t}. The file list may have changed. See https://aka.ms/aspnet/blazor-input-file-multiple-selections.`);return n}const qe=new Set,Ze={enableNavigationPrompt:function(e){0===qe.size&&window.addEventListener("beforeunload",Qe),qe.add(e)},disableNavigationPrompt:function(e){qe.delete(e),0===qe.size&&window.removeEventListener("beforeunload",Qe)}};function Qe(e){e.preventDefault(),e.returnValue=!0}const et=new Map,tt={navigateTo:function(e,t,n=!1){xe(e,t instanceof Object?t:{forceLoad:t,replaceHistoryEntry:n})},registerCustomEventType:function(e,t){if(!t)throw new Error("The options parameter is required.");if(o.has(e))throw new Error(`The event '${e}' is already registered.`);if(t.browserEventName){const n=i.get(t.browserEventName);n?n.push(e):i.set(t.browserEventName,[e]),s.forEach((n=>n(e,t.browserEventName)))}o.set(e,t)},rootComponents:v,runtime:{},_internal:{navigationManager:Oe,domWrapper:ze,Virtualize:Ke,PageTitle:Xe,InputFile:Ye,NavigationLock:Ze,getJSDataStreamChunk:async function(e,t,n){return e instanceof Blob?await async function(e,t,n){const r=e.slice(t,t+n),o=await r.arrayBuffer();return new Uint8Array(o)}(e,t,n):function(e,t,n){return new Uint8Array(e.buffer,e.byteOffset+t,n)}(e,t,n)},attachWebRendererInterop:function(t,n,r,o){if(E.has(t))throw new Error(`Interop methods are already registered for renderer ${t}`);E.set(t,n),Object.keys(r).length>0&&function(t,n,r){if(h)throw new Error("Dynamic root components have already been enabled.");h=t,p=n;for(const[t,o]of Object.entries(r)){const r=e.findJSFunction(t,0);for(const e of o)r(e,n[e])}}(C(t),r,o),N(),function(e){const t=S.get(e);t&&(S.delete(e),I.delete(e),t())}(t)}}};var nt,rt;window.Blazor=tt;const ot=navigator,it=ot.userAgentData&&ot.userAgentData.brands,st=it&&it.length>0?it.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):window.chrome,at=null!==(rt=null===(nt=ot.userAgentData)||void 0===nt?void 0:nt.platform)&&void 0!==rt?rt:navigator.platform;function ct(e){return 0!==e.debugLevel&&(st||navigator.userAgent.includes("Firefox"))}let lt,ut,dt,ft,mt,ht,pt=!1;function gt(){const e=document.querySelector("#blazor-error-ui");e&&(e.style.display="block"),pt||(pt=!0,document.querySelectorAll("#blazor-error-ui .reload").forEach((e=>{e.onclick=function(e){location.reload(),e.preventDefault()}})),document.querySelectorAll("#blazor-error-ui .dismiss").forEach((e=>{e.onclick=function(e){const t=document.querySelector("#blazor-error-ui");t&&(t.style.display="none"),e.preventDefault()}})))}const vt=Math.pow(2,32),yt=Math.pow(2,21)-1;let bt=null;function wt(e){return ut.getI32(e)}const Et={load:function(e,t){return async function(e,t){const{dotnet:n}=await async function(e){if("undefined"==typeof WebAssembly||!WebAssembly.validate)throw new Error("This browser does not support WebAssembly.");let t="_framework/dotnet.js";if(e.loadBootResource){const n="dotnetjs",r=e.loadBootResource(n,"dotnet.js",t,"","js-module-dotnet");if("string"==typeof r)t=r;else if(r)throw new Error(`For a ${n} resource, custom loaders must supply a URI string.`)}const n=new URL(t,document.baseURI).toString();return await import(n)}(e),r=function(e,t){const n={maxParallelDownloads:1e6,enableDownloadRetry:!1,applicationEnvironment:e.environment},r={...window.Module||{},onConfigLoaded:async(n,{invokeLibraryInitializers:r})=>{var o,i;n.environmentVariables||(n.environmentVariables={}),"sharded"===n.globalizationMode&&(n.environmentVariables.__BLAZOR_SHARDED_ICU="1"),tt._internal.getApplicationEnvironment=()=>n.applicationEnvironment,null==t||t(n);const s=[e,null!==(i=null===(o=n.resources)||void 0===o?void 0:o.extensions)&&void 0!==i?i:{}];await r("beforeStart",s)},onDownloadResourceProgress:St,config:n,disableDotnet6Compatibility:!1,out:Nt,err:At};return r}(e,t);e.applicationCulture&&n.withApplicationCulture(e.applicationCulture),e.environment&&n.withApplicationEnvironment(e.environment),e.loadBootResource&&n.withResourceLoader(e.loadBootResource),n.withModuleConfig(r),e.configureRuntime&&e.configureRuntime(n),ht=await n.create()}(e,t)},start:function(){return async function(){if(!ht)throw new Error("The runtime must be loaded it gets configured.");const{MONO:t,BINDING:n,Module:r,setModuleImports:o,INTERNAL:i,getConfig:s,invokeLibraryInitializers:a}=ht;dt=r,lt=n,ut=t,mt=i,function(e){const t=at.match(/^Mac/i)?"Cmd":"Alt";ct(e)&&console.info(`Debugging hotkey: Shift+${t}+D (when application has focus)`),document.addEventListener("keydown",(t=>{t.shiftKey&&(t.metaKey||t.altKey)&&"KeyD"===t.code&&(ct(e)?navigator.userAgent.includes("Firefox")?async function(){const e=await fetch(`_framework/debug?url=${encodeURIComponent(location.href)}&isFirefox=true`);200!==e.status&&console.warn(await e.text())}():st?function(){const e=document.createElement("a");e.href=`_framework/debug?url=${encodeURIComponent(location.href)}`,e.target="_blank",e.rel="noopener noreferrer",e.click()}():console.error("Currently, only Microsoft Edge (80+), Google Chrome, or Chromium, are supported for debugging."):console.error("Cannot start debugging, because the application was not compiled with debugging enabled."))}))}(s()),tt.runtime=ht,tt._internal.dotNetCriticalError=At,o("blazor-internal",{Blazor:{_internal:tt._internal}});const c=await ht.getAssemblyExports("Microsoft.AspNetCore.Components.WebAssembly");return Object.assign(tt._internal,{dotNetExports:{...c.Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime}}),ft=e.attachDispatcher({beginInvokeDotNetFromJS:(e,t,n,r,o)=>{if(_t(),!r&&!t)throw new Error("Either assemblyName or dotNetObjectId must have a non null value.");const i=r?r.toString():t;tt._internal.dotNetExports.BeginInvokeDotNet(e?e.toString():null,i,n,o)},endInvokeJSFromDotNet:(e,t,n)=>{tt._internal.dotNetExports.EndInvokeJS(n)},sendByteArray:(e,t)=>{tt._internal.dotNetExports.ReceiveByteArrayFromJS(e,t)},invokeDotNetFromJS:(e,t,n,r)=>(_t(),tt._internal.dotNetExports.InvokeDotNet(e||null,t,null!=n?n:0,r))}),{invokeLibraryInitializers:a}}()},callEntryPoint:async function(){try{await ht.runMain(ht.getConfig().mainAssemblyName,[])}catch(e){console.error(e),gt()}},toUint8Array:function(e){const t=Ct(e),n=wt(t),r=new Uint8Array(n);return r.set(dt.HEAPU8.subarray(t+4,t+4+n)),r},getArrayLength:function(e){return wt(Ct(e))},getArrayEntryPtr:function(e,t,n){return Ct(e)+4+t*n},getObjectFieldsBaseAddress:function(e){return e+8},readInt16Field:function(e,t){return n=e+(t||0),ut.getI16(n);var n},readInt32Field:function(e,t){return wt(e+(t||0))},readUint64Field:function(e,t){return function(e){const t=e>>2,n=dt.HEAPU32[t+1];if(n>yt)throw new Error(`Cannot read uint64 with high order part ${n}, because the result would exceed Number.MAX_SAFE_INTEGER.`);return n*vt+dt.HEAPU32[t]}(e+(t||0))},readFloatField:function(e,t){return n=e+(t||0),ut.getF32(n);var n},readObjectField:function(e,t){return wt(e+(t||0))},readStringField:function(e,t,n){const r=wt(e+(t||0));if(0===r)return null;if(n){const e=lt.unbox_mono_obj(r);return"boolean"==typeof e?e?"":null:e}return lt.conv_string(r)},readStructField:function(e,t){return e+(t||0)},beginHeapLock:function(){return _t(),bt=kt.create(),bt},invokeWhenHeapUnlocked:function(e){bt?bt.enqueuePostReleaseAction(e):e()}};function St(e,t){const n=e/t*100;document.documentElement.style.setProperty("--blazor-load-percentage",`${n}%`),document.documentElement.style.setProperty("--blazor-load-percentage-text",`"${Math.floor(n)}%"`)}const It=["DEBUGGING ENABLED"],Nt=e=>It.indexOf(e)<0&&console.log(e),At=e=>{console.error(e||"(null)"),gt()};function Ct(e){return e+12}function _t(){if(bt)throw new Error("Assertion failed - heap is currently locked")}class kt{enqueuePostReleaseAction(e){this.postReleaseActions||(this.postReleaseActions=[]),this.postReleaseActions.push(e)}release(){var e;if(bt!==this)throw new Error("Trying to release a lock which isn't current");for(mt.mono_wasm_gc_unlock(),bt=null;null===(e=this.postReleaseActions)||void 0===e?void 0:e.length;)this.postReleaseActions.shift()(),_t()}static create(){return mt.mono_wasm_gc_lock(),new kt}}let Dt;class Rt{constructor(e){this.batchAddress=e,this.arrayRangeReader=Ft,this.arrayBuilderSegmentReader=Tt,this.diffReader=Ot,this.editReader=Mt,this.frameReader=xt}updatedComponents(){return Dt.readStructField(this.batchAddress,0)}referenceFrames(){return Dt.readStructField(this.batchAddress,Ft.structLength)}disposedComponentIds(){return Dt.readStructField(this.batchAddress,2*Ft.structLength)}disposedEventHandlerIds(){return Dt.readStructField(this.batchAddress,3*Ft.structLength)}updatedComponentsEntry(e,t){return Lt(e,t,Ot.structLength)}referenceFramesEntry(e,t){return Lt(e,t,xt.structLength)}disposedComponentIdsEntry(e,t){const n=Lt(e,t,4);return Dt.readInt32Field(n)}disposedEventHandlerIdsEntry(e,t){const n=Lt(e,t,8);return Dt.readUint64Field(n)}}const Ft={structLength:8,values:e=>Dt.readObjectField(e,0),count:e=>Dt.readInt32Field(e,4)},Tt={structLength:12,values:e=>{const t=Dt.readObjectField(e,0),n=Dt.getObjectFieldsBaseAddress(t);return Dt.readObjectField(n,0)},offset:e=>Dt.readInt32Field(e,4),count:e=>Dt.readInt32Field(e,8)},Ot={structLength:4+Tt.structLength,componentId:e=>Dt.readInt32Field(e,0),edits:e=>Dt.readStructField(e,4),editsEntry:(e,t)=>Lt(e,t,Mt.structLength)},Mt={structLength:20,editType:e=>Dt.readInt32Field(e,0),siblingIndex:e=>Dt.readInt32Field(e,4),newTreeIndex:e=>Dt.readInt32Field(e,8),moveToSiblingIndex:e=>Dt.readInt32Field(e,8),removedAttributeName:e=>Dt.readStringField(e,16)},xt={structLength:36,frameType:e=>Dt.readInt16Field(e,4),subtreeLength:e=>Dt.readInt32Field(e,8),elementReferenceCaptureId:e=>Dt.readStringField(e,16),componentId:e=>Dt.readInt32Field(e,12),elementName:e=>Dt.readStringField(e,16),textContent:e=>Dt.readStringField(e,16),markupContent:e=>Dt.readStringField(e,16),attributeName:e=>Dt.readStringField(e,16),attributeValue:e=>Dt.readStringField(e,24,!0),attributeEventHandlerId:e=>Dt.readUint64Field(e,8)};function Lt(e,t,n){return Dt.getArrayEntryPtr(e,t,n)}const Pt=/^\s*Blazor-Component-State:(?[a-zA-Z0-9+/=]+)$/;function Jt(e){var t;if(e.nodeType===Node.COMMENT_NODE){const n=e.textContent||"",r=Pt.exec(n),o=r&&r.groups&&r.groups.state;return o&&(null===(t=e.parentNode)||void 0===t||t.removeChild(e)),o}if(!e.hasChildNodes())return;const n=e.childNodes;for(let e=0;e.*)$/);function Ht(e,t){const n=e.currentElement;var r,o,i;if(n&&n.nodeType===Node.COMMENT_NODE&&n.textContent){const s=jt.exec(n.textContent),a=s&&s.groups&&s.groups.descriptor;if(!a)return;!function(e){if(e.parentNode instanceof Document)throw new Error("Root components cannot be marked as interactive. The element must be rendered statically so that scripts are not evaluated multiple times.")}(n);try{const s=function(e){const t=JSON.parse(e),{type:n}=t;if("server"!==n&&"webassembly"!==n&&"auto"!==n)throw new Error(`Invalid component type '${n}'.`);return t}(a),c=function(e,t,n){const{prerenderId:r}=e;if(r){for(;n.next()&&n.currentElement;){const e=n.currentElement;if(e.nodeType!==Node.COMMENT_NODE)continue;if(!e.textContent)continue;const t=jt.exec(e.textContent),o=t&&t[1];if(o)return Vt(o,r),e}throw new Error(`Could not find an end component comment for '${t}'.`)}}(s,n,e);if(t!==s.type)return;switch(s.type){case"webassembly":return o=n,i=c,Wt(r=s),{...r,uniqueId:zt++,start:o,end:i};case"server":return function(e,t,n){return Kt(e),{...e,uniqueId:zt++,start:t,end:n}}(s,n,c);case"auto":return function(e,t,n){return Kt(e),Wt(e),{...e,uniqueId:zt++,start:t,end:n}}(s,n,c)}}catch(e){throw new Error(`Found malformed component comment at ${n.textContent}`)}}}let $t,Ut,zt=0;function Kt(e){const{descriptor:t,sequence:n}=e;if(!t)throw new Error("descriptor must be defined when using a descriptor.");if(void 0===n)throw new Error("sequence must be defined when using a descriptor.");if(!Number.isInteger(n))throw new Error(`Error parsing the sequence '${n}' for component '${JSON.stringify(e)}'`)}function Wt(e){const{assembly:t,typeName:n}=e;if(!t)throw new Error("assembly must be defined when using a descriptor.");if(!n)throw new Error("typeName must be defined when using a descriptor.");e.parameterDefinitions=e.parameterDefinitions&&atob(e.parameterDefinitions),e.parameterValues=e.parameterValues&&atob(e.parameterValues)}function Vt(e,t){const n=JSON.parse(e);if(1!==Object.keys(n).length)throw new Error(`Invalid end of component comment: '${e}'`);const r=n.prerenderId;if(!r)throw new Error(`End of component comment must have a value for the prerendered property: '${e}'`);if(r!==t)throw new Error(`End of component comment prerendered property must match the start comment prerender id: '${t}', '${r}'`)}class Xt{constructor(e){this.childNodes=e,this.currentIndex=-1,this.length=e.length}next(){return this.currentIndex++,this.currentIndex{}));const t=en();!function(e){const t=_;_=(e,n,r)=>{((e,t,n)=>{const r=function(e){return me[e]}(e);r.eventDelegator.getHandler(t)&&Et.invokeWhenHeapUnlocked(n)})(e,n,(()=>t(e,n,r)))}}(),tt._internal.applyHotReload=(e,t,n,r)=>{ft.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","ApplyHotReloadDelta",e,t,n,r)},tt._internal.getApplyUpdateCapabilities=()=>ft.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","GetApplyUpdateCapabilities"),tt._internal.invokeJSFromDotNet=tn,tt._internal.invokeJSJson=nn,tt._internal.endInvokeDotNetFromJS=rn,tt._internal.receiveWebAssemblyDotNetDataStream=on,tt._internal.receiveByteArray=sn;const n=(Dt=Et,Dt);tt.platform=n,tt._internal.renderBatch=(e,t)=>{const n=Et.beginHeapLock();try{!function(e,t){const n=me[e];if(!n)throw new Error(`There is no browser renderer with ID ${e}.`);const r=t.arrayRangeReader,o=t.updatedComponents(),i=r.values(o),s=r.count(o),a=t.referenceFrames(),c=r.values(a),l=t.diffReader;for(let e=0;e{await ft.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChanged",e,t,n)}),(async(e,t,n,r)=>{const o=await ft.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChangingAsync",t,n,r);tt._internal.navigationManager.endLocationChanging(e,o)}));const r=new Yt(e);let o;tt._internal.registeredComponents={getRegisteredComponentsCount:()=>r.getCount(),getAssembly:e=>r.getAssembly(e),getTypeName:e=>r.getTypeName(e),getParameterDefinitions:e=>r.getParameterDefinitions(e)||"",getParameterValues:e=>r.getParameterValues(e)||""},tt._internal.getPersistedState=()=>Jt(document)||"",tt._internal.attachRootComponentToElement=(e,t,n)=>{const o=r.resolveRegisteredElement(e,t);o?pe(n,o,t,!1):function(e,t,n){const r="::before";let o=!1;if(e.endsWith("::after"))e=e.slice(0,-7),o=!0;else if(e.endsWith(r))throw new Error(`The '${r}' selector is not supported.`);const i=function(e){const t=m.get(e);if(t)return m.delete(e),t}(e)||document.querySelector(e);if(!i)throw new Error(`Could not find any element matching selector '${e}'.`);pe(n||0,J(i,!0),t,o)}(e,t,n)};try{await t,o=await n.start()}catch(e){throw new Error(`Failed to start platform. Reason: ${e}`)}n.callEntryPoint(),o.invokeLibraryInitializers("afterStarted",[tt])}function en(){return null!=Ut||(Ut=Et.load(null!=$t?$t:{},Gt)),Ut}function tn(t,n,r,o){const i=Et.readStringField(t,0),s=Et.readInt32Field(t,4),a=Et.readStringField(t,8),c=Et.readUint64Field(t,20);if(null!==a){const e=Et.readUint64Field(t,12);if(0!==e)return ft.beginInvokeJSFromDotNet(e,i,a,s,c),0;{const e=ft.invokeJSFromDotNet(i,a,s,c);return null===e?0:lt.js_string_to_mono_string(e)}}{const t=e.findJSFunction(i,c).call(null,n,r,o);switch(s){case e.JSCallResultType.Default:return t;case e.JSCallResultType.JSObjectReference:return e.createJSObjectReference(t).__jsObjectId;case e.JSCallResultType.JSStreamReference:{const n=e.createJSStreamReference(t),r=JSON.stringify(n);return lt.js_string_to_mono_string(r)}case e.JSCallResultType.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${s}'.`)}}}function nn(e,t,n,r,o){return 0!==o?(ft.beginInvokeJSFromDotNet(o,e,r,n,t),null):ft.invokeJSFromDotNet(e,r,n,t)}function rn(e,t,n){ft.endInvokeDotNetFromJS(e,t,n)}function on(e,t,n,r){!function(e,t,n,r,o){let i=et.get(t);if(!i){const n=new ReadableStream({start(e){et.set(t,e),i=e}});e.supplyDotNetStream(t,n)}o?(i.error(o),et.delete(t)):0===r?(i.close(),et.delete(t)):i.enqueue(n.length===r?n:n.subarray(0,r))}(ft,e,t,n,r)}function sn(e,t){ft.receiveByteArray(e,t)}new Promise((e=>{Gt=e}));class an{constructor(e){this.initialComponents=e}resolveRootComponent(e,t){return this.initialComponents[e]}}let cn=!1;async function ln(e){if(cn)throw new Error("Blazor has already started.");cn=!0,Zt(e);const t=Bt(document,"webassembly"),n=new an(t);await Qt(n)}tt.start=ln,window.DotNet=e,document&&document.currentScript&&"false"!==document.currentScript.getAttribute("autostart")&&ln().catch((e=>{void 0!==dt&&dt.err?dt.err(e):console.error(e)}))})(); - +(()=>{"use strict";var e,t,n;!function(e){const t=[],n="__jsObjectId",r="__dotNetObject",o="__byte[]",i="__dotNetStream",s="__jsStreamReferenceLength";let a,c;class l{constructor(e){this._jsObject=e,this._cachedFunctions=new Map}findFunction(e){const t=this._cachedFunctions.get(e);if(t)return t;let n,r=this._jsObject;if(e.split(".").forEach((t=>{if(!(t in r))throw new Error(`Could not find '${e}' ('${t}' was undefined).`);n=r,r=r[t]})),r instanceof Function)return r=r.bind(n),this._cachedFunctions.set(e,r),r;throw new Error(`The value '${e}' is not a function.`)}getWrappedObject(){return this._jsObject}}const u={0:new l(window)};u[0]._cachedFunctions.set("import",(e=>("string"==typeof e&&e.startsWith("./")&&(e=new URL(e.substr(2),document.baseURI).toString()),import(e))));let d,f=1;function m(e){t.push(e)}function h(e){if(e&&"object"==typeof e){u[f]=new l(e);const t={[n]:f};return f++,t}throw new Error(`Cannot create a JSObjectReference from the value '${e}'.`)}function p(e){let t=-1;if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Blob)t=e.size;else{if(!(e.buffer instanceof ArrayBuffer))throw new Error("Supplied value is not a typed array or blob.");if(void 0===e.byteLength)throw new Error(`Cannot create a JSStreamReference from the value '${e}' as it doesn't have a byteLength.`);t=e.byteLength}const r={[s]:t};try{const t=h(e);r[n]=t[n]}catch(t){throw new Error(`Cannot create a JSStreamReference from the value '${e}'.`)}return r}function v(e,n){c=e;const r=n?JSON.parse(n,((e,n)=>t.reduce(((t,n)=>n(e,t)),n))):null;return c=void 0,r}function b(){if(void 0===a)throw new Error("No call dispatcher has been set.");if(null===a)throw new Error("There are multiple .NET runtimes present, so a default dispatcher could not be resolved. Use DotNetObject to invoke .NET instance methods.");return a}e.attachDispatcher=function(e){const t=new g(e);return void 0===a?a=t:a&&(a=null),t},e.attachReviver=m,e.invokeMethod=function(e,t,...n){return b().invokeDotNetStaticMethod(e,t,...n)},e.invokeMethodAsync=function(e,t,...n){return b().invokeDotNetStaticMethodAsync(e,t,...n)},e.createJSObjectReference=h,e.createJSStreamReference=p,e.disposeJSObjectReference=function(e){const t=e&&e[n];"number"==typeof t&&E(t)},function(e){e[e.Default=0]="Default",e[e.JSObjectReference=1]="JSObjectReference",e[e.JSStreamReference=2]="JSStreamReference",e[e.JSVoidResult=3]="JSVoidResult"}(d=e.JSCallResultType||(e.JSCallResultType={}));class g{constructor(e){this._dotNetCallDispatcher=e,this._byteArraysToBeRevived=new Map,this._pendingDotNetToJSStreams=new Map,this._pendingAsyncCalls={},this._nextAsyncCallId=1}getDotNetCallDispatcher(){return this._dotNetCallDispatcher}invokeJSFromDotNet(e,t,n,r){const o=v(this,t),i=I(w(e,r)(...o||[]),n);return null==i?null:_(this,i)}beginInvokeJSFromDotNet(e,t,n,r,o){const i=new Promise((e=>{const r=v(this,n);e(w(t,o)(...r||[]))}));e&&i.then((t=>_(this,[e,!0,I(t,r)]))).then((t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!0,t)),(t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!1,JSON.stringify([e,!1,y(t)]))))}endInvokeDotNetFromJS(e,t,n){const r=t?v(this,n):new Error(n);this.completePendingCall(parseInt(e,10),t,r)}invokeDotNetStaticMethod(e,t,...n){return this.invokeDotNetMethod(e,t,null,n)}invokeDotNetStaticMethodAsync(e,t,...n){return this.invokeDotNetMethodAsync(e,t,null,n)}invokeDotNetMethod(e,t,n,r){if(this._dotNetCallDispatcher.invokeDotNetFromJS){const o=_(this,r),i=this._dotNetCallDispatcher.invokeDotNetFromJS(e,t,n,o);return i?v(this,i):null}throw new Error("The current dispatcher does not support synchronous calls from JS to .NET. Use invokeDotNetMethodAsync instead.")}invokeDotNetMethodAsync(e,t,n,r){if(e&&n)throw new Error(`For instance method calls, assemblyName should be null. Received '${e}'.`);const o=this._nextAsyncCallId++,i=new Promise(((e,t)=>{this._pendingAsyncCalls[o]={resolve:e,reject:t}}));try{const i=_(this,r);this._dotNetCallDispatcher.beginInvokeDotNetFromJS(o,e,t,n,i)}catch(e){this.completePendingCall(o,!1,e)}return i}receiveByteArray(e,t){this._byteArraysToBeRevived.set(e,t)}processByteArray(e){const t=this._byteArraysToBeRevived.get(e);return t?(this._byteArraysToBeRevived.delete(e),t):null}supplyDotNetStream(e,t){if(this._pendingDotNetToJSStreams.has(e)){const n=this._pendingDotNetToJSStreams.get(e);this._pendingDotNetToJSStreams.delete(e),n.resolve(t)}else{const n=new C;n.resolve(t),this._pendingDotNetToJSStreams.set(e,n)}}getDotNetStreamPromise(e){let t;if(this._pendingDotNetToJSStreams.has(e))t=this._pendingDotNetToJSStreams.get(e).streamPromise,this._pendingDotNetToJSStreams.delete(e);else{const n=new C;this._pendingDotNetToJSStreams.set(e,n),t=n.streamPromise}return t}completePendingCall(e,t,n){if(!this._pendingAsyncCalls.hasOwnProperty(e))throw new Error(`There is no pending async call with ID ${e}.`);const r=this._pendingAsyncCalls[e];delete this._pendingAsyncCalls[e],t?r.resolve(n):r.reject(n)}}function y(e){return e instanceof Error?`${e.message}\n${e.stack}`:e?e.toString():"null"}function w(e,t){const n=u[t];if(n)return n.findFunction(e);throw new Error(`JS object instance with ID ${t} does not exist (has it been disposed?).`)}function E(e){delete u[e]}e.findJSFunction=w,e.disposeJSObjectReferenceById=E;class S{constructor(e,t){this._id=e,this._callDispatcher=t}invokeMethod(e,...t){return this._callDispatcher.invokeDotNetMethod(null,e,this._id,t)}invokeMethodAsync(e,...t){return this._callDispatcher.invokeDotNetMethodAsync(null,e,this._id,t)}dispose(){this._callDispatcher.invokeDotNetMethodAsync(null,"__Dispose",this._id,null).catch((e=>console.error(e)))}serializeAsArg(){return{[r]:this._id}}}e.DotNetObject=S,m((function(e,t){if(t&&"object"==typeof t){if(t.hasOwnProperty(r))return new S(t[r],c);if(t.hasOwnProperty(n)){const e=t[n],r=u[e];if(r)return r.getWrappedObject();throw new Error(`JS object instance with Id '${e}' does not exist. It may have been disposed.`)}if(t.hasOwnProperty(o)){const e=t[o],n=c.processByteArray(e);if(void 0===n)throw new Error(`Byte array index '${e}' does not exist.`);return n}if(t.hasOwnProperty(i)){const e=t[i],n=c.getDotNetStreamPromise(e);return new A(n)}}return t}));class A{constructor(e){this._streamPromise=e}stream(){return this._streamPromise}async arrayBuffer(){return new Response(await this.stream()).arrayBuffer()}}class C{constructor(){this.streamPromise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}function I(e,t){switch(t){case d.Default:return e;case d.JSObjectReference:return h(e);case d.JSStreamReference:return p(e);case d.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${t}'.`)}}let N=0;function _(e,t){N=0,c=e;const n=JSON.stringify(t,R);return c=void 0,n}function R(e,t){if(t instanceof S)return t.serializeAsArg();if(t instanceof Uint8Array){c.getDotNetCallDispatcher().sendByteArray(N,t);const e={[o]:N};return N++,e}return t}}(e||(e={})),function(e){e[e.prependFrame=1]="prependFrame",e[e.removeFrame=2]="removeFrame",e[e.setAttribute=3]="setAttribute",e[e.removeAttribute=4]="removeAttribute",e[e.updateText=5]="updateText",e[e.stepIn=6]="stepIn",e[e.stepOut=7]="stepOut",e[e.updateMarkup=8]="updateMarkup",e[e.permutationListEntry=9]="permutationListEntry",e[e.permutationListEnd=10]="permutationListEnd"}(t||(t={})),function(e){e[e.element=1]="element",e[e.text=2]="text",e[e.attribute=3]="attribute",e[e.component=4]="component",e[e.region=5]="region",e[e.elementReferenceCapture=6]="elementReferenceCapture",e[e.markup=8]="markup",e[e.namedEvent=10]="namedEvent"}(n||(n={}));class r{constructor(e,t){this.componentId=e,this.fieldValue=t}static fromEvent(e,t){const n=t.target;if(n instanceof Element){const t=function(e){return e instanceof HTMLInputElement?e.type&&"checkbox"===e.type.toLowerCase()?{value:e.checked}:{value:e.value}:e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?{value:e.value}:null}(n);if(t)return new r(e,t.value)}return null}}const o=new Map,i=new Map,s=[];function a(e){return o.get(e)}function c(e){const t=o.get(e);return(null==t?void 0:t.browserEventName)||e}function l(e,t){e.forEach((e=>o.set(e,t)))}function u(e){const t=[];for(let n=0;ne.selected)).map((e=>e.value))}}{const e=function(e){return!!e&&"INPUT"===e.tagName&&"checkbox"===e.getAttribute("type")}(t);return{value:e?!!t.checked:t.value}}}}),l(["copy","cut","paste"],{createEventArgs:e=>({type:e.type})}),l(["drag","dragend","dragenter","dragleave","dragover","dragstart","drop"],{createEventArgs:e=>{return{...d(t=e),dataTransfer:t.dataTransfer?{dropEffect:t.dataTransfer.dropEffect,effectAllowed:t.dataTransfer.effectAllowed,files:Array.from(t.dataTransfer.files).map((e=>e.name)),items:Array.from(t.dataTransfer.items).map((e=>({kind:e.kind,type:e.type}))),types:t.dataTransfer.types}:null};var t}}),l(["focus","blur","focusin","focusout"],{createEventArgs:e=>({type:e.type})}),l(["keydown","keyup","keypress"],{createEventArgs:e=>{return{key:(t=e).key,code:t.code,location:t.location,repeat:t.repeat,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["contextmenu","click","mouseover","mouseout","mousemove","mousedown","mouseup","mouseleave","mouseenter","dblclick"],{createEventArgs:e=>d(e)}),l(["error"],{createEventArgs:e=>{return{message:(t=e).message,filename:t.filename,lineno:t.lineno,colno:t.colno,type:t.type};var t}}),l(["loadstart","timeout","abort","load","loadend","progress"],{createEventArgs:e=>{return{lengthComputable:(t=e).lengthComputable,loaded:t.loaded,total:t.total,type:t.type};var t}}),l(["touchcancel","touchend","touchmove","touchenter","touchleave","touchstart"],{createEventArgs:e=>{return{detail:(t=e).detail,touches:u(t.touches),targetTouches:u(t.targetTouches),changedTouches:u(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["gotpointercapture","lostpointercapture","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerup"],{createEventArgs:e=>{return{...d(t=e),pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tiltX:t.tiltX,tiltY:t.tiltY,pointerType:t.pointerType,isPrimary:t.isPrimary};var t}}),l(["wheel","mousewheel"],{createEventArgs:e=>{return{...d(t=e),deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode};var t}}),l(["cancel","close","toggle"],{createEventArgs:()=>({})});const f=["date","datetime-local","month","time","week"],m=new Map;let h,p,v=0;const b={async add(e,t,n){if(!n)throw new Error("initialParameters must be an object, even if empty.");const r="__bl-dynamic-root:"+(++v).toString();m.set(r,e);const o=await w().invokeMethodAsync("AddRootComponent",t,r),i=new y(o,p[t]);return await i.setParameters(n),i}};class g{invoke(e){return this._callback(e)}setCallback(t){this._selfJSObjectReference||(this._selfJSObjectReference=e.createJSObjectReference(this)),this._callback=t}getJSObjectReference(){return this._selfJSObjectReference}dispose(){this._selfJSObjectReference&&e.disposeJSObjectReference(this._selfJSObjectReference)}}class y{constructor(e,t){this._jsEventCallbackWrappers=new Map,this._componentId=e;for(const e of t)"eventcallback"===e.type&&this._jsEventCallbackWrappers.set(e.name.toLowerCase(),new g)}setParameters(e){const t={},n=Object.entries(e||{}),r=n.length;for(const[e,r]of n){const n=this._jsEventCallbackWrappers.get(e.toLowerCase());n&&r?(n.setCallback(r),t[e]=n.getJSObjectReference()):t[e]=r}return w().invokeMethodAsync("SetRootComponentParameters",this._componentId,r,t)}async dispose(){if(null!==this._componentId){await w().invokeMethodAsync("RemoveRootComponent",this._componentId),this._componentId=null;for(const e of this._jsEventCallbackWrappers.values())e.dispose()}}}function w(){if(!h)throw new Error("Dynamic root components have not been enabled in this application.");return h}const E=new Map,S=[],A=new Map;function C(e,t,n){return N(e,t.eventHandlerId,(()=>I(e).invokeMethodAsync("DispatchEventAsync",t,n)))}function I(e){const t=E.get(e);if(!t)throw new Error(`No interop methods are registered for renderer ${e}`);return t}let N=(e,t,n)=>n();const _=O(["abort","blur","cancel","canplay","canplaythrough","change","close","cuechange","durationchange","emptied","ended","error","focus","load","loadeddata","loadedmetadata","loadend","loadstart","mouseenter","mouseleave","pointerenter","pointerleave","pause","play","playing","progress","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","toggle","unload","volumechange","waiting","DOMNodeInsertedIntoDocument","DOMNodeRemovedFromDocument"]),R={submit:!0},D=O(["click","dblclick","mousedown","mousemove","mouseup"]);class k{constructor(e){this.browserRendererId=e,this.afterClickCallbacks=[];const t=++k.nextEventDelegatorId;this.eventsCollectionKey=`_blazorEvents_${t}`,this.eventInfoStore=new F(this.onGlobalEvent.bind(this))}setListener(e,t,n,r){const o=this.getEventHandlerInfosForElement(e,!0),i=o.getHandler(t);if(i)this.eventInfoStore.update(i.eventHandlerId,n);else{const i={element:e,eventName:t,eventHandlerId:n,renderingComponentId:r};this.eventInfoStore.add(i),o.setHandler(t,i)}}getHandler(e){return this.eventInfoStore.get(e)}removeListener(e){const t=this.eventInfoStore.remove(e);if(t){const e=t.element,n=this.getEventHandlerInfosForElement(e,!1);n&&n.removeHandler(t.eventName)}}notifyAfterClick(e){this.afterClickCallbacks.push(e),this.eventInfoStore.addGlobalListener("click")}setStopPropagation(e,t,n){this.getEventHandlerInfosForElement(e,!0).stopPropagation(t,n)}setPreventDefault(e,t,n){this.getEventHandlerInfosForElement(e,!0).preventDefault(t,n)}onGlobalEvent(e){if(!(e.target instanceof Element))return;this.dispatchGlobalEventToAllElements(e.type,e);const t=(n=e.type,i.get(n));var n;t&&t.forEach((t=>this.dispatchGlobalEventToAllElements(t,e))),"click"===e.type&&this.afterClickCallbacks.forEach((t=>t(e)))}dispatchGlobalEventToAllElements(e,t){const n=t.composedPath();let o=n.shift(),i=null,s=!1;const c=Object.prototype.hasOwnProperty.call(_,e);let l=!1;for(;o;){const f=o,m=this.getEventHandlerInfosForElement(f,!1);if(m){const n=m.getHandler(e);if(n&&(u=f,d=t.type,!((u instanceof HTMLButtonElement||u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement)&&Object.prototype.hasOwnProperty.call(D,d)&&u.disabled))){if(!s){const n=a(e);i=(null==n?void 0:n.createEventArgs)?n.createEventArgs(t):{},s=!0}Object.prototype.hasOwnProperty.call(R,t.type)&&t.preventDefault(),C(this.browserRendererId,{eventHandlerId:n.eventHandlerId,eventName:e,eventFieldInfo:r.fromEvent(n.renderingComponentId,t)},i)}m.stopPropagation(e)&&(l=!0),m.preventDefault(e)&&t.preventDefault()}o=c||l?void 0:n.shift()}var u,d}getEventHandlerInfosForElement(e,t){return Object.prototype.hasOwnProperty.call(e,this.eventsCollectionKey)?e[this.eventsCollectionKey]:t?e[this.eventsCollectionKey]=new T:null}}k.nextEventDelegatorId=0;class F{constructor(e){this.globalListener=e,this.infosByEventHandlerId={},this.countByEventName={},s.push(this.handleEventNameAliasAdded.bind(this))}add(e){if(this.infosByEventHandlerId[e.eventHandlerId])throw new Error(`Event ${e.eventHandlerId} is already tracked`);this.infosByEventHandlerId[e.eventHandlerId]=e,this.addGlobalListener(e.eventName)}get(e){return this.infosByEventHandlerId[e]}addGlobalListener(e){if(e=c(e),Object.prototype.hasOwnProperty.call(this.countByEventName,e))this.countByEventName[e]++;else{this.countByEventName[e]=1;const t=Object.prototype.hasOwnProperty.call(_,e);document.addEventListener(e,this.globalListener,t)}}update(e,t){if(Object.prototype.hasOwnProperty.call(this.infosByEventHandlerId,t))throw new Error(`Event ${t} is already tracked`);const n=this.infosByEventHandlerId[e];delete this.infosByEventHandlerId[e],n.eventHandlerId=t,this.infosByEventHandlerId[t]=n}remove(e){const t=this.infosByEventHandlerId[e];if(t){delete this.infosByEventHandlerId[e];const n=c(t.eventName);0==--this.countByEventName[n]&&(delete this.countByEventName[n],document.removeEventListener(n,this.globalListener))}return t}handleEventNameAliasAdded(e,t){if(Object.prototype.hasOwnProperty.call(this.countByEventName,e)){const n=this.countByEventName[e];delete this.countByEventName[e],document.removeEventListener(e,this.globalListener),this.addGlobalListener(t),this.countByEventName[t]+=n-1}}}class T{constructor(){this.handlers={},this.preventDefaultFlags=null,this.stopPropagationFlags=null}getHandler(e){return Object.prototype.hasOwnProperty.call(this.handlers,e)?this.handlers[e]:null}setHandler(e,t){this.handlers[e]=t}removeHandler(e){delete this.handlers[e]}preventDefault(e,t){return void 0!==t&&(this.preventDefaultFlags=this.preventDefaultFlags||{},this.preventDefaultFlags[e]=t),!!this.preventDefaultFlags&&this.preventDefaultFlags[e]}stopPropagation(e,t){return void 0!==t&&(this.stopPropagationFlags=this.stopPropagationFlags||{},this.stopPropagationFlags[e]=t),!!this.stopPropagationFlags&&this.stopPropagationFlags[e]}}function O(e){const t={};return e.forEach((e=>{t[e]=!0})),t}const L=Symbol(),M=Symbol(),x=Symbol();function P(e,t){if(L in e)return e;const n=[];if(e.childNodes.length>0){if(!t)throw new Error("New logical elements must start empty, or allowExistingContents must be true");e.childNodes.forEach((t=>{const r=P(t,!0);r[M]=e,n.push(r)}))}return e[L]=n,e}function B(e){const t=U(e);for(;t.length;)H(e,0)}function J(e,t){const n=document.createComment("!");return j(n,e,t),n}function j(e,t,n){const r=e;let o=e;if(L in e){const t=G(r);if(t!==e){const n=new Range;n.setStartBefore(e),n.setEndAfter(t),o=n.extractContents()}}const i=$(r);if(i){const e=U(i),t=Array.prototype.indexOf.call(e,r);e.splice(t,1),delete r[M]}const s=U(t);if(n0;)H(n,0)}const r=n;r.parentNode.removeChild(r)}function $(e){return e[M]||null}function z(e,t){return U(e)[t]}function W(e){const t=X(e);return"http://www.w3.org/2000/svg"===t.namespaceURI&&"foreignObject"!==t.tagName}function U(e){return e[L]}function K(e){const t=U($(e));return t[Array.prototype.indexOf.call(t,e)+1]||null}function V(e,t){const n=U(e);t.forEach((e=>{e.moveRangeStart=n[e.fromSiblingIndex],e.moveRangeEnd=G(e.moveRangeStart)})),t.forEach((t=>{const r=document.createComment("marker");t.moveToBeforeMarker=r;const o=n[t.toSiblingIndex+1];o?o.parentNode.insertBefore(r,o):Y(r,e)})),t.forEach((e=>{const t=e.moveToBeforeMarker,n=t.parentNode,r=e.moveRangeStart,o=e.moveRangeEnd;let i=r;for(;i;){const e=i.nextSibling;if(n.insertBefore(i,t),i===o)break;i=e}n.removeChild(t)})),t.forEach((e=>{n[e.toSiblingIndex]=e.moveRangeStart}))}function X(e){if(e instanceof Element||e instanceof DocumentFragment)return e;if(e instanceof Comment)return e.parentNode;throw new Error("Not a valid logical element")}function Y(e,t){if(t instanceof Element||t instanceof DocumentFragment)t.appendChild(e);else{if(!(t instanceof Comment))throw new Error(`Cannot append node because the parent is not a valid logical element. Parent: ${t}`);{const n=K(t);n?n.parentNode.insertBefore(e,n):Y(e,$(t))}}}function G(e){if(e instanceof Element||e instanceof DocumentFragment)return e;const t=K(e);if(t)return t.previousSibling;{const t=$(e);return t instanceof Element||t instanceof DocumentFragment?t.lastChild:G(t)}}function q(e){return`_bl_${e}`}const Z="__internalId";e.attachReviver(((e,t)=>t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,Z)&&"string"==typeof t[Z]?function(e){const t=`[${q(e)}]`;return document.querySelector(t)}(t[Z]):t));const Q="_blazorDeferredValue";function ee(e){return"select-multiple"===e.type}function te(e,t){e.value=t||""}function ne(e,t){e instanceof HTMLSelectElement?ee(e)?function(e,t){t||(t=[]);for(let n=0;n{Ie()&&function(e,t){if(0!==e.button||function(e){return e.ctrlKey||e.shiftKey||e.altKey||e.metaKey}(e))return;if(e.defaultPrevented)return;const n=function(e){const t=!window._blazorDisableComposedPath&&e.composedPath&&e.composedPath();if(t){for(let e=0;e{const t=document.createElement("script");t.textContent=e.textContent,e.getAttributeNames().forEach((n=>{t.setAttribute(n,e.getAttribute(n))})),e.parentNode.replaceChild(t,e)})),oe.content));var s;let a=0;for(;i.firstChild;)j(i.firstChild,o,a++)}applyAttribute(e,t,n,r){const o=e.frameReader,i=o.attributeName(r),s=o.attributeEventHandlerId(r);if(s){const e=fe(i);return void this.eventDelegator.setListener(n,e,s,t)}const a=o.attributeValue(r);this.setOrRemoveAttributeOrProperty(n,i,a)}insertFrameRange(e,t,n,r,o,i,s){const a=r;for(let a=i;a{He(t,e)})},enableNavigationInterception:function(e){if(void 0!==he&&he!==e)throw new Error("Only one interactive runtime may enable navigation interception at a time.");he=e},setHasLocationChangingListeners:function(e,t){const n=ke.get(e);if(!n)throw new Error(`Renderer with ID '${e}' is not listening for navigation events`);n.hasLocationChangingEventListeners=t},endLocationChanging:function(e,t){Te&&e===De&&(Te(t),Te=null)},navigateTo:function(e,t){Me(e,t,!0)},refresh:function(e){!e&&Ee()?Se(location.href,!0):location.reload()},getBaseURI:()=>document.baseURI,getLocationHref:()=>location.href,scrollToElement:Le};function Le(e){const t=document.getElementById(e);return!!t&&(t.scrollIntoView(),!0)}function Me(e,t,n=!1){const r=Ae(e);!t.forceLoad&&we(r)?We()?xe(r,!1,t.replaceHistoryEntry,t.historyEntryState,n):Se(r,t.replaceHistoryEntry):function(e,t){if(location.href===e){const t=e+"?";history.replaceState(null,"",t),location.replace(e)}else t?location.replace(e):location.href=e}(e,t.replaceHistoryEntry)}async function xe(e,t,n,r=void 0,o=!1){if(Je(),function(e){const t=e.indexOf("#");return t>-1&&location.href.replace(location.hash,"")===e.substring(0,t)}(e))return void function(e,t,n){Pe(e,t,n);const r=e.indexOf("#");r!==e.length-1&&Le(e.substring(r+1))}(e,n,r);const i=ze();(o||!(null==i?void 0:i.hasLocationChangingEventListeners)||await je(e,r,t,i))&&(ge=!0,Pe(e,n,r),await He(t))}function Pe(e,t,n=void 0){t?history.replaceState({userState:n,_index:Re},"",e):(Re++,history.pushState({userState:n,_index:Re},"",e))}function Be(e){return new Promise((t=>{const n=Fe;Fe=()=>{Fe=n,t()},history.go(e)}))}function Je(){Te&&(Te(!1),Te=null)}function je(e,t,n,r){return new Promise((o=>{Je(),De++,Te=o,r.locationChanging(De,e,t,n)}))}async function He(e,t){const n=null!=t?t:location.href;await Promise.all(Array.from(ke,(async([t,r])=>{var o,i;i=t,E.has(i)&&await r.locationChanged(n,null===(o=history.state)||void 0===o?void 0:o.userState,e)})))}async function $e(e){var t,n;Fe&&We()&&await Fe(e),Re=null!==(n=null===(t=history.state)||void 0===t?void 0:t._index)&&void 0!==n?n:0}function ze(){const e=Ne();if(void 0!==e)return ke.get(e)}function We(){return Ie()||!Ee()}const Ue={focus:function(e,t){if(e instanceof HTMLElement)e.focus({preventScroll:t});else{if(!(e instanceof SVGElement))throw new Error("Unable to focus an invalid element.");if(!e.hasAttribute("tabindex"))throw new Error("Unable to focus an SVG element that does not have a tabindex.");e.focus({preventScroll:t})}},focusBySelector:function(e,t){const n=document.querySelector(e);n&&(n.hasAttribute("tabindex")||(n.tabIndex=-1),n.focus({preventScroll:!0}))}},Ke={init:function(e,t,n,r=50){const o=Xe(t);(o||document.documentElement).style.overflowAnchor="none";const i=document.createRange();f(n.parentElement)&&(t.style.display="table-row",n.style.display="table-row");const s=new IntersectionObserver((function(r){r.forEach((r=>{var o;if(!r.isIntersecting)return;i.setStartAfter(t),i.setEndBefore(n);const s=i.getBoundingClientRect().height,a=null===(o=r.rootBounds)||void 0===o?void 0:o.height;r.target===t?e.invokeMethodAsync("OnSpacerBeforeVisible",r.intersectionRect.top-r.boundingClientRect.top,s,a):r.target===n&&n.offsetHeight>0&&e.invokeMethodAsync("OnSpacerAfterVisible",r.boundingClientRect.bottom-r.intersectionRect.bottom,s,a)}))}),{root:o,rootMargin:`${r}px`});s.observe(t),s.observe(n);const a=d(t),c=d(n),{observersByDotNetObjectId:l,id:u}=Ye(e);function d(e){const t={attributes:!0},n=new MutationObserver(((n,r)=>{f(e.parentElement)&&(r.disconnect(),e.style.display="table-row",r.observe(e,t)),s.unobserve(e),s.observe(e)}));return n.observe(e,t),n}function f(e){return null!==e&&(e instanceof HTMLTableElement&&""===e.style.display||"table"===e.style.display||e instanceof HTMLTableSectionElement&&""===e.style.display||"table-row-group"===e.style.display)}l[u]={intersectionObserver:s,mutationObserverBefore:a,mutationObserverAfter:c}},dispose:function(e){const{observersByDotNetObjectId:t,id:n}=Ye(e),r=t[n];r&&(r.intersectionObserver.disconnect(),r.mutationObserverBefore.disconnect(),r.mutationObserverAfter.disconnect(),e.dispose(),delete t[n])}},Ve=Symbol();function Xe(e){return e&&e!==document.body&&e!==document.documentElement?"visible"!==getComputedStyle(e).overflowY?e:Xe(e.parentElement):null}function Ye(e){var t;const n=e._callDispatcher,r=e._id;return null!==(t=n[Ve])&&void 0!==t||(n[Ve]={}),{observersByDotNetObjectId:n[Ve],id:r}}const Ge={getAndRemoveExistingTitle:function(){var e;const t=document.head?document.head.getElementsByTagName("title"):[];if(0===t.length)return null;let n=null;for(let r=t.length-1;r>=0;r--){const o=t[r],i=o.previousSibling;i instanceof Comment&&null!==$(i)||(null===n&&(n=o.textContent),null===(e=o.parentNode)||void 0===e||e.removeChild(o))}return n}},qe={init:function(e,t){t._blazorInputFileNextFileId=0,t.addEventListener("click",(function(){t.value=""})),t.addEventListener("change",(function(){t._blazorFilesById={};const n=Array.prototype.map.call(t.files,(function(e){const n={id:++t._blazorInputFileNextFileId,lastModified:new Date(e.lastModified).toISOString(),name:e.name,size:e.size,contentType:e.type,readPromise:void 0,arrayBuffer:void 0,blob:e};return t._blazorFilesById[n.id]=n,n}));e.invokeMethodAsync("NotifyChange",n)}))},toImageFile:async function(e,t,n,r,o){const i=Ze(e,t),s=await new Promise((function(e){const t=new Image;t.onload=function(){URL.revokeObjectURL(t.src),e(t)},t.onerror=function(){t.onerror=null,URL.revokeObjectURL(t.src)},t.src=URL.createObjectURL(i.blob)})),a=await new Promise((function(e){var t;const i=Math.min(1,r/s.width),a=Math.min(1,o/s.height),c=Math.min(i,a),l=document.createElement("canvas");l.width=Math.round(s.width*c),l.height=Math.round(s.height*c),null===(t=l.getContext("2d"))||void 0===t||t.drawImage(s,0,0,l.width,l.height),l.toBlob(e,n)})),c={id:++e._blazorInputFileNextFileId,lastModified:i.lastModified,name:i.name,size:(null==a?void 0:a.size)||0,contentType:n,blob:a||i.blob};return e._blazorFilesById[c.id]=c,c},readFileData:async function(e,t){return Ze(e,t).blob}};function Ze(e,t){const n=e._blazorFilesById[t];if(!n)throw new Error(`There is no file with ID ${t}. The file list may have changed. See https://aka.ms/aspnet/blazor-input-file-multiple-selections.`);return n}const Qe=new Set,et={enableNavigationPrompt:function(e){0===Qe.size&&window.addEventListener("beforeunload",tt),Qe.add(e)},disableNavigationPrompt:function(e){Qe.delete(e),0===Qe.size&&window.removeEventListener("beforeunload",tt)}};function tt(e){e.preventDefault(),e.returnValue=!0}const nt=new Map,rt={navigateTo:function(e,t,n=!1){Me(e,t instanceof Object?t:{forceLoad:t,replaceHistoryEntry:n})},registerCustomEventType:function(e,t){if(!t)throw new Error("The options parameter is required.");if(o.has(e))throw new Error(`The event '${e}' is already registered.`);if(t.browserEventName){const n=i.get(t.browserEventName);n?n.push(e):i.set(t.browserEventName,[e]),s.forEach((n=>n(e,t.browserEventName)))}o.set(e,t)},rootComponents:b,runtime:{},_internal:{navigationManager:Oe,domWrapper:Ue,Virtualize:Ke,PageTitle:Ge,InputFile:qe,NavigationLock:et,getJSDataStreamChunk:async function(e,t,n){return e instanceof Blob?await async function(e,t,n){const r=e.slice(t,t+n),o=await r.arrayBuffer();return new Uint8Array(o)}(e,t,n):function(e,t,n){return new Uint8Array(e.buffer,e.byteOffset+t,n)}(e,t,n)},attachWebRendererInterop:function(t,n,r,o){var i,s;if(E.has(t))throw new Error(`Interop methods are already registered for renderer ${t}`);E.set(t,n),r&&o&&Object.keys(r).length>0&&function(t,n,r){if(h)throw new Error("Dynamic root components have already been enabled.");h=t,p=n;for(const[t,o]of Object.entries(r)){const r=e.findJSFunction(t,0);for(const e of o)r(e,n[e])}}(I(t),r,o),null===(s=null===(i=A.get(t))||void 0===i?void 0:i[0])||void 0===s||s.call(i),function(e){for(const t of S)t(e)}(t)}}};var ot,it;window.Blazor=rt;const st=navigator,at=st.userAgentData&&st.userAgentData.brands,ct=at&&at.length>0?at.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):window.chrome,lt=null!==(it=null===(ot=st.userAgentData)||void 0===ot?void 0:ot.platform)&&void 0!==it?it:navigator.platform;function ut(e){return 0!==e.debugLevel&&(ct||navigator.userAgent.includes("Firefox"))}let dt=!1;function ft(){const e=document.querySelector("#blazor-error-ui");e&&(e.style.display="block"),dt||(dt=!0,document.querySelectorAll("#blazor-error-ui .reload").forEach((e=>{e.onclick=function(e){location.reload(),e.preventDefault()}})),document.querySelectorAll("#blazor-error-ui .dismiss").forEach((e=>{e.onclick=function(e){const t=document.querySelector("#blazor-error-ui");t&&(t.style.display="none"),e.preventDefault()}})))}var mt,ht;!function(e){e[e.Default=0]="Default",e[e.Server=1]="Server",e[e.WebAssembly=2]="WebAssembly",e[e.WebView=3]="WebView"}(mt||(mt={})),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(ht||(ht={}));class pt{constructor(e=!0,t,n,r=0){this.singleRuntime=e,this.logger=t,this.webRendererId=r,this.afterStartedCallbacks=[],n&&this.afterStartedCallbacks.push(...n)}async importInitializersAsync(e,t){await Promise.all(e.map((e=>async function(e,n){const r=function(e){const t=document.baseURI;return t.endsWith("/")?`${t}${e}`:`${t}/${e}`}(n),o=await import(r);if(void 0!==o){if(e.singleRuntime){const{beforeStart:n,afterStarted:r,beforeWebAssemblyStart:s,afterWebAssemblyStarted:a,beforeServerStart:c,afterServerStarted:l}=o;let u=n;e.webRendererId===mt.Server&&c&&(u=c),e.webRendererId===mt.WebAssembly&&s&&(u=s);let d=r;return e.webRendererId===mt.Server&&l&&(d=l),e.webRendererId===mt.WebAssembly&&a&&(d=a),i(e,u,d,t)}return function(e,t,n){var o;const s=n[0],{beforeStart:a,afterStarted:c,beforeWebStart:l,afterWebStarted:u,beforeWebAssemblyStart:d,afterWebAssemblyStarted:f,beforeServerStart:m,afterServerStarted:h}=t,p=!(l||u||d||f||m||h||!a&&!c),v=p&&s.enableClassicInitializers;if(p&&!s.enableClassicInitializers)null===(o=e.logger)||void 0===o||o.log(ht.Warning,`Initializer '${r}' will be ignored because multiple runtimes are available. use 'before(web|webAssembly|server)Start' and 'after(web|webAssembly|server)Started?' instead.)`);else if(v)return i(e,a,c,n);if(function(e){e.webAssembly?e.webAssembly.initializers||(e.webAssembly.initializers={beforeStart:[],afterStarted:[]}):e.webAssembly={initializers:{beforeStart:[],afterStarted:[]}},e.circuit?e.circuit.initializers||(e.circuit.initializers={beforeStart:[],afterStarted:[]}):e.circuit={initializers:{beforeStart:[],afterStarted:[]}}}(s),d&&s.webAssembly.initializers.beforeStart.push(d),f&&s.webAssembly.initializers.afterStarted.push(f),m&&s.circuit.initializers.beforeStart.push(m),h&&s.circuit.initializers.afterStarted.push(h),u&&e.afterStartedCallbacks.push(u),l)return l(s)}(e,o,t)}function i(e,t,n,r){if(n&&e.afterStartedCallbacks.push(n),t)return t(...r)}}(this,e))))}async invokeAfterStartedCallbacks(e){const t=function(e){var t;return null===(t=A.get(e))||void 0===t?void 0:t[1]}(this.webRendererId);t&&await t,await Promise.all(this.afterStartedCallbacks.map((t=>t(e))))}}let vt,bt,gt,yt,wt,Et,St;const At=Math.pow(2,32),Ct=Math.pow(2,21)-1;let It=null;function Nt(e){return bt.getI32(e)}const _t={load:function(e,t){return async function(e,t){const{dotnet:n}=await async function(e){if("undefined"==typeof WebAssembly||!WebAssembly.validate)throw new Error("This browser does not support WebAssembly.");let t="_framework/dotnet.js";if(e.loadBootResource){const n="dotnetjs",r=e.loadBootResource(n,"dotnet.js",t,"","js-module-dotnet");if("string"==typeof r)t=r;else if(r)throw new Error(`For a ${n} resource, custom loaders must supply a URI string.`)}const n=new URL(t,document.baseURI).toString();return await import(n)}(e),r=function(e,t){const n={maxParallelDownloads:1e6,enableDownloadRetry:!1,applicationEnvironment:e.environment},r={...window.Module||{},onConfigLoaded:async n=>{n.environmentVariables||(n.environmentVariables={}),"sharded"===n.globalizationMode&&(n.environmentVariables.__BLAZOR_SHARDED_ICU="1"),rt._internal.getApplicationEnvironment=()=>n.applicationEnvironment,null==t||t(n),St=await async function(e,t){var n,r,o;if(e.initializers)return await Promise.all(e.initializers.beforeStart.map((t=>t(e)))),new pt(!1,void 0,e.initializers.afterStarted,mt.WebAssembly);{const i=[e,null!==(r=null===(n=t.resources)||void 0===n?void 0:n.extensions)&&void 0!==r?r:{}],s=new pt(!0,void 0,void 0,mt.WebAssembly),a=Object.keys((null===(o=null==t?void 0:t.resources)||void 0===o?void 0:o.libraryInitializers)||{});return await s.importInitializersAsync(a,i),s}}(e,n)},onDownloadResourceProgress:Rt,config:n,disableDotnet6Compatibility:!1,out:kt,err:Ft};return r}(e,t);e.applicationCulture&&n.withApplicationCulture(e.applicationCulture),e.environment&&n.withApplicationEnvironment(e.environment),e.loadBootResource&&n.withResourceLoader(e.loadBootResource),n.withModuleConfig(r),e.configureRuntime&&e.configureRuntime(n),Et=await n.create()}(e,t)},start:function(){return async function(){if(!Et)throw new Error("The runtime must be loaded it gets configured.");const{MONO:t,BINDING:n,Module:r,setModuleImports:o,INTERNAL:i,getConfig:s,invokeLibraryInitializers:a}=Et;gt=r,vt=n,bt=t,wt=i,function(e){const t=lt.match(/^Mac/i)?"Cmd":"Alt";ut(e)&&console.info(`Debugging hotkey: Shift+${t}+D (when application has focus)`),document.addEventListener("keydown",(t=>{t.shiftKey&&(t.metaKey||t.altKey)&&"KeyD"===t.code&&(ut(e)?navigator.userAgent.includes("Firefox")?async function(){const e=await fetch(`_framework/debug?url=${encodeURIComponent(location.href)}&isFirefox=true`);200!==e.status&&console.warn(await e.text())}():ct?function(){const e=document.createElement("a");e.href=`_framework/debug?url=${encodeURIComponent(location.href)}`,e.target="_blank",e.rel="noopener noreferrer",e.click()}():console.error("Currently, only Microsoft Edge (80+), Google Chrome, or Chromium, are supported for debugging."):console.error("Cannot start debugging, because the application was not compiled with debugging enabled."))}))}(s()),rt.runtime=Et,rt._internal.dotNetCriticalError=Ft,o("blazor-internal",{Blazor:{_internal:rt._internal}});const c=await Et.getAssemblyExports("Microsoft.AspNetCore.Components.WebAssembly");return Object.assign(rt._internal,{dotNetExports:{...c.Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime}}),yt=e.attachDispatcher({beginInvokeDotNetFromJS:(e,t,n,r,o)=>{if(Ot(),!r&&!t)throw new Error("Either assemblyName or dotNetObjectId must have a non null value.");const i=r?r.toString():t;rt._internal.dotNetExports.BeginInvokeDotNet(e?e.toString():null,i,n,o)},endInvokeJSFromDotNet:(e,t,n)=>{rt._internal.dotNetExports.EndInvokeJS(n)},sendByteArray:(e,t)=>{rt._internal.dotNetExports.ReceiveByteArrayFromJS(e,t)},invokeDotNetFromJS:(e,t,n,r)=>(Ot(),rt._internal.dotNetExports.InvokeDotNet(e||null,t,null!=n?n:0,r))}),{invokeLibraryInitializers:a}}()},callEntryPoint:async function(){try{await Et.runMain(Et.getConfig().mainAssemblyName,[])}catch(e){console.error(e),ft()}},toUint8Array:function(e){const t=Tt(e),n=Nt(t),r=new Uint8Array(n);return r.set(gt.HEAPU8.subarray(t+4,t+4+n)),r},getArrayLength:function(e){return Nt(Tt(e))},getArrayEntryPtr:function(e,t,n){return Tt(e)+4+t*n},getObjectFieldsBaseAddress:function(e){return e+8},readInt16Field:function(e,t){return n=e+(t||0),bt.getI16(n);var n},readInt32Field:function(e,t){return Nt(e+(t||0))},readUint64Field:function(e,t){return function(e){const t=e>>2,n=gt.HEAPU32[t+1];if(n>Ct)throw new Error(`Cannot read uint64 with high order part ${n}, because the result would exceed Number.MAX_SAFE_INTEGER.`);return n*At+gt.HEAPU32[t]}(e+(t||0))},readFloatField:function(e,t){return n=e+(t||0),bt.getF32(n);var n},readObjectField:function(e,t){return Nt(e+(t||0))},readStringField:function(e,t,n){const r=Nt(e+(t||0));if(0===r)return null;if(n){const e=vt.unbox_mono_obj(r);return"boolean"==typeof e?e?"":null:e}return vt.conv_string(r)},readStructField:function(e,t){return e+(t||0)},beginHeapLock:function(){return Ot(),It=Lt.create(),It},invokeWhenHeapUnlocked:function(e){It?It.enqueuePostReleaseAction(e):e()}};function Rt(e,t){const n=e/t*100;document.documentElement.style.setProperty("--blazor-load-percentage",`${n}%`),document.documentElement.style.setProperty("--blazor-load-percentage-text",`"${Math.floor(n)}%"`)}const Dt=["DEBUGGING ENABLED"],kt=e=>Dt.indexOf(e)<0&&console.log(e),Ft=e=>{console.error(e||"(null)"),ft()};function Tt(e){return e+12}function Ot(){if(It)throw new Error("Assertion failed - heap is currently locked")}class Lt{enqueuePostReleaseAction(e){this.postReleaseActions||(this.postReleaseActions=[]),this.postReleaseActions.push(e)}release(){var e;if(It!==this)throw new Error("Trying to release a lock which isn't current");for(wt.mono_wasm_gc_unlock(),It=null;null===(e=this.postReleaseActions)||void 0===e?void 0:e.length;)this.postReleaseActions.shift()(),Ot()}static create(){return wt.mono_wasm_gc_lock(),new Lt}}let Mt;class xt{constructor(e){this.batchAddress=e,this.arrayRangeReader=Pt,this.arrayBuilderSegmentReader=Bt,this.diffReader=Jt,this.editReader=jt,this.frameReader=Ht}updatedComponents(){return Mt.readStructField(this.batchAddress,0)}referenceFrames(){return Mt.readStructField(this.batchAddress,Pt.structLength)}disposedComponentIds(){return Mt.readStructField(this.batchAddress,2*Pt.structLength)}disposedEventHandlerIds(){return Mt.readStructField(this.batchAddress,3*Pt.structLength)}updatedComponentsEntry(e,t){return $t(e,t,Jt.structLength)}referenceFramesEntry(e,t){return $t(e,t,Ht.structLength)}disposedComponentIdsEntry(e,t){const n=$t(e,t,4);return Mt.readInt32Field(n)}disposedEventHandlerIdsEntry(e,t){const n=$t(e,t,8);return Mt.readUint64Field(n)}}const Pt={structLength:8,values:e=>Mt.readObjectField(e,0),count:e=>Mt.readInt32Field(e,4)},Bt={structLength:12,values:e=>{const t=Mt.readObjectField(e,0),n=Mt.getObjectFieldsBaseAddress(t);return Mt.readObjectField(n,0)},offset:e=>Mt.readInt32Field(e,4),count:e=>Mt.readInt32Field(e,8)},Jt={structLength:4+Bt.structLength,componentId:e=>Mt.readInt32Field(e,0),edits:e=>Mt.readStructField(e,4),editsEntry:(e,t)=>$t(e,t,jt.structLength)},jt={structLength:20,editType:e=>Mt.readInt32Field(e,0),siblingIndex:e=>Mt.readInt32Field(e,4),newTreeIndex:e=>Mt.readInt32Field(e,8),moveToSiblingIndex:e=>Mt.readInt32Field(e,8),removedAttributeName:e=>Mt.readStringField(e,16)},Ht={structLength:36,frameType:e=>Mt.readInt16Field(e,4),subtreeLength:e=>Mt.readInt32Field(e,8),elementReferenceCaptureId:e=>Mt.readStringField(e,16),componentId:e=>Mt.readInt32Field(e,12),elementName:e=>Mt.readStringField(e,16),textContent:e=>Mt.readStringField(e,16),markupContent:e=>Mt.readStringField(e,16),attributeName:e=>Mt.readStringField(e,16),attributeValue:e=>Mt.readStringField(e,24,!0),attributeEventHandlerId:e=>Mt.readUint64Field(e,8)};function $t(e,t,n){return Mt.getArrayEntryPtr(e,t,n)}const zt=/^\s*Blazor-WebAssembly-Component-State:(?[a-zA-Z0-9+/=]+)$/;function Wt(e,t,n="state"){var r;if(e.nodeType===Node.COMMENT_NODE){const o=e.textContent||"",i=t.exec(o),s=i&&i.groups&&i.groups[n];return s&&(null===(r=e.parentNode)||void 0===r||r.removeChild(e)),s}if(!e.hasChildNodes())return;const o=e.childNodes;for(let e=0;e.*)$/);function Vt(e,t){const n=e.currentElement;var r,o,i;if(n&&n.nodeType===Node.COMMENT_NODE&&n.textContent){const s=Kt.exec(n.textContent),a=s&&s.groups&&s.groups.descriptor;if(!a)return;!function(e){if(e.parentNode instanceof Document)throw new Error("Root components cannot be marked as interactive. The element must be rendered statically so that scripts are not evaluated multiple times.")}(n);try{const s=function(e){const t=JSON.parse(e),{type:n}=t;if("server"!==n&&"webassembly"!==n&&"auto"!==n)throw new Error(`Invalid component type '${n}'.`);return t}(a),c=function(e,t,n){const{prerenderId:r}=e;if(r){for(;n.next()&&n.currentElement;){const e=n.currentElement;if(e.nodeType!==Node.COMMENT_NODE)continue;if(!e.textContent)continue;const t=Kt.exec(e.textContent),o=t&&t[1];if(o)return en(o,r),e}throw new Error(`Could not find an end component comment for '${t}'.`)}}(s,n,e);if(t!==s.type)return;switch(s.type){case"webassembly":return o=n,i=c,Qt(r=s),{...r,uniqueId:qt++,start:o,end:i};case"server":return function(e,t,n){return Zt(e),{...e,uniqueId:qt++,start:t,end:n}}(s,n,c);case"auto":return function(e,t,n){return Zt(e),Qt(e),{...e,uniqueId:qt++,start:t,end:n}}(s,n,c)}}catch(e){throw new Error(`Found malformed component comment at ${n.textContent}`)}}}let Xt,Yt,Gt,qt=0;function Zt(e){const{descriptor:t,sequence:n}=e;if(!t)throw new Error("descriptor must be defined when using a descriptor.");if(void 0===n)throw new Error("sequence must be defined when using a descriptor.");if(!Number.isInteger(n))throw new Error(`Error parsing the sequence '${n}' for component '${JSON.stringify(e)}'`)}function Qt(e){const{assembly:t,typeName:n}=e;if(!t)throw new Error("assembly must be defined when using a descriptor.");if(!n)throw new Error("typeName must be defined when using a descriptor.");e.parameterDefinitions=e.parameterDefinitions&&atob(e.parameterDefinitions),e.parameterValues=e.parameterValues&&atob(e.parameterValues)}function en(e,t){const n=JSON.parse(e);if(1!==Object.keys(n).length)throw new Error(`Invalid end of component comment: '${e}'`);const r=n.prerenderId;if(!r)throw new Error(`End of component comment must have a value for the prerendered property: '${e}'`);if(r!==t)throw new Error(`End of component comment prerendered property must match the start comment prerender id: '${t}', '${r}'`)}class tn{constructor(e){this.childNodes=e,this.currentIndex=-1,this.length=e.length}next(){return this.currentIndex++,this.currentIndex{on=e}));const un=new Promise((e=>{sn=e}));let dn;function fn(e){if(Xt)throw new Error("WebAssembly options have already been configured.");!async function(e){const t=await e;Xt=t,dn()}(e)}function mn(e){if(void 0!==rn)throw new Error("Blazor WebAssembly has already started.");return rn=new Promise(hn.bind(null,e)),rn}async function hn(e,t,n){(function(){if(window.parent!==window&&!window.opener&&window.frameElement){const e=window.sessionStorage&&window.sessionStorage["Microsoft.AspNetCore.Components.WebAssembly.Authentication.CachedAuthSettings"],t=e&&JSON.parse(e);return t&&t.redirect_uri&&location.href.startsWith(t.redirect_uri)}return!1})()&&await new Promise((()=>{}));const r=pn();!function(e){const t=N;N=(e,n,r)=>{((e,t,n)=>{const r=function(e){return me[e]}(e);(null==r?void 0:r.eventDelegator.getHandler(t))&&_t.invokeWhenHeapUnlocked(n)})(e,n,(()=>t(e,n,r)))}}(),rt._internal.applyHotReload=(e,t,n,r)=>{yt.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","ApplyHotReloadDelta",e,t,n,r)},rt._internal.getApplyUpdateCapabilities=()=>yt.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","GetApplyUpdateCapabilities"),rt._internal.invokeJSFromDotNet=vn,rt._internal.invokeJSJson=bn,rt._internal.endInvokeDotNetFromJS=gn,rt._internal.receiveWebAssemblyDotNetDataStream=yn,rt._internal.receiveByteArray=wn;const o=(Mt=_t,Mt);rt.platform=o,rt._internal.renderBatch=(e,t)=>{const n=_t.beginHeapLock();try{!function(e,t){const n=me[e];if(!n)throw new Error(`There is no browser renderer with ID ${e}.`);const r=t.arrayRangeReader,o=t.updatedComponents(),i=r.values(o),s=r.count(o),a=t.referenceFrames(),c=r.values(a),l=t.diffReader;for(let e=0;e{await yt.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChanged",e,t,n)}),(async(e,t,n,r)=>{const o=await yt.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChangingAsync",t,n,r);rt._internal.navigationManager.endLocationChanging(e,o)}));const i=new nn(e);let s;rt._internal.registeredComponents={getRegisteredComponentsCount:()=>i.getCount(),getAssembly:e=>i.getAssembly(e),getTypeName:e=>i.getTypeName(e),getParameterDefinitions:e=>i.getParameterDefinitions(e)||"",getParameterValues:e=>i.getParameterValues(e)||""},rt._internal.getPersistedState=()=>Wt(document,zt)||"",rt._internal.getInitialComponentsUpdate=()=>un,rt._internal.updateRootComponents=e=>{var t;return null===(t=rt._internal.dotNetExports)||void 0===t?void 0:t.UpdateRootComponentsCore(e)},rt._internal.endUpdateRootComponents=t=>{var n;return null===(n=e.onAfterUpdateRootComponents)||void 0===n?void 0:n.call(e,t)},rt._internal.attachRootComponentToElement=(e,t,n)=>{const r=i.resolveRegisteredElement(e);r?ye(n,r,t,!1):function(e,t,n){const r="::before";let o=!1;if(e.endsWith("::after"))e=e.slice(0,-7),o=!0;else if(e.endsWith(r))throw new Error(`The '${r}' selector is not supported.`);const i=function(e){const t=m.get(e);if(t)return m.delete(e),t}(e)||document.querySelector(e);if(!i)throw new Error(`Could not find any element matching selector '${e}'.`);ye(n,P(i,!0),t,o)}(e,t,n)};try{await r,s=await o.start()}catch(e){throw new Error(`Failed to start platform. Reason: ${e}`)}o.callEntryPoint(),St.invokeAfterStartedCallbacks(rt),cn=!0,t()}function pn(){return null!=Gt||(Gt=(async()=>{await Yt;const e=null!=Xt?Xt:{},t=null==Xt?void 0:Xt.configureRuntime;e.configureRuntime=e=>{null==t||t(e),ln&&e.withEnvironmentVariable("__BLAZOR_WEBASSEMBLY_WAIT_FOR_ROOT_COMPONENTS","true")},await _t.load(e,on),an=!0})()),Gt}function vn(t,n,r,o){const i=_t.readStringField(t,0),s=_t.readInt32Field(t,4),a=_t.readStringField(t,8),c=_t.readUint64Field(t,20);if(null!==a){const e=_t.readUint64Field(t,12);if(0!==e)return yt.beginInvokeJSFromDotNet(e,i,a,s,c),0;{const e=yt.invokeJSFromDotNet(i,a,s,c);return null===e?0:vt.js_string_to_mono_string(e)}}{const t=e.findJSFunction(i,c).call(null,n,r,o);switch(s){case e.JSCallResultType.Default:return t;case e.JSCallResultType.JSObjectReference:return e.createJSObjectReference(t).__jsObjectId;case e.JSCallResultType.JSStreamReference:{const n=e.createJSStreamReference(t),r=JSON.stringify(n);return vt.js_string_to_mono_string(r)}case e.JSCallResultType.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${s}'.`)}}}function bn(e,t,n,r,o){return 0!==o?(yt.beginInvokeJSFromDotNet(o,e,r,n,t),null):yt.invokeJSFromDotNet(e,r,n,t)}function gn(e,t,n){yt.endInvokeDotNetFromJS(e,t,n)}function yn(e,t,n,r){!function(e,t,n,r,o){let i=nt.get(t);if(!i){const n=new ReadableStream({start(e){nt.set(t,e),i=e}});e.supplyDotNetStream(t,n)}o?(i.error(o),nt.delete(t)):0===r?(i.close(),nt.delete(t)):i.enqueue(n.length===r?n:n.subarray(0,r))}(yt,e,t,n,r)}function wn(e,t){yt.receiveByteArray(e,t)}Yt=new Promise((e=>{dn=e}));class En{constructor(e){this.initialComponents=e}resolveRootComponent(e){return this.initialComponents[e]}}class Sn{constructor(){this._eventListeners=new Map}static create(e){const t=new Sn;return e.addEventListener=t.addEventListener.bind(t),e.removeEventListener=t.removeEventListener.bind(t),t}addEventListener(e,t){let n=this._eventListeners.get(e);n||(n=new Set,this._eventListeners.set(e,n)),n.add(t)}removeEventListener(e,t){var n;null===(n=this._eventListeners.get(e))||void 0===n||n.delete(t)}dispatchEvent(e,t){const n=this._eventListeners.get(e);if(!n)return;const r={...t,type:e};for(const e of n)e(r)}}let An=!1;async function Cn(e){if(An)throw new Error("Blazor has already started.");An=!0,fn(Promise.resolve(e||{})),Sn.create(rt);const t=Ut(document,"webassembly"),n=new En(t);await mn(n)}rt.start=Cn,window.DotNet=e,document&&document.currentScript&&"false"!==document.currentScript.getAttribute("autostart")&&Cn().catch((e=>{void 0!==gt&>.err?gt.err(e):console.error(e)}))})(); + /*! For license information please see AuthenticationService.js.LICENSE.txt */ -var t,e;t={671:function(t){var e;e=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=22)}([function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var t=arguments.length,e=Array(t),r=0;r=3){for(var t=arguments.length,e=Array(t),r=0;r=2){for(var t=arguments.length,e=Array(t),r=0;r=1){for(var t=arguments.length,e=Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function(){var t=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(e){i.Log.debug("MetadataService.getMetadata: json received");var r=t._settings.metadataSeed||{};return t._settings.metadata=Object.assign({},r,e),t._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",t)},t.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+t),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[t]){if(!0===e)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+t);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+t),new Error("Metadata does not contain property "+t)}return r[t]}))},t.prototype.getSigningKeys=function(){var t=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(e){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",e),t._jsonService.getJson(e).then((function(e){if(i.Log.debug("MetadataService.getSigningKeys: key set received",e),!e.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return t._settings.signingKeys=e.keys,t._settings.signingKeys}))}))},n(t,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(s)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=s))),this._metadataUrl}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function(t,e,r){return t.indexOf("?")<0&&(t+="?"),"?"!==t[t.length-1]&&(t+="&"),t+=encodeURIComponent(e),(t+="=")+encodeURIComponent(r)},t.parseUrlFragment=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof t&&(t=r.location.href);var o=t.lastIndexOf(e);o>=0&&(t=t.substr(o+1)),"?"===e&&(o=t.indexOf("#"))>=0&&(t=t.substr(0,o));for(var s,a={},u=/([^&=]+)=([^&]*)/g,c=0;s=u.exec(t);)if(a[decodeURIComponent(s[1])]=decodeURIComponent(s[2].replace(/\+/g," ")),c++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",t),{error:"Response exceeded expected number of parameters"};for(var h in a)return a;return{}},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,h=e.signingKeys,d=e.metadataSeed,p=e.client_id,v=e.client_secret,y=e.response_type,m=void 0===y?l:y,_=e.scope,S=void 0===_?f:_,w=e.redirect_uri,b=e.post_logout_redirect_uri,F=e.client_authentication,E=void 0===F?g:F,x=e.prompt,A=e.display,k=e.max_age,P=e.ui_locales,C=e.acr_values,T=e.resource,R=e.response_mode,I=e.filterProtocolClaims,D=void 0===I||I,L=e.loadUserInfo,N=void 0===L||L,U=e.staleStateAge,O=void 0===U?900:U,B=e.clockSkew,M=void 0===B?300:B,j=e.clockService,H=void 0===j?new s.ClockService:j,K=e.userInfoJwtIssuer,V=void 0===K?"OP":K,q=e.mergeClaims,J=void 0!==q&&q,W=e.stateStore,z=void 0===W?new a.WebStorageStateStore:W,Y=e.ResponseValidatorCtor,G=void 0===Y?u.ResponseValidator:Y,$=e.MetadataServiceCtor,X=void 0===$?c.MetadataService:$,Q=e.extraQueryParams,Z=void 0===Q?{}:Q,tt=e.extraTokenParams,et=void 0===tt?{}:tt;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=d,this._signingKeys=h,this._client_id=p,this._client_secret=v,this._response_type=m,this._scope=S,this._redirect_uri=w,this._post_logout_redirect_uri=b,this._client_authentication=E,this._prompt=x,this._display=A,this._max_age=k,this._ui_locales=P,this._acr_values=C,this._resource=T,this._response_mode=R,this._filterProtocolClaims=!!D,this._loadUserInfo=!!N,this._staleStateAge=O,this._clockSkew=M,this._clockService=H,this._userInfoJwtIssuer=V,this._mergeClaims=!!J,this._stateStore=z,this._validator=new G(this),this._metadataService=new X(this),this._extraQueryParams="object"===(void 0===Z?"undefined":n(Z))?Z:{},this._extraTokenParams="object"===(void 0===et?"undefined":n(et))?et:{}}return t.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(t,[{key:"client_id",get:function(){return this._client_id},set:function(t){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=t}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(t){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=t}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(h)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=h)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(t){this._metadata=t}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(t){this._metadataSeed=t}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(t){this._signingKeys=t}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraQueryParams=t:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraTokenParams=t:this._extraTokenParams={}}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,o=e.store,s=void 0===o?i.Global.localStorage:o;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._store=s,this._prefix=n}return t.prototype.set=function(t,e){return n.Log.debug("WebStorageStateStore.set",t),t=this._prefix+t,this._store.setItem(t,e),Promise.resolve()},t.prototype.get=function(t){n.Log.debug("WebStorageStateStore.get",t),t=this._prefix+t;var e=this._store.getItem(t);return Promise.resolve(e)},t.prototype.remove=function(t){n.Log.debug("WebStorageStateStore.remove",t),t=this._prefix+t;var e=this._store.getItem(t);return this._store.removeItem(t),Promise.resolve(e)},t.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var t=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function(t,e){var r=this;if(!t)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",t),new Promise((function(i,o){var s=new r._XMLHttpRequest;s.open("GET",t);var a=r._contentTypes,u=r._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var e=s.getResponseHeader("Content-Type");if(e){var r=a.find((function(t){if(e.startsWith(t))return!0}));if("application/jwt"==r)return void u(s).then(i,o);if(r)try{return void i(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+e+", from URL: "+t))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},e&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+e)),s.send()}))},t.prototype.postForm=function(t,e,r){var i=this;if(!t)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",t),new Promise((function(o,s){var a=new i._XMLHttpRequest;a.open("POST",t);var u=i._contentTypes;a.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",a.status),200!==a.status){if(400===a.status&&(r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{var e=JSON.parse(a.responseText);if(e&&e.error)return n.Log.error("JsonService.postForm: Error from server: ",e.error),void s(new Error(e.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error(a.statusText+" ("+a.status+")"))}else{var r;if((r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{return void o(JSON.parse(a.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error("Invalid response Content-Type: "+r+", from URL: "+t))}},a.onerror=function(){n.Log.error("JsonService.postForm: network error"),s(Error("Network Error"))};var c="";for(var h in e){var l=e[h];l&&(c.length>0&&(c+="&"),c+=encodeURIComponent(h),c+="=",c+=encodeURIComponent(l))}a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&a.setRequestHeader("Authorization","Basic "+btoa(r)),a.send(c)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,w=e.request,b=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!h)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var P=t.isOidc(u),C=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:P,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:C,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),P&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),C&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var T={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:w,request_uri:b,response_mode:S};for(var R in T)T[R]&&(r=i.UrlUtility.addQueryParam(r,R,T[R]));for(var I in F)r=i.UrlUtility.addQueryParam(r,I,F[I]);this.url=r}return t.isOidc=function(t){return!!t.split(/\s+/g).filter((function(t){return"id_token"===t}))[0]},t.isOAuth=function(t){return!!t.split(/\s+/g).filter((function(t){return"token"===t}))[0]},t.isCode=function(t){return!!t.split(/\s+/g).filter((function(t){return"code"===t}))[0]},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function(e){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(e))},t.clearStaleState=function(e,r){var n=Date.now()/1e3-r;return e.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],s=function(s){var a=r[s];u=e.get(a).then((function(r){var o=!1;if(r)try{var s=t.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",a,s.created),s.created<=n&&(o=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",a,t.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",a),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",a),e.remove(a)})),o.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.response_type,n=e.scope,o=e.redirect_uri,s=e.data,u=e.state,c=e.prompt,h=e.display,l=e.max_age,f=e.ui_locales,g=e.id_token_hint,d=e.login_hint,p=e.acr_values,v=e.resource,y=e.request,m=e.request_uri,_=e.response_mode,S=e.extraQueryParams,w=e.extraTokenParams,b=e.request_type,F=e.skipUserInfo,E=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var x=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,c=c||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,f=f||this._settings.ui_locales,p=p||this._settings.acr_values,v=v||this._settings.resource,_=_||this._settings.response_mode,S=S||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var A=this._settings.authority;return a.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(e){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",e);var k=new a.SigninRequest({url:e,client_id:x,redirect_uri:o,response_type:r,scope:n,data:s||u,authority:A,prompt:c,display:h,max_age:l,ui_locales:f,id_token_hint:g,login_hint:d,acr_values:p,resource:v,request:y,request_uri:m,extraQueryParams:S,extraTokenParams:w,request_type:b,response_mode:_,client_secret:t._settings.client_secret,skipUserInfo:F}),P=k.state;return(E=E||t._stateStore).set(P.id,P.toStorageString()).then((function(){return k}))}))},t.prototype.readSigninResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new u.SigninResponse(t,n);return o.state?(e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o.state).then((function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.SigninState.fromStorageString(t),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},t.prototype.processSigninResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(e,n)}))},t.prototype.createSignoutRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.id_token_hint,n=e.data,o=e.state,s=e.post_logout_redirect_uri,a=e.extraQueryParams,u=e.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),s=s||this._settings.post_logout_redirect_uri,a=a||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(e){if(!e)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",e);var l=new c.SignoutRequest({url:e,id_token_hint:r,post_logout_redirect_uri:s,data:n||o,extraQueryParams:a,request_type:u}),f=l.state;return f&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||t._stateStore).set(f.id,f.toStorageString())),l}))},t.prototype.readSignoutResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new h.SignoutResponse(t);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new s.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o).then((function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:f.State.fromStorageString(t),response:n}}))},t.prototype.processSignoutResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(e,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},t.prototype.clearStaleState=function(t){return i.Log.debug("OidcClient.clearStaleState"),t=t||this._stateStore,f.State.clearStaleState(t,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new s(this._settings)}return t.prototype.exchangeCode=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"authorization_code",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret,e.redirect_uri=e.redirect_uri||this._settings.redirect_uri;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.code?e.redirect_uri?e.code_verifier?e.client_id?e.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"refresh_token",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.refresh_token?e.client_id?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(0);e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,s=r.error_uri,a=r.state,u=r.session_state;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var c=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,o||i));return c.name="ErrorResponse",c.error=i,c.error_description=o,c.error_uri=s,c.state=a,c.session_state=u,c}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,c=r.code_verifier,h=r.response_mode,l=r.client_secret,f=r.scope,g=r.extraTokenParams,d=r.skipUserInfo;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var p=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));if(!0===n?p._nonce=(0,a.default)():n&&(p._nonce=n),!0===c?p._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():c&&(p._code_verifier=c),p.code_verifier){var v=s.JoseUtil.hashString(p.code_verifier,"SHA256");p._code_challenge=s.JoseUtil.hexToBase64Url(v)}return p._redirect_uri=u,p._authority=i,p._client_id=o,p._response_mode=h,p._client_secret=l,p._scope=f,p._extraTokenParams=g,p._skipUserInfo=d,p}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function(t){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(t))},n(e,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^n.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=e.accessTokenExpiringTimer,s=void 0===o?new i.Timer("Access token expiring"):o,a=e.accessTokenExpiredTimer,u=void 0===a?new i.Timer("Access token expired"):a;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=s,this._accessTokenExpired=u}return t.prototype.load=function(t){if(t.access_token&&void 0!==t.expires_in){var e=t.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",e),e>0){var r=e-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=e+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function(t){this._accessTokenExpiring.addHandler(t)},t.prototype.removeAccessTokenExpiring=function(t){this._accessTokenExpiring.removeHandler(t)},t.prototype.addAccessTokenExpired=function(t){this._accessTokenExpired.addHandler(t)},t.prototype.removeAccessTokenExpired=function(t){this._accessTokenExpired.removeHandler(t)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function(t){this._callbacks.push(t)},t.prototype.removeHandler=function(t){var e=this._callbacks.findIndex((function(e){return e===t}));e>=0&&this._callbacks.splice(e,1)},t.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=a,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)}))})).catch((function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})))}return t.prototype._start=function(t){var e=this,r=t.session_state;r&&(t.profile?(this._sub=t.profile.sub,this._sid=t.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=e._client_id,o=e._checkSessionInterval,s=e._stopCheckSessionOnError;e._checkSessionIFrame=new e._CheckSessionIFrameCtor(e._callback.bind(e),n,t,o,s),e._checkSessionIFrame.load().then((function(){e._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)})))},t.prototype._stop=function(){var t=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var e=this._timer.setInterval((function(){t._timer.clearInterval(e),t._userManager.querySessionStatus().then((function(e){var r={session_state:e.session_state};e.sub&&e.sid&&(r.profile={sub:e.sub,sid:e.sid}),t._start(r)})).catch((function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)}))}),1e3)},t.prototype._callback=function(){var t=this;this._userManager.querySessionStatus().then((function(e){var r=!0;e?e.sub===t._sub?(r=!1,t._checkSessionIFrame.start(e.session_state),e.sid===t._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",e.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",e.session_state),t._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",e.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(t._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),t._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),t._userManager.events._raiseUserSignedIn()))})).catch((function(e){t._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",e.message),t._userManager.events._raiseUserSignedOut())}))},n(t,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);e.CheckSessionIFrame=function(){function t(e,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var s=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,s),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function(){var t=this;return new Promise((function(e){t._frame.onload=function(){e()},window.document.body.appendChild(t._frame),t._boundMessageEvent=t._message.bind(t),window.addEventListener("message",t._boundMessageEvent,!1)}))},t.prototype._message=function(t){t.origin===this._frame_origin&&t.source===this._frame.contentWindow&&("error"===t.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===t.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+t.data+" message from check session op iframe"))},t.prototype.start=function(t){var e=this;if(this._session_state!==t){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=t;var r=function(){e._frame.contentWindow.postMessage(e._client_id+" "+e._session_state,e._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},t.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1),s="access_token",a="refresh_token";e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new s(this._settings)}return t.prototype.revoke=function(t,e){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!t)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if(i!==s&&i!=a)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var s=r._settings.client_id,a=r._settings.client_secret;return r._revoke(o,s,a,t,i)}if(e)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},t.prototype._revoke=function(t,e,r,i,o){var s=this;return new Promise((function(a,u){var c=new s._XMLHttpRequestCtor;c.open("POST",t),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?a():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var h="client_id="+encodeURIComponent(e);r&&(h+="&client_secret="+encodeURIComponent(r)),h+="&token_type_hint="+encodeURIComponent(o),h+="&token="+encodeURIComponent(i),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(h)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new h(this._settings)}return t.prototype.validateSigninResponse=function(t,e){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(t,e).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t}))}))}))},t.prototype.validateSignoutResponse=function(t,e){return t.id!==e.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):Promise.resolve(e))},t.prototype._processSigninParams=function(t,e){if(t.id!==e.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!t.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!t.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==t.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=t.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==t.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=t.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):t.nonce&&!e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!t.nonce&&e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):t.code_verifier&&!e.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!t.code_verifier&&e.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(e.scope||(e.scope=t.scope),Promise.resolve(e))},t.prototype._processClaims=function(t,e){var r=this;if(e.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),e.profile=this._filterProtocolClaims(e.profile),!0!==t.skipUserInfo&&this._settings.loadUserInfo&&e.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(e.access_token).then((function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==e.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(e.profile=r._mergeClaims(e.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",e.profile),e)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(e)},t.prototype._mergeClaims=function(t,e){var r=Object.assign({},t);for(var i in e){var o=e[i];Array.isArray(o)||(o=[o]);for(var s=0;s1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function(t){var e=this;return this._getSigningKeyForJwt(t).then((function(r){return r?Promise.resolve(r):(e._metadataService.resetSigningKeys(),e._getSigningKeyForJwt(t))}))},t.prototype._validateIdToken=function(t,e){var r=this;if(!t.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(e.id_token);return n&&n.header&&n.payload?t.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(s){if(!s)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var a=t.client_id,u=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(e.id_token,s,o,a,u).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(e.profile=n.payload,e):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",e),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,t.length),t},t.prototype._validateAccessToken=function(t){if(!t.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!t.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!t.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var e=this._joseUtil.parseJwt(t.id_token);if(!e||!e.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",e),Promise.reject(new Error("Failed to parse id_token"));var r=e.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,s=this._joseUtil.hashString(t.access_token,o);if(!s)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var a=s.substr(0,s.length/2),u=this._joseUtil.hexToBase64Url(a);return u!==t.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",u,t.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(t))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new a(this._settings),this._joseUtil=u}return t.prototype.getClaims=function(t){var e=this;return t?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),e._jsonService.getJson(r,t).then((function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",e),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,t.length),t},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={};if(void 0===o)var o={};o.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var i=function(){};if(i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var o;for(o in r)t.prototype[o]=r[o];var s=function(){},a=["toString","valueOf"];try{/MSIE/.test(n.userAgent)&&(s=function(t,e){for(o=0;o>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=s.ceil(e/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new h.init(r,e/2)}},g=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new h.init(r,e)}},d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(g.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return g.parse(unescape(encodeURIComponent(t)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,r=e.words,n=e.sigBytes,i=this.blockSize,o=n/(4*i),a=(o=t?s.ceil(o):s.max((0|o)-this._minBufferSize,0))*i,u=s.min(4*a,n);if(a){for(var c=0;c>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;4>s&&i+.75*s>>6*(3-s)&63));if(e=n.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var r=t.length,n=this._map;(i=n.charAt(64))&&-1!=(i=t.indexOf(i))&&(r=i);for(var i=[],o=0,s=0;s>>6-s%4*2;i[o>>>2]|=(a|u)<<24-o%4*8,o++}return e.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function(t){return 4294967296*(t-(0|t))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],u=r[4],c=r[5],h=r[6],l=r[7],f=0;64>f;f++){if(16>f)g[f]=0|t[e+f];else{var d=g[f-15],p=g[f-2];g[f]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+g[f-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[f-16]}d=l+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&h)+s[f]+g[f],p=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),l=h,h=c,c=u,u=a+d|0,a=o,o=i,i=n,n=d+p|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+h|0,r[7]=r[7]+l|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=(l=this._hash.words)[0],n=l[1],i=l[2],o=l[3],u=l[4],c=l[5],h=l[6],l=l[7],f=r.high,g=r.low,d=n.high,p=n.low,v=i.high,y=i.low,m=o.high,_=o.low,S=u.high,w=u.low,b=c.high,F=c.low,E=h.high,x=h.low,A=l.high,k=l.low,P=f,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,O=w,B=b,M=F,j=E,H=x,K=A,V=k,q=0;80>q;q++){var J=a[q];if(16>q)var W=J.high=0|t[e+2*q],z=J.low=0|t[e+2*q+1];else{W=((z=(W=a[q-15]).high)>>>1|(Y=W.low)<<31)^(z>>>8|Y<<24)^z>>>7;var Y=(Y>>>1|z<<31)^(Y>>>8|z<<24)^(Y>>>7|z<<25),G=((z=(G=a[q-2]).high)>>>19|($=G.low)<<13)^(z<<3|$>>>29)^z>>>6,$=($>>>19|z<<13)^($<<3|z>>>29)^($>>>6|z<<26),X=(z=a[q-7]).high,Q=(Z=a[q-16]).high,Z=Z.low;W=(W=(W=W+X+((z=Y+z.low)>>>0>>0?1:0))+G+((z+=$)>>>0<$>>>0?1:0))+Q+((z+=Z)>>>0>>0?1:0),J.high=W,J.low=z}X=U&B^~U&j,Z=O&M^~O&H,J=P&T^P&I^T&I;var tt=C&R^C&D^R&D,et=(Y=(P>>>28|C<<4)^(P<<30|C>>>2)^(P<<25|C>>>7),G=(C>>>28|P<<4)^(C<<30|P>>>2)^(C<<25|P>>>7),($=s[q]).high),rt=$.low;Q=K+((U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9))+(($=V+((O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9)))>>>0>>0?1:0),K=j,V=H,j=B,H=M,B=U,M=O,U=L+(Q=(Q=(Q=Q+X+(($+=Z)>>>0>>0?1:0))+et+(($+=rt)>>>0>>0?1:0))+W+(($+=z)>>>0>>0?1:0))+((O=N+$|0)>>>0>>0?1:0)|0,L=I,N=D,I=T,D=R,T=P,R=C,P=Q+(J=Y+J+((z=G+tt)>>>0>>0?1:0))+((C=$+z|0)>>>0<$>>>0?1:0)|0}g=r.low=g+C,r.high=f+P+(g>>>0>>0?1:0),p=n.low=p+R,n.high=d+T+(p>>>0>>0?1:0),y=i.low=y+D,i.high=v+I+(y>>>0>>0?1:0),_=o.low=_+N,o.high=m+L+(_>>>0>>0?1:0),w=u.low=w+O,u.high=S+U+(w>>>0>>0?1:0),F=c.low=F+M,c.high=b+B+(F>>>0>>0?1:0),x=h.low=x+H,h.high=E+j+(x>>>0>>0?1:0),k=l.low=k+V,l.high=A+K+(k>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}();var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function S(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function w(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=P(r<<2|n>>4),r=15&n,o=2):2==o?(i+=P(r),i+=P(n>>2),r=3&n,o=3):(i+=P(r<<2|n>>4),i+=P(15&n),o=0));return 1==o&&(i+=P(r<<2)),i}function b(t){var e,r=w(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(F.prototype.am=function(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function I(t){this.m=t}function D(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function M(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function j(){}function H(t){return t}function K(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}I.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},I.prototype.revert=function(t){return t},I.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},I.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},I.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},D.prototype.convert=function(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},D.prototype.revert=function(t){var e=E();return t.copyTo(e),this.reduce(e),e},D.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},D.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},D.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:C(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=R(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=P(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=P(r));return i?o:"0"},F.prototype.negate=function(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function(){return this.s<0?this.negate():this},F.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+R(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new I(e):new D(e),this.exp(t,r)},F.ZERO=T(0),F.ONE=T(1),j.prototype.convert=H,j.prototype.revert=H,j.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},j.prototype.sqrTo=function(t,e){t.squareTo(e)},K.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},K.prototype.revert=function(t){return t},K.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},K.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},K.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var V,q,J,W=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=(1<<26)/W[W.length-1];function Y(){this.i=0,this.j=0,this.S=new Array}function G(){!function(t){q[J++]^=255&t,q[J++]^=t>>8&255,q[J++]^=t>>16&255,q[J++]^=t>>24&255,J>=256&&(J-=256)}((new Date).getTime())}if(F.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=T(r),i=E(),o=E(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),N,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>W.length&&(t=W.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function(t){return 0==this.compareTo(t)},F.prototype.min=function(t){return this.compareTo(t)<0?this:t},F.prototype.max=function(t){return this.compareTo(t)>0?this:t},F.prototype.and=function(t){var e=E();return this.bitwiseTo(t,L,e),e},F.prototype.or=function(t){var e=E();return this.bitwiseTo(t,N,e),e},F.prototype.xor=function(t){var e=E();return this.bitwiseTo(t,U,e),e},F.prototype.andNot=function(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.not=function(){for(var t=E(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=R(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;0==(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&0==(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function(t){return this.exp(t,new j)},F.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=W[W.length-1]){for(e=0;e>>8,q[J++]=255&$;J=0,G()}function tt(){if(null==V){for(G(),(V=new Y).init(q),J=0;J>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function it(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ot(t,e){this.x=e,this.q=t}function st(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function at(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new st(this,null,null)}et.prototype.nextBytes=function(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=rt(t,16),this.e=parseInt(e,16)}},it.prototype.encrypt=function(t){var e=function(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new et,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var r=this.doPublic(e);if(null==r)return null;var n=r.toString(16);return 0==(1&n.length)?n:"0"+n},it.prototype.encryptOAEP=function(t,e,r){var n=function(t,e,r,n){var i=ct.crypto.MessageDigest,o=ct.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function(t){return Ft(o.hashHex(Et(t),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 0==(1&o.length)?o:"0"+o},it.prototype.type="RSA",ot.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},ot.prototype.toBigInteger=function(){return this.x},ot.prototype.negate=function(){return new ot(this.q,this.x.negate().mod(this.q))},ot.prototype.add=function(t){return new ot(this.q,this.x.add(t.toBigInteger()).mod(this.q))},ot.prototype.subtract=function(t){return new ot(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},ot.prototype.multiply=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},ot.prototype.square=function(){return new ot(this.q,this.x.square().mod(this.q))},ot.prototype.divide=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},st.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.equals=function(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},st.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},st.prototype.negate=function(){return new st(this.curve,this.x,this.y.negate(),this.z)},st.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},st.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},st.prototype.multiply=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F("3")),u=new st(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},st.prototype.multiplyTwo=function(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},at.prototype.getQ=function(){return this.q},at.prototype.getA=function(){return this.a},at.prototype.getB=function(){return this.b},at.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},at.prototype.getInfinity=function(){return this.infinity},at.prototype.fromBigInteger=function(t){return new ot(this.q,t)},at.prototype.decodePointHex=function(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new st(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)))}},ot.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},st.prototype.getEncoded=function(t){var e=function(t,e){var r=t.toByteArrayUnsigned();if(er.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},st.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},st.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},st.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},st.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var ut=function(){var t=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),e=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),n={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(""),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;"{"===l?u={}:"["===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({"":u},"")),u}}();void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.asn1&&ct.asn1||(ct.asn1={}),ct.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},ct.asn1.DERAbstractString=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=wt(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(ct.asn1.DERAbstractString,ct.asn1.ASN1Object),ct.asn1.DERAbstractTime=function(t){ct.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=vt(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(ct.asn1.DERAbstractTime,ct.asn1.ASN1Object),ct.asn1.DERAbstractStructured=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(ct.asn1.DERAbstractStructured,ct.asn1.ASN1Object),ct.asn1.DERBoolean=function(t){ct.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},o.lang.extend(ct.asn1.DERBoolean,ct.asn1.ASN1Object),ct.asn1.DERInteger=function(t){ct.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=ct.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(ct.asn1.DERInteger,ct.asn1.ASN1Object),ct.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=ct.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}ct.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function Ut(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Nt(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Ot(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}ft.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},ft.getNthChildIdx=function(t,e,r){return ft.getChildIdx(t,e)[r]},ft.getIdxbyList=function(t,e,r,n){var i,o,s=ft;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},ft.getIdxbyListEx=function(t,e,r,n){var i,o,s=ft;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},ft.getTLVbyListEx=function(t,e,r,n){var i=ft,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},ft.getVbyList=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},ft.getVbyListEx=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},ft.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=ft.getV(t,e);return"02"==n?parseInt(i,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},ft.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function(t){if(!Bt(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+"."+a.join(".")),c}catch(t){return null}}(ft.getV(t,e))}catch(t){return r}},ft.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=ft.getOID(t,e,r);if(n==r)return r;var i=ct.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},ft.getString=function(t,e,r){null==r&&(r=null);try{return Ft(ft.getV(t,e))}catch(t){return r}},ft.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+"."+u.join(".")),h},ft.dump=function(t,e,r,n){var i=ft,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof ct.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var h,l=e.ommit_long_octet;if("01"==(h=u.substr(r,2)))return"00"==(f=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==h)return n+"INTEGER "+c(f=o(u,r),l)+"\n";if("03"==h){var f=o(u,r);return i.isASN1HEX(f.substr(2))?(w=n+"BITSTRING, encapsulates\n")+s(f.substr(2),e,0,n+" "):n+"BITSTRING "+c(f,l)+"\n"}if("04"==h)return f=o(u,r),i.isASN1HEX(f)?(w=n+"OCTETSTRING, encapsulates\n")+s(f,e,0,n+" "):n+"OCTETSTRING "+c(f,l)+"\n";if("05"==h)return n+"NULL\n";if("06"==h){var g=o(u,r),d=ct.asn1.ASN1Util.oidHexToInt(g),p=ct.asn1.x509.OID.oid2name(d),v=d.replace(/\./g," ");return""!=p?n+"ObjectIdentifier "+p+" ("+v+")\n":n+"ObjectIdentifier ("+v+")\n"}if("0a"==h)return n+"ENUMERATED "+parseInt(o(u,r))+"\n";if("0c"==h)return n+"UTF8String '"+bt(o(u,r))+"'\n";if("13"==h)return n+"PrintableString '"+bt(o(u,r))+"'\n";if("14"==h)return n+"TeletexString '"+bt(o(u,r))+"'\n";if("16"==h)return n+"IA5String '"+bt(o(u,r))+"'\n";if("17"==h)return n+"UTCTime "+bt(o(u,r))+"\n";if("18"==h)return n+"GeneralizedTime "+bt(o(u,r))+"\n";if("1a"==h)return n+"VisualString '"+bt(o(u,r))+"'\n";if("1e"==h)return n+"BMPString '"+bt(o(u,r))+"'\n";if("30"==h){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var y=e;if((2==(S=a(u,r)).length||3==S.length)&&"06"==u.substr(S[0],2)&&"04"==u.substr(S[S.length-1],2)){p=i.oidname(o(u,S[0]));var m=JSON.parse(JSON.stringify(e));m.x509ExtName=p,y=m}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(t){return!1}},ft.isASN1HEX=function(t){var e=ft;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},ft.checkStrictDER=function(t,e,r,n,i){var o=ft;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!ct.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error("V string length and L's value not the same:"+u+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var c=t.substr(e,2);if("02"===c){var h=o.getVidx(t,e);if("00"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=e?t:new Array(e-t.length+1).join(r)+t};void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="0001",s="00"+n,a="",u=i-o.length-s.length,c=0;c=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error("not ASN.1 hex string");var e,r,n;try{e=c(t,0,["[0]",0],"06"),r=c(t,0,[1],"04");try{n=c(t,0,["[1]",0],"03")}catch(t){}}catch(t){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n,i;try{c(t,0,[1,0],"06"),r=c(t,0,[1,1],"06"),n=c(t,0,[2,0,1],"04");try{i=c(t,0,[2,0,"[1]",0],"03")}catch(t){}}catch(t){throw new e("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n;try{c(t,0,[0,0],"06"),r=c(t,0,[0,1],"06"),n=c(t,0,[1],"03")}catch(t){throw new e("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e("not ASN.1 hex string");var n,i;try{n=c(t,0,[0,5,0,1],"06"),i=c(t,0,[0,5,1],"03")}catch(t){throw new e("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},ct.crypto.ECDSA.parseSigHex=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},ct.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=ft,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),"30"!=t.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(t,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=t.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:n(t,o),s:n(t,s)}},ct.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ct.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return ct.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},ct.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return ct.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ct.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=ct.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ct.crypto.ECDSA.getName=function(t){return"2b8104001f"===t?"secp192k1":"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040021"===t?"secp224r1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(t)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new at(p,v,y),w=S.decodePointHex("04"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=w,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var b=0;b=2*a)break}var l={};return l.keyhex=u.substr(0,2*i[t].keylen),l.ivhex=u.substr(2*i[t].keylen,2*i[t].ivlen),l},a=function(t,e,r,n){var o=y.enc.Base64.parse(t),s=y.enc.Hex.stringify(o);return(0,i[e].proc)(s,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(t){return o(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,r){return s(t,e,r)},decryptKeyB64:function(t,e,r,n){return a(t,e,r,n)},getDecryptedKeyHex:function(t,e){var r=o(t),n=(r.type,r.cipher),i=r.ivsalt,u=r.data,c=s(n,e,i).keyhex;return a(u,n,c,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,r,n,o){var a="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==o&&null!=o||(o=function(t){var e=y.lib.WordArray.random(t);return y.enc.Hex.stringify(e)}(i[n].ivlen).toUpperCase());var u=function(t,e,r,n){return(0,i[e].eproc)(t,r,n)}(e,n,s(n,r,o).keyhex,o);return a="-----BEGIN "+t+" PRIVATE KEY-----\r\n",a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+o+"\r\n",a+="\r\n",(a+=u.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={},o=r(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(t,o[1]);var s=r(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=r(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=r(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(t,u[1]);var c=r(t,a[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(t,c[0]))throw"this only supports pkcs5PBKDF2";var h=r(t,c[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;i.pbkdf2Salt=n(t,h[0]);var l=n(t,h[1]);try{i.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return i},getPBKDF2KeyHexFromParam:function(t,e){var r=y.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,i=y.PBKDF2(e,r,{keySize:6,iterations:n});return y.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var r=Ct(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=Ht.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=y.enc.Hex.parse(n.ciphertext);var s=y.enc.Hex.parse(i),a=y.enc.Hex.parse(n.encryptionSchemeIV),u=y.TripleDES.decrypt(o,s,{iv:a});return y.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null};if("30"!=t.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var o=r(t,0);if(3!=o.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=t.substr(o[1],2))throw"malformed PKCS8 private key(code:003)";var s=r(t,o[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=t.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(i.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(i.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw"malformed PKCS8 private key(code:006)";return i.keyidx=e.getVidx(t,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=Ct(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,r=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==r.algoid)e=new it;else if("2a8648ce380401"==r.algoid)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";e=new ct.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,r=ft.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===r)e=new it;else if("2a8648ce380401"===r)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";e=new ct.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=r(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(t,o[1]),i},parsePublicPKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null},o=r(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=r(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?i.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(i.algparam={},i.algparam.p=e.getVbyList(t,a[1],[0],"02"),i.algparam.q=e.getVbyList(t,a[1],[1],"02"),i.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(t,o[1]).substr(2),i}}}();Ht.getKey=function(t,e,r){var n,i=(y=ft).getChildIdx,o=(y.getV,y.getVbyList),s=ct.crypto,a=s.ECDSA,u=s.DSA,c=it,h=Ct,l=Ht;if(void 0!==c&&t instanceof c)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==u&&t instanceof u)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new a({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new a({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(t.n,t.e),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(C=new c).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(C=new c).setPrivate(t.n,t.e,t.d),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(C=new u).setPublic(t.p,t.q,t.g,t.y),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(C=new u).setPrivate(t.p,t.q,t.g,t.y,t.x),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(St(t.n),St(t.e)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(C=new c).setPrivateEx(St(t.n),St(t.e),St(t.d),St(t.p),St(t.q),St(t.dp),St(t.dq),St(t.qi)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(C=new c).setPrivate(St(t.n),St(t.e),St(t.d)),C;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);return P.setPublicKeyHex(g),P}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);var d=("0000000000"+St(t.d)).slice(-f);return P.setPublicKeyHex(g),P.setPrivateKeyHex(d),P}if("pkcs5prv"===r){var p,v=t,y=ft;if(9===(p=i(v,0)).length)(C=new c).readPKCS5PrvKeyHex(v);else if(6===p.length)(C=new u).readPKCS5PrvKeyHex(v);else{if(!(p.length>2&&"04"===v.substr(p[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(C=new a).readPKCS5PrvKeyHex(v)}return C}if("pkcs8prv"===r)return l.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return l._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return Wt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Wt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var m=Ct(t,"PUBLIC KEY");return l._getKeyFromPublicPKCS8Hex(m)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=h(t,"RSA PRIVATE KEY");return l.getKey(_,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var S=o(n=h(t,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02");return(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED"))return _=h(t,"EC PRIVATE KEY"),l.getKey(_,null,"pkcs5prv");if(-1!=t.indexOf("-END PRIVATE KEY-"))return l.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var A=l.getDecryptedKeyHex(t,e),k=new it;return k.readPKCS5PrvKeyHex(A),k}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var P,C=o(n=l.getDecryptedKeyHex(t,e),0,[1],"04"),T=o(n,0,[2,0],"06"),R=o(n,0,[3,0],"03").substr(2);if(void 0===ct.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(P=new a({curve:ct.crypto.OID.oidhex2name[T]})).setPublicKeyHex(R),P.setPrivateKeyHex(C),P.isPublic=!1,P}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED"))return S=o(n=l.getDecryptedKeyHex(t,e),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02"),(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C;if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return l.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Ht.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new it).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new it,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new ct.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Ht.getPEM=function(t,e,r,n,i,o){var s=ct,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=it;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Pt(F=new l(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),w=m(t).getEncodedHex(),b="";return(b+=Pt(S,"EC PARAMETERS"))+Pt(w,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate)return F=m(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o);if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate)return F=_(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o);var E=function(t,e){var r=x(t,e);return new h({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},x=function(t,e){var r=y.lib.WordArray.random(8),n=y.lib.WordArray.random(8),i=y.PBKDF2(e,r,{keySize:6,iterations:100}),o=y.enc.Hex.parse(t),s=y.TripleDES.encrypt(o,i,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=y.enc.Hex.stringify(r),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=y.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();return F=h({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate)return A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate)return A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},Ht.getKeyFromCSRPEM=function(t){var e=Ct(t,"CERTIFICATE REQUEST");return Ht.getKeyFromCSRHex(e)},Ht.getKeyFromCSRHex=function(t){var e=Ht.parseCSRHex(t);return Ht.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Ht.parseCSRHex=function(t){var e=ft,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},Ht.getKeyID=function(t){var e=Ht,r=ft;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=Ct(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ct.crypto.Util.hashHex(o,"sha1")},Ht.getJWKFromKey=function(t){var e={};if(t instanceof it&&t.isPrivate)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e.d=_t(t.d.toString(16)),e.p=_t(t.p.toString(16)),e.q=_t(t.q.toString(16)),e.dp=_t(t.dmp1.toString(16)),e.dq=_t(t.dmq1.toString(16)),e.qi=_t(t.coeff.toString(16)),e;if(t instanceof it&&t.isPublic)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e;if(t instanceof ct.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e.d=_t(t.prvKeyHex),e}if(t instanceof ct.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;return r=t.getPublicKeyXYHex(),e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e}throw"not supported key object"},it.getPosArrayOfChildrenFromHex=function(t){return ft.getChildIdx(t,0)},it.getHexValueArrayOfChildrenFromHex=function(t){var e,r=ft.getV,n=r(t,(e=it.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},it.prototype.readPrivateKeyFromPEMString=function(t){var e=Ct(t),r=it.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},it.prototype.readPKCS5PrvKeyHex=function(t){var e=it.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},it.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=ft,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),r=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),i=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,o,s,a,u)},it.prototype.readPKCS5PubKeyHex=function(t){var e=ft,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},it.prototype.readPKCS8PubKeyHex=function(t){var e=ft;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},it.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new Wt).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var Kt=new RegExp("[^0-9a-f]","gi");function Vt(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Jt(t){for(var e in ct.crypto.Util.DIGESTINFOHEAD){var r=ct.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function Wt(t){var e,r=ft,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=Wt,v=Ct;try{e=ct.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Ht.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],"30"),i=new ct.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],"30"),o=n(a,e)}else{a=Ct(t);var u=h(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&-1!=l(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30"));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new et).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Ft(u(Et("\0\0\0\0\0\0\0\0"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function(t){return ct.crypto.Util.hashString(t,i)}(t)},it.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=rt(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==t)},it.prototype.verifyPSS=function(t,e,r,n){var i=function(t){return ct.crypto.Util.hashHex(t,r)}(Et(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},it.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function(t){return ct.crypto.Util.hashHex(t,r)},a=Ft(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-c&255;if(0!=(f.charCodeAt(0)&d))throw new Error("bits beyond keysize not zero");var p=qt(g,f.length,s),v=[];for(i=0;i0&&-1==(":"+n.join(":")+":").indexOf(":"+y+":"))throw"algorithm '"+y+"' not accepted in the list";if("none"!=y&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=Ht.getKey(e)),!("RS"!=g&&"PS"!=g||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==g&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[v.alg])throw"unsupported alg name: "+y;if("none"==(m=s.jwsalg2sigalg[y]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new h({alg:m,pass:e});return _.updateString(d),p==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,w=null;try{w=c.concatSigToASN1Sig(p)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(w)}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(p)},ct.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ct.jws.JWS.readSafeJSONString(lt(e)),o.payloadObj=ct.jws.JWS.readSafeJSONString(lt(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=lt(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=St(n)),o},ct.jws.JWS.verifyJWT=function(t,e,n){var i=ct.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),h=c[0],l=c[1],f=(St(c[2]),s(lt(h))),g=s(lt(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&"object"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&"object"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&"object"===r(n.aud))if("string"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if("object"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&"number"==typeof g.exp&&g.exp+n.gracePeriode.length&&(r=e.length);for(var n=0;n=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(t).length;default:if(n)return H(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return P(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return x(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);for(var r="",n=0;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),c=this.slice(n,i),h=t.slice(e,r),l=0;li)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":return w(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return F(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function P(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function L(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function N(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,n,o){return o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,o){return o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||D(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";e.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=c(t),s=n[0],a=n[1],u=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,a)),h=0,l=a>0?s-4:s;for(r=0;r>16&255,u[h++]=e>>8&255,u[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[h++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[h++]=e>>8&255,u[h++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;au?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function h(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.jws,r=t.KeyUtil,i=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){n.Log.debug("JoseUtil.parseJwt");try{var i=e.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(t){n.Log.error(t)}},t.validateJwt=function(e,o,s,u,c,h,l){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var f=a(o.x5c[0]);o=i.getPublicKeyFromCertHex(f)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return t._validateJwt(e,o,s,u,c,h,l)}catch(t){return n.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function(e,r,i,o,s,a){o||(o=0),s||(s=parseInt(Date.now()/1e3));var u=t.parseJwt(e).payload;if(!u.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(u.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",u.iss),Promise.reject(new Error("Invalid issuer in token: "+u.iss));if(!u.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(u.aud===i||Array.isArray(u.aud)&&u.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",u.aud),Promise.reject(new Error("Invalid audience in token: "+u.aud));if(u.azp&&u.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",u.azp),Promise.reject(new Error("Invalid azp in token: "+u.azp));if(!a){var c=s+o,h=s-o;if(!u.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(c1&&void 0!==arguments[1]?arguments[1]:"#";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:"expires_in",get:function(){if(this.expires_at){var t=parseInt(Date.now()/1e3);return this.expires_at-t}},set:function(t){var e=parseInt(t);if("number"==typeof e&&e>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var r=n.UrlUtility.parseUrlFragment(e,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var v=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return v._events=new u.UserManagerEvents(r),v._silentRenewService=new n(v),v.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),v.startSilentRenew()),v.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),v._sessionMonitor=new o(v)),v._tokenRevocationClient=new a(v._settings),v._tokenClient=new l(v._settings),v._joseUtil=p,v}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function(){var t=this;return this._loadUser().then((function(e){return e?(i.Log.info("UserManager.getUser: user loaded"),t._events.load(e,!1),e):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},e.prototype.removeUser=function(){var t=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),t._events.unload()}))},e.prototype.signinRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:r";var e={useReplaceToNavigate:t.useReplaceToNavigate};return this._signinStart(t,this._redirectNavigator,e).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},e.prototype.signinRedirectCallback=function(t){return this._signinEnd(t||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t}))},e.prototype.signinPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:p";var e=t.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.display="popup",this._signin(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function(t){return this._signinCallback(t,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e=Object.assign({},e),this._loadUser().then((function(r){return r&&r.refresh_token?(e.refresh_token=r.refresh_token,t._useRefreshToken(e)):(e.request_type="si:s",e.id_token_hint=e.id_token_hint||t.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&t._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),e.current_sub=r.profile.sub),t._signinSilentIframe(e))}))},e.prototype._useRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(e).then((function(e){return e?e.access_token?t._loadUser().then((function(r){if(r){var n=Promise.resolve();return e.id_token&&(n=t._validateIdTokenFromTokenRefreshToken(r.profile,e.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=e.id_token||r.id_token,r.access_token=e.access_token,r.refresh_token=e.refresh_token||r.refresh_token,r.expires_in=e.expires_in,t.storeUser(r).then((function(){return t._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function(t,e){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(e,n,r._settings.client_id,r._settings.clockSkew,o).then((function(e){return e?e.sub!==t.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):e.auth_time&&e.auth_time!==t.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):e.azp&&e.azp!==t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!e.azp&&t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},e.prototype._signinSilentIframe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.prompt=t.prompt||"none",this._signin(t,this._iframeNavigator,{startUrl:e,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function(t){return this._signinCallback(t,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t}))},e.prototype.signinCallback=function(t){var e=this;return this.readSigninResponseState(t).then((function(r){var n=r.state;return r.response,"si:r"===n.request_type?e.signinRedirectCallback(t):"si:p"===n.request_type?e.signinPopupCallback(t):"si:s"===n.request_type?e.signinSilentCallback(t):Promise.reject(new Error("invalid response_type in state"))}))},e.prototype.signoutCallback=function(t,e){var r=this;return this.readSignoutResponseState(t).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(t):"so:p"===i.request_type?r.signoutPopupCallback(t,e):Promise.reject(new Error("invalid response_type in state")):o}))},e.prototype.querySessionStatus=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:s";var r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt="none",e.response_type=e.response_type||this.settings.query_status_response_type,e.scope=e.scope||"openid",e.skipUserInfo=!0,this._signinStart(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return t.processSigninResponse(e.url).then((function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(e){if(e.session_state&&t.settings.monitorAnonymousSession&&("login_required"==e.message||"consent_required"==e.message||"interaction_required"==e.message||"account_selection_required"==e.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:e.session_state};throw e}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(t,e,n).then((function(e){return r._signinEnd(e.url,t)}))},e.prototype._signinStart=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.prepare(n).then((function(e){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(t).then((function(t){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=t.url,n.id=t.state.id,e.navigate(n)})).catch((function(t){throw e.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),e.close()),t}))}))},e.prototype._signinEnd=function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(t).then((function(t){i.Log.debug("UserManager._signinEnd: got signin response");var n=new a.User(t);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return e.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),e._events.load(n),n}))}))},e.prototype._signinCallback=function(t,e){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?"?":"#";return e.callback(t,void 0,r)},e.prototype.signoutRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:r";var e=t.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;e&&(t.post_logout_redirect_uri=e);var r={useReplaceToNavigate:t.useReplaceToNavigate};return this._signoutStart(t,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},e.prototype.signoutRedirectCallback=function(t){return this._signoutEnd(t||this._redirectNavigator.url).then((function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t}))},e.prototype.signoutPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:p";var e=t.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return t.post_logout_redirect_uri=e,t.display="popup",t.post_logout_redirect_uri&&(t.state=t.state||{}),this._signout(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},e.prototype.signoutPopupCallback=function(t,e){return void 0===e&&"boolean"==typeof t&&(e=t,t=null),this._popupNavigator.callback(t,e,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},e.prototype._signout=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(t,e,n).then((function(t){return r._signoutEnd(t.url)}))},e.prototype._signoutStart=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),e._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(e._settings.revokeAccessTokenOnSignout?e._revokeInternal(o):Promise.resolve()).then((function(){var s=t.id_token_hint||o&&o.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),t.id_token_hint=s),e.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),e.createSignoutRequest(t).then((function(t){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=t.url,t.state&&(r.id=t.state.id),n.navigate(r)}))}))}))})).catch((function(t){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),t}))}))},e.prototype._signoutEnd=function(t){return this.processSignoutResponse(t).then((function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t}))},e.prototype.revokeAccessToken=function(){var t=this;return this._loadUser().then((function(e){return t._revokeInternal(e,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),e.access_token=null,e.refresh_token=null,e.expires_at=null,e.token_type=null,t.storeUser(e).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),t._events.load(e)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},e.prototype._revokeInternal=function(t,e){var r=this;if(t){var n=t.access_token,o=t.refresh_token;return this._revokeAccessTokenInternal(n,e).then((function(t){return r._revokeRefreshTokenInternal(o,e).then((function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function(t,e){return!t||t.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(t,e).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function(t,e){return t?this._tokenRevocationClient.revoke(t,e,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},e.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},e.prototype.storeUser=function(t){if(t){i.Log.debug("UserManager.storeUser: storing user");var e=t.toStorageString();return this._userStore.set(this._userStoreKey,e)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,l=r.popupWindowFeatures,f=r.popupWindowTarget,g=r.silent_redirect_uri,d=r.silentRequestTimeout,p=r.automaticSilentRenew,v=void 0!==p&&p,y=r.validateSubOnSilentRenew,m=void 0!==y&&y,_=r.includeIdTokenInSilentRenew,S=void 0===_||_,w=r.monitorSession,b=void 0===w||w,F=r.monitorAnonymousSession,E=void 0!==F&&F,x=r.checkSessionInterval,A=void 0===x?2e3:x,k=r.stopCheckSessionOnError,P=void 0===k||k,C=r.query_status_response_type,T=r.revokeAccessTokenOnSignout,R=void 0!==T&&T,I=r.accessTokenExpiringNotificationTime,D=void 0===I?60:I,L=r.redirectNavigator,N=void 0===L?new o.RedirectNavigator:L,U=r.popupNavigator,O=void 0===U?new s.PopupNavigator:U,B=r.iframeNavigator,M=void 0===B?new a.IFrameNavigator:B,j=r.userStore,H=void 0===j?new u.WebStorageStateStore({store:c.Global.sessionStorage}):j;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var K=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));return K._popup_redirect_uri=n,K._popup_post_logout_redirect_uri=i,K._popupWindowFeatures=l,K._popupWindowTarget=f,K._silent_redirect_uri=g,K._silentRequestTimeout=d,K._automaticSilentRenew=v,K._validateSubOnSilentRenew=m,K._includeIdTokenInSilentRenew=S,K._accessTokenExpiringNotificationTime=D,K._monitorSession=b,K._monitorAnonymousSession=E,K._checkSessionInterval=A,K._stopCheckSessionOnError=P,C?K._query_status_response_type=C:arguments[0]&&arguments[0].response_type?K._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":K._query_status_response_type="id_token",K._revokeAccessTokenOnSignout=R,K._redirectNavigator=N,K._popupNavigator=O,K._iframeNavigator=M,K._userStore=H,K}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,e),r&&this._userLoaded.raise(e)},e.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function(t){this._userLoaded.addHandler(t)},e.prototype.removeUserLoaded=function(t){this._userLoaded.removeHandler(t)},e.prototype.addUserUnloaded=function(t){this._userUnloaded.addHandler(t)},e.prototype.removeUserUnloaded=function(t){this._userUnloaded.removeHandler(t)},e.prototype.addSilentRenewError=function(t){this._silentRenewError.addHandler(t)},e.prototype.removeSilentRenewError=function(t){this._silentRenewError.removeHandler(t)},e.prototype._raiseSilentRenewError=function(t){n.Log.debug("UserManagerEvents._raiseSilentRenewError",t.message),this._silentRenewError.raise(t)},e.prototype.addUserSignedIn=function(t){this._userSignedIn.addHandler(t)},e.prototype.removeUserSignedIn=function(t){this._userSignedIn.removeHandler(t)},e.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function(t){this._userSignedOut.addHandler(t)},e.prototype.removeUserSignedOut=function(t){this._userSignedOut.removeHandler(t)},e.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function(t){this._userSessionChanged.addHandler(t)},e.prototype.removeUserSessionChanged=function(t){this._userSessionChanged.removeHandler(t)},e.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var s=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function(t){t<=0&&(t=1),t=parseInt(t);var e=this.now+t;if(this.expiration===e&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",t),this._expiration=e;var r=5;t{"use strict";e.in=e.kO=e.Pd=void 0;const n=r(671);var i,o,s;!function(t){t.Success="Success",t.RequiresRedirect="RequiresRedirect"}(i=e.Pd||(e.Pd={})),function(t){t.Redirect="Redirect",t.Success="Success",t.Failure="Failure",t.OperationCompleted="OperationCompleted"}(o=e.kO||(e.kO={}));class a{constructor(t){this.debug=t.debugEnabled,this.trace=t.traceEnabled}log(t,e){if(t==s.Trace&&this.trace||t==s.Debug&&this.debug){const r=t==s.Trace?"trce":"dbug";console.debug(`${r}: Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService[0]\n ${e}`)}}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug"}(s=e.in||(e.in={}));class u{constructor(t,e){this._userManager=t,this._logger=e}async trySilentSignIn(){return this._intialSilentSignIn||(this._intialSilentSignIn=(async()=>{try{this.debug("Beginning initial silent sign in."),await this._userManager.signinSilent(),this.debug("Initial silent sign in succeeded.")}catch(t){t instanceof Error&&this.debug(`Initial silent sign in failed '${t.message}'`)}})()),this._intialSilentSignIn}async getUser(){window.parent!==window||window.opener||window.frameElement||!this._userManager.settings.redirect_uri||location.href.startsWith(this._userManager.settings.redirect_uri)||await this.trySilentSignIn();const t=await this._userManager.getUser();return t&&t.profile}async getAccessToken(t){this.trace("getAccessToken",t);const e=await this._userManager.getUser();if(function(t){return!(!t||!t.access_token||t.expired||!t.scopes)}(e)&&function(t,e){const r=new Set(e);if(t&&t.scopes)for(const e of t.scopes)if(!r.has(e))return!1;return!0}(t,e.scopes))return this.debug(`Valid access token present expiring at '${r(e.expires_in).toISOString()}'`),{status:i.Success,token:{grantedScopes:e.scopes,expires:r(e.expires_in),value:e.access_token}};try{const e=t&&t.scopes?{scope:t.scopes.join(" ")}:void 0;this.debug(`Provisioning a token silently for scopes '${null==e?void 0:e.scope}'`),this.trace("userManager.signinSilent",e);const n=await this._userManager.signinSilent(e);this.debug(`Provisioned an access token expiring at '${r(n.expires_in).toISOString()}'`);const o={status:i.Success,token:{grantedScopes:n.scopes,expires:r(n.expires_in),value:n.access_token}};return this.trace("getAccessToken-result",o),o}catch(t){return t instanceof Error&&this.debug(`Failed to provision a token silently '${t.message}'`),{status:i.RequiresRedirect}}function r(t){const e=new Date;return e.setTime(e.getTime()+1e3*t),e}}async signIn(t){if(this.trace("signIn",t),t.interactiveRequest)return this.debug("Interactive sign in starting."),this.signInInteractive(t);try{return this.debug("Silent sign in starting"),await this._userManager.clearStaleState(),await this._userManager.signinSilent(this.createArguments(void 0,t.interactiveRequest)),this.debug("Silent sign in succeeded"),this.success(t.state)}catch(e){return e instanceof Error&&this.debug(`Silent sign in failed, redirecting to the identity provider '${e.message}'.`),await this.signInInteractive(t)}}async signInInteractive(t){this.trace("signInInteractive",t);try{return await this._userManager.clearStaleState(),await this._userManager.signinRedirect(this.createArguments(t.state,t.interactiveRequest)),this.debug("Redirect sign in succeeded"),this.redirect()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Redirect sign in failed '${e}'.`),this.error(e)}}async completeSignIn(t){this.trace("completeSignIn",t);const e=await this.loginRequired(t),r=await this.stateExists(t);try{const e=await this._userManager.signinCallback(t);return window.self!==window.top?this.operationCompleted():(this.trace("completeSignIn-result",e),this.success(e&&e.state))}catch(t){return e||window.self!==window.top||!r?this.operationCompleted():this.error("There was an error signing in.")}}async signOut(t){this.trace("signOut",t);try{return await this._userManager.metadataService.getEndSessionEndpoint()?(await this._userManager.signoutRedirect(this.createArguments(t.state,t.interactiveRequest)),this.redirect()):(await this._userManager.removeUser(),this.success(t.state))}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Sign out error '${e}'.`),this.error(e)}}async completeSignOut(t){this.trace("completeSignOut",t);try{if(await this.stateExists(t)){const e=await this._userManager.signoutCallback(t);return this.success(e&&e.state)}return this.operationCompleted()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Complete sign out error '${e}'`),this.error(e)}}getExceptionMessage(t){return function(t){return t&&t.error_description}(t)?t.error_description:function(t){return t&&t.message}(t)?t.message:t.toString()}async stateExists(t){const e=new URLSearchParams(new URL(t).search).get("state");return e&&this._userManager.settings.stateStore?await this._userManager.settings.stateStore.get(e):void 0}async loginRequired(t){const e=new URLSearchParams(new URL(t).search).get("error");return!(!e||!this._userManager.settings.stateStore)&&"login_required"===await this._userManager.settings.stateStore.get(e)}createArguments(t,e){return{useReplaceToNavigate:!0,data:t,scope:(null==e?void 0:e.scopes)?e.scopes.join(" "):void 0,...null==e?void 0:e.additionalRequestParameters}}error(t){return{status:o.Failure,errorMessage:t}}success(t){return{status:o.Success,state:t}}redirect(){return{status:o.Redirect}}operationCompleted(){return{status:o.OperationCompleted}}debug(t){var e;null===(e=this._logger)||void 0===e||e.log(s.Debug,t)}trace(t,e){var r;null===(r=this._logger)||void 0===r||r.log(s.Trace,`${t}: ${JSON.stringify(e)}`)}}class c{static init(t,e){return c._initialized||(c._initialized=c.initializeCore(t,new a(e))),c._initialized}static handleCallback(){return c.initializeCore()}static async initializeCore(t,e){const r=t||c.resolveCachedSettings(),n=c.resolveCachedLoggerOptions(),i=e||n&&new a(n);if(!t&&r&&!e&&i){const t=c.createUserManagerCore(r);window.parent!==window&&!window.opener&&window.frameElement&&t.settings.redirect_uri&&location.href.startsWith(t.settings.redirect_uri)&&(c.instance=new u(t,i),c._initialized=(async()=>{await c.instance.completeSignIn(location.href)})())}else if(t&&e){const r=await c.createUserManager(t);c.instance=new u(r,e),window.sessionStorage.setItem(`${c._infrastructureKey}.CachedJSLoggingOptions`,JSON.stringify({debugEnabled:e.debug,traceEnabled:e.trace}))}}static resolveCachedSettings(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedAuthSettings`);return t?JSON.parse(t):void 0}static resolveCachedLoggerOptions(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedJSLoggingOptions`);return t?JSON.parse(t):void 0}static getUser(){return c.instance.getUser()}static getAccessToken(t){return c.instance.getAccessToken(t)}static signIn(t){return c.instance.signIn(t)}static async completeSignIn(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignIn(t),await e,delete this._pendingOperations[t]),e}static signOut(t){return c.instance.signOut(t)}static async completeSignOut(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignOut(t),await e,delete this._pendingOperations[t]),e}static async createUserManager(t){let e;if(function(t){return t.hasOwnProperty("configurationEndpoint")}(t)){const r=await fetch(t.configurationEndpoint);if(!r.ok)throw new Error(`Could not load settings from '${t.configurationEndpoint}'`);e=await r.json()}else t.scope||(t.scope=t.defaultScopes.join(" ")),null===t.response_type&&delete t.response_type,e=t;return window.sessionStorage.setItem(`${c._infrastructureKey}.CachedAuthSettings`,JSON.stringify(e)),c.createUserManagerCore(e)}static createUserManagerCore(t){const e=new n.UserManager(t);return e.events.addUserSignedOut((async()=>{e.removeUser()})),e}}c._infrastructureKey="Microsoft.AspNetCore.Components.WebAssembly.Authentication",c._pendingOperations={},c.handleCallback(),window.AuthenticationService=c}},e={},function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}(981); - -var abp=abp||{};(function(){abp.utils=abp.utils||{};abp.domReady=function(n){document.readyState==="complete"||document.readyState==="interactive"?setTimeout(n,1):document.addEventListener("DOMContentLoaded",n)};abp.utils.setCookieValue=function(n,t,i,r,u){var f=encodeURIComponent(n)+"=";t&&(f=f+encodeURIComponent(t));i&&(f=f+"; expires="+i);r&&(f=f+"; path="+r);u&&(f=f+"; secure");document.cookie=f};abp.utils.getCookieValue=function(n){for(var i,r=document.cookie.split("; "),t=0;t=4){for(var t=arguments.length,e=Array(t),r=0;r=3){for(var t=arguments.length,e=Array(t),r=0;r=2){for(var t=arguments.length,e=Array(t),r=0;r=1){for(var t=arguments.length,e=Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function(){var t=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(e){i.Log.debug("MetadataService.getMetadata: json received");var r=t._settings.metadataSeed||{};return t._settings.metadata=Object.assign({},r,e),t._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",t)},t.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+t),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[t]){if(!0===e)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+t);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+t),new Error("Metadata does not contain property "+t)}return r[t]}))},t.prototype.getSigningKeys=function(){var t=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(e){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",e),t._jsonService.getJson(e).then((function(e){if(i.Log.debug("MetadataService.getSigningKeys: key set received",e),!e.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return t._settings.signingKeys=e.keys,t._settings.signingKeys}))}))},n(t,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(s)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=s))),this._metadataUrl}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function(t,e,r){return t.indexOf("?")<0&&(t+="?"),"?"!==t[t.length-1]&&(t+="&"),t+=encodeURIComponent(e),(t+="=")+encodeURIComponent(r)},t.parseUrlFragment=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof t&&(t=r.location.href);var o=t.lastIndexOf(e);o>=0&&(t=t.substr(o+1)),"?"===e&&(o=t.indexOf("#"))>=0&&(t=t.substr(0,o));for(var s,a={},u=/([^&=]+)=([^&]*)/g,c=0;s=u.exec(t);)if(a[decodeURIComponent(s[1])]=decodeURIComponent(s[2].replace(/\+/g," ")),c++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",t),{error:"Response exceeded expected number of parameters"};for(var h in a)return a;return{}},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,h=e.signingKeys,d=e.metadataSeed,p=e.client_id,v=e.client_secret,y=e.response_type,m=void 0===y?l:y,_=e.scope,S=void 0===_?f:_,w=e.redirect_uri,b=e.post_logout_redirect_uri,F=e.client_authentication,E=void 0===F?g:F,x=e.prompt,A=e.display,k=e.max_age,P=e.ui_locales,C=e.acr_values,T=e.resource,R=e.response_mode,I=e.filterProtocolClaims,D=void 0===I||I,L=e.loadUserInfo,N=void 0===L||L,U=e.staleStateAge,O=void 0===U?900:U,B=e.clockSkew,M=void 0===B?300:B,j=e.clockService,H=void 0===j?new s.ClockService:j,K=e.userInfoJwtIssuer,V=void 0===K?"OP":K,q=e.mergeClaims,J=void 0!==q&&q,W=e.stateStore,z=void 0===W?new a.WebStorageStateStore:W,Y=e.ResponseValidatorCtor,G=void 0===Y?u.ResponseValidator:Y,$=e.MetadataServiceCtor,X=void 0===$?c.MetadataService:$,Q=e.extraQueryParams,Z=void 0===Q?{}:Q,tt=e.extraTokenParams,et=void 0===tt?{}:tt;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=d,this._signingKeys=h,this._client_id=p,this._client_secret=v,this._response_type=m,this._scope=S,this._redirect_uri=w,this._post_logout_redirect_uri=b,this._client_authentication=E,this._prompt=x,this._display=A,this._max_age=k,this._ui_locales=P,this._acr_values=C,this._resource=T,this._response_mode=R,this._filterProtocolClaims=!!D,this._loadUserInfo=!!N,this._staleStateAge=O,this._clockSkew=M,this._clockService=H,this._userInfoJwtIssuer=V,this._mergeClaims=!!J,this._stateStore=z,this._validator=new G(this),this._metadataService=new X(this),this._extraQueryParams="object"===(void 0===Z?"undefined":n(Z))?Z:{},this._extraTokenParams="object"===(void 0===et?"undefined":n(et))?et:{}}return t.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(t,[{key:"client_id",get:function(){return this._client_id},set:function(t){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=t}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(t){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=t}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(h)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=h)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(t){this._metadata=t}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(t){this._metadataSeed=t}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(t){this._signingKeys=t}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraQueryParams=t:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraTokenParams=t:this._extraTokenParams={}}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,o=e.store,s=void 0===o?i.Global.localStorage:o;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._store=s,this._prefix=n}return t.prototype.set=function(t,e){return n.Log.debug("WebStorageStateStore.set",t),t=this._prefix+t,this._store.setItem(t,e),Promise.resolve()},t.prototype.get=function(t){n.Log.debug("WebStorageStateStore.get",t),t=this._prefix+t;var e=this._store.getItem(t);return Promise.resolve(e)},t.prototype.remove=function(t){n.Log.debug("WebStorageStateStore.remove",t),t=this._prefix+t;var e=this._store.getItem(t);return this._store.removeItem(t),Promise.resolve(e)},t.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var t=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function(t,e){var r=this;if(!t)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",t),new Promise((function(i,o){var s=new r._XMLHttpRequest;s.open("GET",t);var a=r._contentTypes,u=r._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var e=s.getResponseHeader("Content-Type");if(e){var r=a.find((function(t){if(e.startsWith(t))return!0}));if("application/jwt"==r)return void u(s).then(i,o);if(r)try{return void i(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+e+", from URL: "+t))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},e&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+e)),s.send()}))},t.prototype.postForm=function(t,e,r){var i=this;if(!t)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",t),new Promise((function(o,s){var a=new i._XMLHttpRequest;a.open("POST",t);var u=i._contentTypes;a.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",a.status),200!==a.status){if(400===a.status&&(r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{var e=JSON.parse(a.responseText);if(e&&e.error)return n.Log.error("JsonService.postForm: Error from server: ",e.error),void s(new Error(e.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error(a.statusText+" ("+a.status+")"))}else{var r;if((r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{return void o(JSON.parse(a.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error("Invalid response Content-Type: "+r+", from URL: "+t))}},a.onerror=function(){n.Log.error("JsonService.postForm: network error"),s(Error("Network Error"))};var c="";for(var h in e){var l=e[h];l&&(c.length>0&&(c+="&"),c+=encodeURIComponent(h),c+="=",c+=encodeURIComponent(l))}a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&a.setRequestHeader("Authorization","Basic "+btoa(r)),a.send(c)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,w=e.request,b=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!h)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var P=t.isOidc(u),C=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:P,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:C,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),P&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),C&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var T={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:w,request_uri:b,response_mode:S};for(var R in T)T[R]&&(r=i.UrlUtility.addQueryParam(r,R,T[R]));for(var I in F)r=i.UrlUtility.addQueryParam(r,I,F[I]);this.url=r}return t.isOidc=function(t){return!!t.split(/\s+/g).filter((function(t){return"id_token"===t}))[0]},t.isOAuth=function(t){return!!t.split(/\s+/g).filter((function(t){return"token"===t}))[0]},t.isCode=function(t){return!!t.split(/\s+/g).filter((function(t){return"code"===t}))[0]},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function(e){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(e))},t.clearStaleState=function(e,r){var n=Date.now()/1e3-r;return e.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],s=function(s){var a=r[s];u=e.get(a).then((function(r){var o=!1;if(r)try{var s=t.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",a,s.created),s.created<=n&&(o=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",a,t.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",a),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",a),e.remove(a)})),o.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.response_type,n=e.scope,o=e.redirect_uri,s=e.data,u=e.state,c=e.prompt,h=e.display,l=e.max_age,f=e.ui_locales,g=e.id_token_hint,d=e.login_hint,p=e.acr_values,v=e.resource,y=e.request,m=e.request_uri,_=e.response_mode,S=e.extraQueryParams,w=e.extraTokenParams,b=e.request_type,F=e.skipUserInfo,E=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var x=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,c=c||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,f=f||this._settings.ui_locales,p=p||this._settings.acr_values,v=v||this._settings.resource,_=_||this._settings.response_mode,S=S||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var A=this._settings.authority;return a.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(e){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",e);var k=new a.SigninRequest({url:e,client_id:x,redirect_uri:o,response_type:r,scope:n,data:s||u,authority:A,prompt:c,display:h,max_age:l,ui_locales:f,id_token_hint:g,login_hint:d,acr_values:p,resource:v,request:y,request_uri:m,extraQueryParams:S,extraTokenParams:w,request_type:b,response_mode:_,client_secret:t._settings.client_secret,skipUserInfo:F}),P=k.state;return(E=E||t._stateStore).set(P.id,P.toStorageString()).then((function(){return k}))}))},t.prototype.readSigninResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new u.SigninResponse(t,n);return o.state?(e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o.state).then((function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.SigninState.fromStorageString(t),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},t.prototype.processSigninResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(e,n)}))},t.prototype.createSignoutRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.id_token_hint,n=e.data,o=e.state,s=e.post_logout_redirect_uri,a=e.extraQueryParams,u=e.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),s=s||this._settings.post_logout_redirect_uri,a=a||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(e){if(!e)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",e);var l=new c.SignoutRequest({url:e,id_token_hint:r,post_logout_redirect_uri:s,data:n||o,extraQueryParams:a,request_type:u}),f=l.state;return f&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||t._stateStore).set(f.id,f.toStorageString())),l}))},t.prototype.readSignoutResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new h.SignoutResponse(t);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new s.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o).then((function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:f.State.fromStorageString(t),response:n}}))},t.prototype.processSignoutResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(e,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},t.prototype.clearStaleState=function(t){return i.Log.debug("OidcClient.clearStaleState"),t=t||this._stateStore,f.State.clearStaleState(t,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new s(this._settings)}return t.prototype.exchangeCode=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"authorization_code",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret,e.redirect_uri=e.redirect_uri||this._settings.redirect_uri;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.code?e.redirect_uri?e.code_verifier?e.client_id?e.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"refresh_token",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.refresh_token?e.client_id?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(0);e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,s=r.error_uri,a=r.state,u=r.session_state;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var c=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,o||i));return c.name="ErrorResponse",c.error=i,c.error_description=o,c.error_uri=s,c.state=a,c.session_state=u,c}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,c=r.code_verifier,h=r.response_mode,l=r.client_secret,f=r.scope,g=r.extraTokenParams,d=r.skipUserInfo;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var p=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));if(!0===n?p._nonce=(0,a.default)():n&&(p._nonce=n),!0===c?p._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():c&&(p._code_verifier=c),p.code_verifier){var v=s.JoseUtil.hashString(p.code_verifier,"SHA256");p._code_challenge=s.JoseUtil.hexToBase64Url(v)}return p._redirect_uri=u,p._authority=i,p._client_id=o,p._response_mode=h,p._client_secret=l,p._scope=f,p._extraTokenParams=g,p._skipUserInfo=d,p}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function(t){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(t))},n(e,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^n.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=e.accessTokenExpiringTimer,s=void 0===o?new i.Timer("Access token expiring"):o,a=e.accessTokenExpiredTimer,u=void 0===a?new i.Timer("Access token expired"):a;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=s,this._accessTokenExpired=u}return t.prototype.load=function(t){if(t.access_token&&void 0!==t.expires_in){var e=t.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",e),e>0){var r=e-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=e+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function(t){this._accessTokenExpiring.addHandler(t)},t.prototype.removeAccessTokenExpiring=function(t){this._accessTokenExpiring.removeHandler(t)},t.prototype.addAccessTokenExpired=function(t){this._accessTokenExpired.addHandler(t)},t.prototype.removeAccessTokenExpired=function(t){this._accessTokenExpired.removeHandler(t)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function(t){this._callbacks.push(t)},t.prototype.removeHandler=function(t){var e=this._callbacks.findIndex((function(e){return e===t}));e>=0&&this._callbacks.splice(e,1)},t.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=a,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)}))})).catch((function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})))}return t.prototype._start=function(t){var e=this,r=t.session_state;r&&(t.profile?(this._sub=t.profile.sub,this._sid=t.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=e._client_id,o=e._checkSessionInterval,s=e._stopCheckSessionOnError;e._checkSessionIFrame=new e._CheckSessionIFrameCtor(e._callback.bind(e),n,t,o,s),e._checkSessionIFrame.load().then((function(){e._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)})))},t.prototype._stop=function(){var t=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var e=this._timer.setInterval((function(){t._timer.clearInterval(e),t._userManager.querySessionStatus().then((function(e){var r={session_state:e.session_state};e.sub&&e.sid&&(r.profile={sub:e.sub,sid:e.sid}),t._start(r)})).catch((function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)}))}),1e3)},t.prototype._callback=function(){var t=this;this._userManager.querySessionStatus().then((function(e){var r=!0;e?e.sub===t._sub?(r=!1,t._checkSessionIFrame.start(e.session_state),e.sid===t._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",e.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",e.session_state),t._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",e.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(t._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),t._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),t._userManager.events._raiseUserSignedIn()))})).catch((function(e){t._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",e.message),t._userManager.events._raiseUserSignedOut())}))},n(t,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);e.CheckSessionIFrame=function(){function t(e,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var s=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,s),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function(){var t=this;return new Promise((function(e){t._frame.onload=function(){e()},window.document.body.appendChild(t._frame),t._boundMessageEvent=t._message.bind(t),window.addEventListener("message",t._boundMessageEvent,!1)}))},t.prototype._message=function(t){t.origin===this._frame_origin&&t.source===this._frame.contentWindow&&("error"===t.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===t.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+t.data+" message from check session op iframe"))},t.prototype.start=function(t){var e=this;if(this._session_state!==t){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=t;var r=function(){e._frame.contentWindow.postMessage(e._client_id+" "+e._session_state,e._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},t.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1),s="access_token",a="refresh_token";e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new s(this._settings)}return t.prototype.revoke=function(t,e){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!t)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if(i!==s&&i!=a)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var s=r._settings.client_id,a=r._settings.client_secret;return r._revoke(o,s,a,t,i)}if(e)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},t.prototype._revoke=function(t,e,r,i,o){var s=this;return new Promise((function(a,u){var c=new s._XMLHttpRequestCtor;c.open("POST",t),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?a():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var h="client_id="+encodeURIComponent(e);r&&(h+="&client_secret="+encodeURIComponent(r)),h+="&token_type_hint="+encodeURIComponent(o),h+="&token="+encodeURIComponent(i),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(h)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new h(this._settings)}return t.prototype.validateSigninResponse=function(t,e){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(t,e).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t}))}))}))},t.prototype.validateSignoutResponse=function(t,e){return t.id!==e.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):Promise.resolve(e))},t.prototype._processSigninParams=function(t,e){if(t.id!==e.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!t.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!t.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==t.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=t.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==t.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=t.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):t.nonce&&!e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!t.nonce&&e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):t.code_verifier&&!e.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!t.code_verifier&&e.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(e.scope||(e.scope=t.scope),Promise.resolve(e))},t.prototype._processClaims=function(t,e){var r=this;if(e.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),e.profile=this._filterProtocolClaims(e.profile),!0!==t.skipUserInfo&&this._settings.loadUserInfo&&e.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(e.access_token).then((function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==e.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(e.profile=r._mergeClaims(e.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",e.profile),e)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(e)},t.prototype._mergeClaims=function(t,e){var r=Object.assign({},t);for(var i in e){var o=e[i];Array.isArray(o)||(o=[o]);for(var s=0;s1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function(t){var e=this;return this._getSigningKeyForJwt(t).then((function(r){return r?Promise.resolve(r):(e._metadataService.resetSigningKeys(),e._getSigningKeyForJwt(t))}))},t.prototype._validateIdToken=function(t,e){var r=this;if(!t.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(e.id_token);return n&&n.header&&n.payload?t.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(s){if(!s)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var a=t.client_id,u=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(e.id_token,s,o,a,u).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(e.profile=n.payload,e):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",e),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,t.length),t},t.prototype._validateAccessToken=function(t){if(!t.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!t.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!t.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var e=this._joseUtil.parseJwt(t.id_token);if(!e||!e.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",e),Promise.reject(new Error("Failed to parse id_token"));var r=e.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,s=this._joseUtil.hashString(t.access_token,o);if(!s)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var a=s.substr(0,s.length/2),u=this._joseUtil.hexToBase64Url(a);return u!==t.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",u,t.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(t))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new a(this._settings),this._joseUtil=u}return t.prototype.getClaims=function(t){var e=this;return t?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),e._jsonService.getJson(r,t).then((function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",e),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,t.length),t},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={};if(void 0===o)var o={};o.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var i=function(){};if(i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var o;for(o in r)t.prototype[o]=r[o];var s=function(){},a=["toString","valueOf"];try{/MSIE/.test(n.userAgent)&&(s=function(t,e){for(o=0;o>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=s.ceil(e/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new h.init(r,e/2)}},g=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new h.init(r,e)}},d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(g.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return g.parse(unescape(encodeURIComponent(t)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,r=e.words,n=e.sigBytes,i=this.blockSize,o=n/(4*i),a=(o=t?s.ceil(o):s.max((0|o)-this._minBufferSize,0))*i,u=s.min(4*a,n);if(a){for(var c=0;c>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;4>s&&i+.75*s>>6*(3-s)&63));if(e=n.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var r=t.length,n=this._map;(i=n.charAt(64))&&-1!=(i=t.indexOf(i))&&(r=i);for(var i=[],o=0,s=0;s>>6-s%4*2;i[o>>>2]|=(a|u)<<24-o%4*8,o++}return e.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function(t){return 4294967296*(t-(0|t))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],u=r[4],c=r[5],h=r[6],l=r[7],f=0;64>f;f++){if(16>f)g[f]=0|t[e+f];else{var d=g[f-15],p=g[f-2];g[f]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+g[f-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[f-16]}d=l+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&h)+s[f]+g[f],p=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),l=h,h=c,c=u,u=a+d|0,a=o,o=i,i=n,n=d+p|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+h|0,r[7]=r[7]+l|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=(l=this._hash.words)[0],n=l[1],i=l[2],o=l[3],u=l[4],c=l[5],h=l[6],l=l[7],f=r.high,g=r.low,d=n.high,p=n.low,v=i.high,y=i.low,m=o.high,_=o.low,S=u.high,w=u.low,b=c.high,F=c.low,E=h.high,x=h.low,A=l.high,k=l.low,P=f,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,O=w,B=b,M=F,j=E,H=x,K=A,V=k,q=0;80>q;q++){var J=a[q];if(16>q)var W=J.high=0|t[e+2*q],z=J.low=0|t[e+2*q+1];else{W=((z=(W=a[q-15]).high)>>>1|(Y=W.low)<<31)^(z>>>8|Y<<24)^z>>>7;var Y=(Y>>>1|z<<31)^(Y>>>8|z<<24)^(Y>>>7|z<<25),G=((z=(G=a[q-2]).high)>>>19|($=G.low)<<13)^(z<<3|$>>>29)^z>>>6,$=($>>>19|z<<13)^($<<3|z>>>29)^($>>>6|z<<26),X=(z=a[q-7]).high,Q=(Z=a[q-16]).high,Z=Z.low;W=(W=(W=W+X+((z=Y+z.low)>>>0>>0?1:0))+G+((z+=$)>>>0<$>>>0?1:0))+Q+((z+=Z)>>>0>>0?1:0),J.high=W,J.low=z}X=U&B^~U&j,Z=O&M^~O&H,J=P&T^P&I^T&I;var tt=C&R^C&D^R&D,et=(Y=(P>>>28|C<<4)^(P<<30|C>>>2)^(P<<25|C>>>7),G=(C>>>28|P<<4)^(C<<30|P>>>2)^(C<<25|P>>>7),($=s[q]).high),rt=$.low;Q=K+((U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9))+(($=V+((O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9)))>>>0>>0?1:0),K=j,V=H,j=B,H=M,B=U,M=O,U=L+(Q=(Q=(Q=Q+X+(($+=Z)>>>0>>0?1:0))+et+(($+=rt)>>>0>>0?1:0))+W+(($+=z)>>>0>>0?1:0))+((O=N+$|0)>>>0>>0?1:0)|0,L=I,N=D,I=T,D=R,T=P,R=C,P=Q+(J=Y+J+((z=G+tt)>>>0>>0?1:0))+((C=$+z|0)>>>0<$>>>0?1:0)|0}g=r.low=g+C,r.high=f+P+(g>>>0>>0?1:0),p=n.low=p+R,n.high=d+T+(p>>>0>>0?1:0),y=i.low=y+D,i.high=v+I+(y>>>0>>0?1:0),_=o.low=_+N,o.high=m+L+(_>>>0>>0?1:0),w=u.low=w+O,u.high=S+U+(w>>>0>>0?1:0),F=c.low=F+M,c.high=b+B+(F>>>0>>0?1:0),x=h.low=x+H,h.high=E+j+(x>>>0>>0?1:0),k=l.low=k+V,l.high=A+K+(k>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}();var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function S(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function w(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=P(r<<2|n>>4),r=15&n,o=2):2==o?(i+=P(r),i+=P(n>>2),r=3&n,o=3):(i+=P(r<<2|n>>4),i+=P(15&n),o=0));return 1==o&&(i+=P(r<<2)),i}function b(t){var e,r=w(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(F.prototype.am=function(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function I(t){this.m=t}function D(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function M(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function j(){}function H(t){return t}function K(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}I.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},I.prototype.revert=function(t){return t},I.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},I.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},I.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},D.prototype.convert=function(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},D.prototype.revert=function(t){var e=E();return t.copyTo(e),this.reduce(e),e},D.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},D.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},D.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:C(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=R(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=P(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=P(r));return i?o:"0"},F.prototype.negate=function(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function(){return this.s<0?this.negate():this},F.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+R(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new I(e):new D(e),this.exp(t,r)},F.ZERO=T(0),F.ONE=T(1),j.prototype.convert=H,j.prototype.revert=H,j.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},j.prototype.sqrTo=function(t,e){t.squareTo(e)},K.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},K.prototype.revert=function(t){return t},K.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},K.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},K.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var V,q,J,W=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=(1<<26)/W[W.length-1];function Y(){this.i=0,this.j=0,this.S=new Array}function G(){!function(t){q[J++]^=255&t,q[J++]^=t>>8&255,q[J++]^=t>>16&255,q[J++]^=t>>24&255,J>=256&&(J-=256)}((new Date).getTime())}if(F.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=T(r),i=E(),o=E(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),N,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>W.length&&(t=W.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function(t){return 0==this.compareTo(t)},F.prototype.min=function(t){return this.compareTo(t)<0?this:t},F.prototype.max=function(t){return this.compareTo(t)>0?this:t},F.prototype.and=function(t){var e=E();return this.bitwiseTo(t,L,e),e},F.prototype.or=function(t){var e=E();return this.bitwiseTo(t,N,e),e},F.prototype.xor=function(t){var e=E();return this.bitwiseTo(t,U,e),e},F.prototype.andNot=function(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.not=function(){for(var t=E(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=R(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;0==(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&0==(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function(t){return this.exp(t,new j)},F.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=W[W.length-1]){for(e=0;e>>8,q[J++]=255&$;J=0,G()}function tt(){if(null==V){for(G(),(V=new Y).init(q),J=0;J>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function it(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ot(t,e){this.x=e,this.q=t}function st(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function at(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new st(this,null,null)}et.prototype.nextBytes=function(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=rt(t,16),this.e=parseInt(e,16)}},it.prototype.encrypt=function(t){var e=function(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new et,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var r=this.doPublic(e);if(null==r)return null;var n=r.toString(16);return 0==(1&n.length)?n:"0"+n},it.prototype.encryptOAEP=function(t,e,r){var n=function(t,e,r,n){var i=ct.crypto.MessageDigest,o=ct.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function(t){return Ft(o.hashHex(Et(t),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 0==(1&o.length)?o:"0"+o},it.prototype.type="RSA",ot.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},ot.prototype.toBigInteger=function(){return this.x},ot.prototype.negate=function(){return new ot(this.q,this.x.negate().mod(this.q))},ot.prototype.add=function(t){return new ot(this.q,this.x.add(t.toBigInteger()).mod(this.q))},ot.prototype.subtract=function(t){return new ot(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},ot.prototype.multiply=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},ot.prototype.square=function(){return new ot(this.q,this.x.square().mod(this.q))},ot.prototype.divide=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},st.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.equals=function(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},st.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},st.prototype.negate=function(){return new st(this.curve,this.x,this.y.negate(),this.z)},st.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},st.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},st.prototype.multiply=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F("3")),u=new st(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},st.prototype.multiplyTwo=function(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},at.prototype.getQ=function(){return this.q},at.prototype.getA=function(){return this.a},at.prototype.getB=function(){return this.b},at.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},at.prototype.getInfinity=function(){return this.infinity},at.prototype.fromBigInteger=function(t){return new ot(this.q,t)},at.prototype.decodePointHex=function(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new st(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)))}},ot.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},st.prototype.getEncoded=function(t){var e=function(t,e){var r=t.toByteArrayUnsigned();if(er.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},st.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},st.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},st.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},st.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var ut=function(){var t=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),e=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),n={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(""),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;"{"===l?u={}:"["===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({"":u},"")),u}}();void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.asn1&&ct.asn1||(ct.asn1={}),ct.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},ct.asn1.DERAbstractString=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=wt(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(ct.asn1.DERAbstractString,ct.asn1.ASN1Object),ct.asn1.DERAbstractTime=function(t){ct.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=vt(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(ct.asn1.DERAbstractTime,ct.asn1.ASN1Object),ct.asn1.DERAbstractStructured=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(ct.asn1.DERAbstractStructured,ct.asn1.ASN1Object),ct.asn1.DERBoolean=function(t){ct.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},o.lang.extend(ct.asn1.DERBoolean,ct.asn1.ASN1Object),ct.asn1.DERInteger=function(t){ct.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=ct.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(ct.asn1.DERInteger,ct.asn1.ASN1Object),ct.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=ct.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}ct.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function Ut(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Nt(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Ot(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}ft.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},ft.getNthChildIdx=function(t,e,r){return ft.getChildIdx(t,e)[r]},ft.getIdxbyList=function(t,e,r,n){var i,o,s=ft;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},ft.getIdxbyListEx=function(t,e,r,n){var i,o,s=ft;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},ft.getTLVbyListEx=function(t,e,r,n){var i=ft,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},ft.getVbyList=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},ft.getVbyListEx=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},ft.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=ft.getV(t,e);return"02"==n?parseInt(i,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},ft.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function(t){if(!Bt(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+"."+a.join(".")),c}catch(t){return null}}(ft.getV(t,e))}catch(t){return r}},ft.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=ft.getOID(t,e,r);if(n==r)return r;var i=ct.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},ft.getString=function(t,e,r){null==r&&(r=null);try{return Ft(ft.getV(t,e))}catch(t){return r}},ft.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+"."+u.join(".")),h},ft.dump=function(t,e,r,n){var i=ft,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof ct.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var h,l=e.ommit_long_octet;if("01"==(h=u.substr(r,2)))return"00"==(f=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==h)return n+"INTEGER "+c(f=o(u,r),l)+"\n";if("03"==h){var f=o(u,r);return i.isASN1HEX(f.substr(2))?(w=n+"BITSTRING, encapsulates\n")+s(f.substr(2),e,0,n+" "):n+"BITSTRING "+c(f,l)+"\n"}if("04"==h)return f=o(u,r),i.isASN1HEX(f)?(w=n+"OCTETSTRING, encapsulates\n")+s(f,e,0,n+" "):n+"OCTETSTRING "+c(f,l)+"\n";if("05"==h)return n+"NULL\n";if("06"==h){var g=o(u,r),d=ct.asn1.ASN1Util.oidHexToInt(g),p=ct.asn1.x509.OID.oid2name(d),v=d.replace(/\./g," ");return""!=p?n+"ObjectIdentifier "+p+" ("+v+")\n":n+"ObjectIdentifier ("+v+")\n"}if("0a"==h)return n+"ENUMERATED "+parseInt(o(u,r))+"\n";if("0c"==h)return n+"UTF8String '"+bt(o(u,r))+"'\n";if("13"==h)return n+"PrintableString '"+bt(o(u,r))+"'\n";if("14"==h)return n+"TeletexString '"+bt(o(u,r))+"'\n";if("16"==h)return n+"IA5String '"+bt(o(u,r))+"'\n";if("17"==h)return n+"UTCTime "+bt(o(u,r))+"\n";if("18"==h)return n+"GeneralizedTime "+bt(o(u,r))+"\n";if("1a"==h)return n+"VisualString '"+bt(o(u,r))+"'\n";if("1e"==h)return n+"BMPString '"+bt(o(u,r))+"'\n";if("30"==h){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var y=e;if((2==(S=a(u,r)).length||3==S.length)&&"06"==u.substr(S[0],2)&&"04"==u.substr(S[S.length-1],2)){p=i.oidname(o(u,S[0]));var m=JSON.parse(JSON.stringify(e));m.x509ExtName=p,y=m}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(t){return!1}},ft.isASN1HEX=function(t){var e=ft;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},ft.checkStrictDER=function(t,e,r,n,i){var o=ft;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!ct.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error("V string length and L's value not the same:"+u+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var c=t.substr(e,2);if("02"===c){var h=o.getVidx(t,e);if("00"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=e?t:new Array(e-t.length+1).join(r)+t};void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="0001",s="00"+n,a="",u=i-o.length-s.length,c=0;c=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error("not ASN.1 hex string");var e,r,n;try{e=c(t,0,["[0]",0],"06"),r=c(t,0,[1],"04");try{n=c(t,0,["[1]",0],"03")}catch(t){}}catch(t){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n,i;try{c(t,0,[1,0],"06"),r=c(t,0,[1,1],"06"),n=c(t,0,[2,0,1],"04");try{i=c(t,0,[2,0,"[1]",0],"03")}catch(t){}}catch(t){throw new e("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n;try{c(t,0,[0,0],"06"),r=c(t,0,[0,1],"06"),n=c(t,0,[1],"03")}catch(t){throw new e("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e("not ASN.1 hex string");var n,i;try{n=c(t,0,[0,5,0,1],"06"),i=c(t,0,[0,5,1],"03")}catch(t){throw new e("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},ct.crypto.ECDSA.parseSigHex=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},ct.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=ft,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),"30"!=t.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(t,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=t.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:n(t,o),s:n(t,s)}},ct.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ct.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return ct.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},ct.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return ct.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ct.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=ct.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ct.crypto.ECDSA.getName=function(t){return"2b8104001f"===t?"secp192k1":"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040021"===t?"secp224r1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(t)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new at(p,v,y),w=S.decodePointHex("04"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=w,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var b=0;b=2*a)break}var l={};return l.keyhex=u.substr(0,2*i[t].keylen),l.ivhex=u.substr(2*i[t].keylen,2*i[t].ivlen),l},a=function(t,e,r,n){var o=y.enc.Base64.parse(t),s=y.enc.Hex.stringify(o);return(0,i[e].proc)(s,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(t){return o(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,r){return s(t,e,r)},decryptKeyB64:function(t,e,r,n){return a(t,e,r,n)},getDecryptedKeyHex:function(t,e){var r=o(t),n=(r.type,r.cipher),i=r.ivsalt,u=r.data,c=s(n,e,i).keyhex;return a(u,n,c,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,r,n,o){var a="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==o&&null!=o||(o=function(t){var e=y.lib.WordArray.random(t);return y.enc.Hex.stringify(e)}(i[n].ivlen).toUpperCase());var u=function(t,e,r,n){return(0,i[e].eproc)(t,r,n)}(e,n,s(n,r,o).keyhex,o);return a="-----BEGIN "+t+" PRIVATE KEY-----\r\n",a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+o+"\r\n",a+="\r\n",(a+=u.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={},o=r(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(t,o[1]);var s=r(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=r(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=r(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(t,u[1]);var c=r(t,a[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(t,c[0]))throw"this only supports pkcs5PBKDF2";var h=r(t,c[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;i.pbkdf2Salt=n(t,h[0]);var l=n(t,h[1]);try{i.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return i},getPBKDF2KeyHexFromParam:function(t,e){var r=y.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,i=y.PBKDF2(e,r,{keySize:6,iterations:n});return y.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var r=Ct(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=Ht.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=y.enc.Hex.parse(n.ciphertext);var s=y.enc.Hex.parse(i),a=y.enc.Hex.parse(n.encryptionSchemeIV),u=y.TripleDES.decrypt(o,s,{iv:a});return y.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null};if("30"!=t.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var o=r(t,0);if(3!=o.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=t.substr(o[1],2))throw"malformed PKCS8 private key(code:003)";var s=r(t,o[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=t.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(i.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(i.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw"malformed PKCS8 private key(code:006)";return i.keyidx=e.getVidx(t,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=Ct(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,r=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==r.algoid)e=new it;else if("2a8648ce380401"==r.algoid)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";e=new ct.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,r=ft.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===r)e=new it;else if("2a8648ce380401"===r)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";e=new ct.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=r(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(t,o[1]),i},parsePublicPKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null},o=r(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=r(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?i.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(i.algparam={},i.algparam.p=e.getVbyList(t,a[1],[0],"02"),i.algparam.q=e.getVbyList(t,a[1],[1],"02"),i.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(t,o[1]).substr(2),i}}}();Ht.getKey=function(t,e,r){var n,i=(y=ft).getChildIdx,o=(y.getV,y.getVbyList),s=ct.crypto,a=s.ECDSA,u=s.DSA,c=it,h=Ct,l=Ht;if(void 0!==c&&t instanceof c)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==u&&t instanceof u)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new a({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new a({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(t.n,t.e),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(C=new c).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(C=new c).setPrivate(t.n,t.e,t.d),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(C=new u).setPublic(t.p,t.q,t.g,t.y),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(C=new u).setPrivate(t.p,t.q,t.g,t.y,t.x),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(St(t.n),St(t.e)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(C=new c).setPrivateEx(St(t.n),St(t.e),St(t.d),St(t.p),St(t.q),St(t.dp),St(t.dq),St(t.qi)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(C=new c).setPrivate(St(t.n),St(t.e),St(t.d)),C;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);return P.setPublicKeyHex(g),P}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);var d=("0000000000"+St(t.d)).slice(-f);return P.setPublicKeyHex(g),P.setPrivateKeyHex(d),P}if("pkcs5prv"===r){var p,v=t,y=ft;if(9===(p=i(v,0)).length)(C=new c).readPKCS5PrvKeyHex(v);else if(6===p.length)(C=new u).readPKCS5PrvKeyHex(v);else{if(!(p.length>2&&"04"===v.substr(p[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(C=new a).readPKCS5PrvKeyHex(v)}return C}if("pkcs8prv"===r)return l.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return l._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return Wt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Wt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var m=Ct(t,"PUBLIC KEY");return l._getKeyFromPublicPKCS8Hex(m)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=h(t,"RSA PRIVATE KEY");return l.getKey(_,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var S=o(n=h(t,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02");return(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED"))return _=h(t,"EC PRIVATE KEY"),l.getKey(_,null,"pkcs5prv");if(-1!=t.indexOf("-END PRIVATE KEY-"))return l.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var A=l.getDecryptedKeyHex(t,e),k=new it;return k.readPKCS5PrvKeyHex(A),k}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var P,C=o(n=l.getDecryptedKeyHex(t,e),0,[1],"04"),T=o(n,0,[2,0],"06"),R=o(n,0,[3,0],"03").substr(2);if(void 0===ct.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(P=new a({curve:ct.crypto.OID.oidhex2name[T]})).setPublicKeyHex(R),P.setPrivateKeyHex(C),P.isPublic=!1,P}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED"))return S=o(n=l.getDecryptedKeyHex(t,e),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02"),(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C;if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return l.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Ht.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new it).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new it,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new ct.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Ht.getPEM=function(t,e,r,n,i,o){var s=ct,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=it;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Pt(F=new l(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),w=m(t).getEncodedHex(),b="";return(b+=Pt(S,"EC PARAMETERS"))+Pt(w,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate)return F=m(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o);if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate)return F=_(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o);var E=function(t,e){var r=x(t,e);return new h({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},x=function(t,e){var r=y.lib.WordArray.random(8),n=y.lib.WordArray.random(8),i=y.PBKDF2(e,r,{keySize:6,iterations:100}),o=y.enc.Hex.parse(t),s=y.TripleDES.encrypt(o,i,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=y.enc.Hex.stringify(r),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=y.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();return F=h({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate)return A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate)return A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},Ht.getKeyFromCSRPEM=function(t){var e=Ct(t,"CERTIFICATE REQUEST");return Ht.getKeyFromCSRHex(e)},Ht.getKeyFromCSRHex=function(t){var e=Ht.parseCSRHex(t);return Ht.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Ht.parseCSRHex=function(t){var e=ft,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},Ht.getKeyID=function(t){var e=Ht,r=ft;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=Ct(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ct.crypto.Util.hashHex(o,"sha1")},Ht.getJWKFromKey=function(t){var e={};if(t instanceof it&&t.isPrivate)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e.d=_t(t.d.toString(16)),e.p=_t(t.p.toString(16)),e.q=_t(t.q.toString(16)),e.dp=_t(t.dmp1.toString(16)),e.dq=_t(t.dmq1.toString(16)),e.qi=_t(t.coeff.toString(16)),e;if(t instanceof it&&t.isPublic)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e;if(t instanceof ct.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e.d=_t(t.prvKeyHex),e}if(t instanceof ct.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;return r=t.getPublicKeyXYHex(),e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e}throw"not supported key object"},it.getPosArrayOfChildrenFromHex=function(t){return ft.getChildIdx(t,0)},it.getHexValueArrayOfChildrenFromHex=function(t){var e,r=ft.getV,n=r(t,(e=it.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},it.prototype.readPrivateKeyFromPEMString=function(t){var e=Ct(t),r=it.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},it.prototype.readPKCS5PrvKeyHex=function(t){var e=it.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},it.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=ft,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),r=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),i=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,o,s,a,u)},it.prototype.readPKCS5PubKeyHex=function(t){var e=ft,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},it.prototype.readPKCS8PubKeyHex=function(t){var e=ft;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},it.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new Wt).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var Kt=new RegExp("[^0-9a-f]","gi");function Vt(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Jt(t){for(var e in ct.crypto.Util.DIGESTINFOHEAD){var r=ct.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function Wt(t){var e,r=ft,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=Wt,v=Ct;try{e=ct.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Ht.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],"30"),i=new ct.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],"30"),o=n(a,e)}else{a=Ct(t);var u=h(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&-1!=l(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30"));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new et).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Ft(u(Et("\0\0\0\0\0\0\0\0"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function(t){return ct.crypto.Util.hashString(t,i)}(t)},it.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=rt(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==t)},it.prototype.verifyPSS=function(t,e,r,n){var i=function(t){return ct.crypto.Util.hashHex(t,r)}(Et(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},it.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function(t){return ct.crypto.Util.hashHex(t,r)},a=Ft(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-c&255;if(0!=(f.charCodeAt(0)&d))throw new Error("bits beyond keysize not zero");var p=qt(g,f.length,s),v=[];for(i=0;i0&&-1==(":"+n.join(":")+":").indexOf(":"+y+":"))throw"algorithm '"+y+"' not accepted in the list";if("none"!=y&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=Ht.getKey(e)),!("RS"!=g&&"PS"!=g||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==g&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[v.alg])throw"unsupported alg name: "+y;if("none"==(m=s.jwsalg2sigalg[y]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new h({alg:m,pass:e});return _.updateString(d),p==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,w=null;try{w=c.concatSigToASN1Sig(p)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(w)}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(p)},ct.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ct.jws.JWS.readSafeJSONString(lt(e)),o.payloadObj=ct.jws.JWS.readSafeJSONString(lt(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=lt(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=St(n)),o},ct.jws.JWS.verifyJWT=function(t,e,n){var i=ct.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),h=c[0],l=c[1],f=(St(c[2]),s(lt(h))),g=s(lt(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&"object"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&"object"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&"object"===r(n.aud))if("string"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if("object"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&"number"==typeof g.exp&&g.exp+n.gracePeriode.length&&(r=e.length);for(var n=0;n=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(t).length;default:if(n)return H(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return P(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return x(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);for(var r="",n=0;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),c=this.slice(n,i),h=t.slice(e,r),l=0;li)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":return w(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return F(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function P(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function L(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function N(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,n,o){return o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,o){return o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||D(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";e.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=c(t),s=n[0],a=n[1],u=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,a)),h=0,l=a>0?s-4:s;for(r=0;r>16&255,u[h++]=e>>8&255,u[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[h++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[h++]=e>>8&255,u[h++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;au?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function h(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.jws,r=t.KeyUtil,i=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){n.Log.debug("JoseUtil.parseJwt");try{var i=e.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(t){n.Log.error(t)}},t.validateJwt=function(e,o,s,u,c,h,l){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var f=a(o.x5c[0]);o=i.getPublicKeyFromCertHex(f)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return t._validateJwt(e,o,s,u,c,h,l)}catch(t){return n.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function(e,r,i,o,s,a){o||(o=0),s||(s=parseInt(Date.now()/1e3));var u=t.parseJwt(e).payload;if(!u.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(u.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",u.iss),Promise.reject(new Error("Invalid issuer in token: "+u.iss));if(!u.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(u.aud===i||Array.isArray(u.aud)&&u.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",u.aud),Promise.reject(new Error("Invalid audience in token: "+u.aud));if(u.azp&&u.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",u.azp),Promise.reject(new Error("Invalid azp in token: "+u.azp));if(!a){var c=s+o,h=s-o;if(!u.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(c1&&void 0!==arguments[1]?arguments[1]:"#";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:"expires_in",get:function(){if(this.expires_at){var t=parseInt(Date.now()/1e3);return this.expires_at-t}},set:function(t){var e=parseInt(t);if("number"==typeof e&&e>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var r=n.UrlUtility.parseUrlFragment(e,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var v=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return v._events=new u.UserManagerEvents(r),v._silentRenewService=new n(v),v.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),v.startSilentRenew()),v.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),v._sessionMonitor=new o(v)),v._tokenRevocationClient=new a(v._settings),v._tokenClient=new l(v._settings),v._joseUtil=p,v}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function(){var t=this;return this._loadUser().then((function(e){return e?(i.Log.info("UserManager.getUser: user loaded"),t._events.load(e,!1),e):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},e.prototype.removeUser=function(){var t=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),t._events.unload()}))},e.prototype.signinRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:r";var e={useReplaceToNavigate:t.useReplaceToNavigate};return this._signinStart(t,this._redirectNavigator,e).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},e.prototype.signinRedirectCallback=function(t){return this._signinEnd(t||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t}))},e.prototype.signinPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:p";var e=t.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.display="popup",this._signin(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function(t){return this._signinCallback(t,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e=Object.assign({},e),this._loadUser().then((function(r){return r&&r.refresh_token?(e.refresh_token=r.refresh_token,t._useRefreshToken(e)):(e.request_type="si:s",e.id_token_hint=e.id_token_hint||t.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&t._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),e.current_sub=r.profile.sub),t._signinSilentIframe(e))}))},e.prototype._useRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(e).then((function(e){return e?e.access_token?t._loadUser().then((function(r){if(r){var n=Promise.resolve();return e.id_token&&(n=t._validateIdTokenFromTokenRefreshToken(r.profile,e.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=e.id_token||r.id_token,r.access_token=e.access_token,r.refresh_token=e.refresh_token||r.refresh_token,r.expires_in=e.expires_in,t.storeUser(r).then((function(){return t._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function(t,e){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(e,n,r._settings.client_id,r._settings.clockSkew,o).then((function(e){return e?e.sub!==t.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):e.auth_time&&e.auth_time!==t.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):e.azp&&e.azp!==t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!e.azp&&t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},e.prototype._signinSilentIframe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.prompt=t.prompt||"none",this._signin(t,this._iframeNavigator,{startUrl:e,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function(t){return this._signinCallback(t,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t}))},e.prototype.signinCallback=function(t){var e=this;return this.readSigninResponseState(t).then((function(r){var n=r.state;return r.response,"si:r"===n.request_type?e.signinRedirectCallback(t):"si:p"===n.request_type?e.signinPopupCallback(t):"si:s"===n.request_type?e.signinSilentCallback(t):Promise.reject(new Error("invalid response_type in state"))}))},e.prototype.signoutCallback=function(t,e){var r=this;return this.readSignoutResponseState(t).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(t):"so:p"===i.request_type?r.signoutPopupCallback(t,e):Promise.reject(new Error("invalid response_type in state")):o}))},e.prototype.querySessionStatus=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:s";var r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt="none",e.response_type=e.response_type||this.settings.query_status_response_type,e.scope=e.scope||"openid",e.skipUserInfo=!0,this._signinStart(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return t.processSigninResponse(e.url).then((function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(e){if(e.session_state&&t.settings.monitorAnonymousSession&&("login_required"==e.message||"consent_required"==e.message||"interaction_required"==e.message||"account_selection_required"==e.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:e.session_state};throw e}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(t,e,n).then((function(e){return r._signinEnd(e.url,t)}))},e.prototype._signinStart=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.prepare(n).then((function(e){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(t).then((function(t){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=t.url,n.id=t.state.id,e.navigate(n)})).catch((function(t){throw e.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),e.close()),t}))}))},e.prototype._signinEnd=function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(t).then((function(t){i.Log.debug("UserManager._signinEnd: got signin response");var n=new a.User(t);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return e.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),e._events.load(n),n}))}))},e.prototype._signinCallback=function(t,e){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?"?":"#";return e.callback(t,void 0,r)},e.prototype.signoutRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:r";var e=t.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;e&&(t.post_logout_redirect_uri=e);var r={useReplaceToNavigate:t.useReplaceToNavigate};return this._signoutStart(t,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},e.prototype.signoutRedirectCallback=function(t){return this._signoutEnd(t||this._redirectNavigator.url).then((function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t}))},e.prototype.signoutPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:p";var e=t.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return t.post_logout_redirect_uri=e,t.display="popup",t.post_logout_redirect_uri&&(t.state=t.state||{}),this._signout(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},e.prototype.signoutPopupCallback=function(t,e){return void 0===e&&"boolean"==typeof t&&(e=t,t=null),this._popupNavigator.callback(t,e,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},e.prototype._signout=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(t,e,n).then((function(t){return r._signoutEnd(t.url)}))},e.prototype._signoutStart=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),e._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(e._settings.revokeAccessTokenOnSignout?e._revokeInternal(o):Promise.resolve()).then((function(){var s=t.id_token_hint||o&&o.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),t.id_token_hint=s),e.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),e.createSignoutRequest(t).then((function(t){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=t.url,t.state&&(r.id=t.state.id),n.navigate(r)}))}))}))})).catch((function(t){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),t}))}))},e.prototype._signoutEnd=function(t){return this.processSignoutResponse(t).then((function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t}))},e.prototype.revokeAccessToken=function(){var t=this;return this._loadUser().then((function(e){return t._revokeInternal(e,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),e.access_token=null,e.refresh_token=null,e.expires_at=null,e.token_type=null,t.storeUser(e).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),t._events.load(e)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},e.prototype._revokeInternal=function(t,e){var r=this;if(t){var n=t.access_token,o=t.refresh_token;return this._revokeAccessTokenInternal(n,e).then((function(t){return r._revokeRefreshTokenInternal(o,e).then((function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function(t,e){return!t||t.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(t,e).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function(t,e){return t?this._tokenRevocationClient.revoke(t,e,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},e.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},e.prototype.storeUser=function(t){if(t){i.Log.debug("UserManager.storeUser: storing user");var e=t.toStorageString();return this._userStore.set(this._userStoreKey,e)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,l=r.popupWindowFeatures,f=r.popupWindowTarget,g=r.silent_redirect_uri,d=r.silentRequestTimeout,p=r.automaticSilentRenew,v=void 0!==p&&p,y=r.validateSubOnSilentRenew,m=void 0!==y&&y,_=r.includeIdTokenInSilentRenew,S=void 0===_||_,w=r.monitorSession,b=void 0===w||w,F=r.monitorAnonymousSession,E=void 0!==F&&F,x=r.checkSessionInterval,A=void 0===x?2e3:x,k=r.stopCheckSessionOnError,P=void 0===k||k,C=r.query_status_response_type,T=r.revokeAccessTokenOnSignout,R=void 0!==T&&T,I=r.accessTokenExpiringNotificationTime,D=void 0===I?60:I,L=r.redirectNavigator,N=void 0===L?new o.RedirectNavigator:L,U=r.popupNavigator,O=void 0===U?new s.PopupNavigator:U,B=r.iframeNavigator,M=void 0===B?new a.IFrameNavigator:B,j=r.userStore,H=void 0===j?new u.WebStorageStateStore({store:c.Global.sessionStorage}):j;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var K=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));return K._popup_redirect_uri=n,K._popup_post_logout_redirect_uri=i,K._popupWindowFeatures=l,K._popupWindowTarget=f,K._silent_redirect_uri=g,K._silentRequestTimeout=d,K._automaticSilentRenew=v,K._validateSubOnSilentRenew=m,K._includeIdTokenInSilentRenew=S,K._accessTokenExpiringNotificationTime=D,K._monitorSession=b,K._monitorAnonymousSession=E,K._checkSessionInterval=A,K._stopCheckSessionOnError=P,C?K._query_status_response_type=C:arguments[0]&&arguments[0].response_type?K._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":K._query_status_response_type="id_token",K._revokeAccessTokenOnSignout=R,K._redirectNavigator=N,K._popupNavigator=O,K._iframeNavigator=M,K._userStore=H,K}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,e),r&&this._userLoaded.raise(e)},e.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function(t){this._userLoaded.addHandler(t)},e.prototype.removeUserLoaded=function(t){this._userLoaded.removeHandler(t)},e.prototype.addUserUnloaded=function(t){this._userUnloaded.addHandler(t)},e.prototype.removeUserUnloaded=function(t){this._userUnloaded.removeHandler(t)},e.prototype.addSilentRenewError=function(t){this._silentRenewError.addHandler(t)},e.prototype.removeSilentRenewError=function(t){this._silentRenewError.removeHandler(t)},e.prototype._raiseSilentRenewError=function(t){n.Log.debug("UserManagerEvents._raiseSilentRenewError",t.message),this._silentRenewError.raise(t)},e.prototype.addUserSignedIn=function(t){this._userSignedIn.addHandler(t)},e.prototype.removeUserSignedIn=function(t){this._userSignedIn.removeHandler(t)},e.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function(t){this._userSignedOut.addHandler(t)},e.prototype.removeUserSignedOut=function(t){this._userSignedOut.removeHandler(t)},e.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function(t){this._userSessionChanged.addHandler(t)},e.prototype.removeUserSessionChanged=function(t){this._userSessionChanged.removeHandler(t)},e.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var s=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function(t){t<=0&&(t=1),t=parseInt(t);var e=this.now+t;if(this.expiration===e&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",t),this._expiration=e;var r=5;t{"use strict";e.in=e.kO=e.Pd=void 0;const n=r(671);var i,o,s;!function(t){t.Success="Success",t.RequiresRedirect="RequiresRedirect"}(i=e.Pd||(e.Pd={})),function(t){t.Redirect="Redirect",t.Success="Success",t.Failure="Failure",t.OperationCompleted="OperationCompleted"}(o=e.kO||(e.kO={}));class a{constructor(t){this.debug=t.debugEnabled,this.trace=t.traceEnabled}log(t,e){if(t==s.Trace&&this.trace||t==s.Debug&&this.debug){const r=t==s.Trace?"trce":"dbug";console.debug(`${r}: Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService[0]\n ${e}`)}}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug"}(s=e.in||(e.in={}));class u{constructor(t,e){this._userManager=t,this._logger=e}async trySilentSignIn(){return this._intialSilentSignIn||(this._intialSilentSignIn=(async()=>{try{this.debug("Beginning initial silent sign in."),await this._userManager.signinSilent(),this.debug("Initial silent sign in succeeded.")}catch(t){t instanceof Error&&this.debug(`Initial silent sign in failed '${t.message}'`)}})()),this._intialSilentSignIn}async getUser(){window.parent!==window||window.opener||window.frameElement||!this._userManager.settings.redirect_uri||location.href.startsWith(this._userManager.settings.redirect_uri)||await this.trySilentSignIn();const t=await this._userManager.getUser();return t&&t.profile}async getAccessToken(t){this.trace("getAccessToken",t);const e=await this._userManager.getUser();if(function(t){return!(!t||!t.access_token||t.expired||!t.scopes)}(e)&&function(t,e){const r=new Set(e);if(t&&t.scopes)for(const e of t.scopes)if(!r.has(e))return!1;return!0}(t,e.scopes))return this.debug(`Valid access token present expiring at '${r(e.expires_in).toISOString()}'`),{status:i.Success,token:{grantedScopes:e.scopes,expires:r(e.expires_in),value:e.access_token}};try{const e=t&&t.scopes?{scope:t.scopes.join(" ")}:void 0;this.debug(`Provisioning a token silently for scopes '${null==e?void 0:e.scope}'`),this.trace("userManager.signinSilent",e);const n=await this._userManager.signinSilent(e);this.debug(`Provisioned an access token expiring at '${r(n.expires_in).toISOString()}'`);const o={status:i.Success,token:{grantedScopes:n.scopes,expires:r(n.expires_in),value:n.access_token}};return this.trace("getAccessToken-result",o),o}catch(t){return t instanceof Error&&this.debug(`Failed to provision a token silently '${t.message}'`),{status:i.RequiresRedirect}}function r(t){const e=new Date;return e.setTime(e.getTime()+1e3*t),e}}async signIn(t){if(this.trace("signIn",t),t.interactiveRequest)return this.debug("Interactive sign in starting."),this.signInInteractive(t);try{return this.debug("Silent sign in starting"),await this._userManager.clearStaleState(),await this._userManager.signinSilent(this.createArguments(void 0,t.interactiveRequest)),this.debug("Silent sign in succeeded"),this.success(t.state)}catch(e){return e instanceof Error&&this.debug(`Silent sign in failed, redirecting to the identity provider '${e.message}'.`),await this.signInInteractive(t)}}async signInInteractive(t){this.trace("signInInteractive",t);try{return await this._userManager.clearStaleState(),await this._userManager.signinRedirect(this.createArguments(t.state,t.interactiveRequest)),this.debug("Redirect sign in succeeded"),this.redirect()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Redirect sign in failed '${e}'.`),this.error(e)}}async completeSignIn(t){this.trace("completeSignIn",t);const e=await this.loginRequired(t),r=await this.stateExists(t);try{const e=await this._userManager.signinCallback(t);return window.self!==window.top?this.operationCompleted():(this.trace("completeSignIn-result",e),this.success(e&&e.state))}catch(t){return e||window.self!==window.top||!r?this.operationCompleted():this.error("There was an error signing in.")}}async signOut(t){this.trace("signOut",t);try{return await this._userManager.metadataService.getEndSessionEndpoint()?(await this._userManager.signoutRedirect(this.createArguments(t.state,t.interactiveRequest)),this.redirect()):(await this._userManager.removeUser(),this.success(t.state))}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Sign out error '${e}'.`),this.error(e)}}async completeSignOut(t){this.trace("completeSignOut",t);try{if(await this.stateExists(t)){const e=await this._userManager.signoutCallback(t);return this.success(e&&e.state)}return this.operationCompleted()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Complete sign out error '${e}'`),this.error(e)}}getExceptionMessage(t){return function(t){return t&&t.error_description}(t)?t.error_description:function(t){return t&&t.message}(t)?t.message:t.toString()}async stateExists(t){const e=new URLSearchParams(new URL(t).search).get("state");return e&&this._userManager.settings.stateStore?await this._userManager.settings.stateStore.get(e):void 0}async loginRequired(t){const e=new URLSearchParams(new URL(t).search).get("error");return!(!e||!this._userManager.settings.stateStore)&&"login_required"===await this._userManager.settings.stateStore.get(e)}createArguments(t,e){return{useReplaceToNavigate:!0,data:t,scope:(null==e?void 0:e.scopes)?e.scopes.join(" "):void 0,...null==e?void 0:e.additionalRequestParameters}}error(t){return{status:o.Failure,errorMessage:t}}success(t){return{status:o.Success,state:t}}redirect(){return{status:o.Redirect}}operationCompleted(){return{status:o.OperationCompleted}}debug(t){var e;null===(e=this._logger)||void 0===e||e.log(s.Debug,t)}trace(t,e){var r;null===(r=this._logger)||void 0===r||r.log(s.Trace,`${t}: ${JSON.stringify(e)}`)}}class c{static init(t,e){return c._initialized||(c._initialized=c.initializeCore(t,new a(e))),c._initialized}static handleCallback(){return c.initializeCore()}static async initializeCore(t,e){const r=t||c.resolveCachedSettings(),n=c.resolveCachedLoggerOptions(),i=e||n&&new a(n);if(!t&&r&&!e&&i){const t=c.createUserManagerCore(r);window.parent!==window&&!window.opener&&window.frameElement&&t.settings.redirect_uri&&location.href.startsWith(t.settings.redirect_uri)&&(c.instance=new u(t,i),c._initialized=(async()=>{await c.instance.completeSignIn(location.href)})())}else if(t&&e){const r=await c.createUserManager(t);c.instance=new u(r,e),window.sessionStorage.setItem(`${c._infrastructureKey}.CachedJSLoggingOptions`,JSON.stringify({debugEnabled:e.debug,traceEnabled:e.trace}))}}static resolveCachedSettings(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedAuthSettings`);return t?JSON.parse(t):void 0}static resolveCachedLoggerOptions(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedJSLoggingOptions`);return t?JSON.parse(t):void 0}static getUser(){return c.instance.getUser()}static getAccessToken(t){return c.instance.getAccessToken(t)}static signIn(t){return c.instance.signIn(t)}static async completeSignIn(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignIn(t),await e,delete this._pendingOperations[t]),e}static signOut(t){return c.instance.signOut(t)}static async completeSignOut(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignOut(t),await e,delete this._pendingOperations[t]),e}static async createUserManager(t){let e;if(function(t){return t.hasOwnProperty("configurationEndpoint")}(t)){const r=await fetch(t.configurationEndpoint);if(!r.ok)throw new Error(`Could not load settings from '${t.configurationEndpoint}'`);e=await r.json()}else t.scope||(t.scope=t.defaultScopes.join(" ")),null===t.response_type&&delete t.response_type,e=t;return window.sessionStorage.setItem(`${c._infrastructureKey}.CachedAuthSettings`,JSON.stringify(e)),c.createUserManagerCore(e)}static createUserManagerCore(t){const e=new n.UserManager(t);return e.events.addUserSignedOut((async()=>{e.removeUser()})),e}}c._infrastructureKey="Microsoft.AspNetCore.Components.WebAssembly.Authentication",c._pendingOperations={},c.handleCallback(),window.AuthenticationService=c}},e={},function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}(981); + +var abp=abp||{};(function(){abp.utils=abp.utils||{};abp.domReady=function(n){document.readyState==="complete"||document.readyState==="interactive"?setTimeout(n,1):document.addEventListener("DOMContentLoaded",n)};abp.utils.setCookieValue=function(n,t,i,r,u){var f=encodeURIComponent(n)+"=";t&&(f=f+encodeURIComponent(t));i&&(f=f+"; expires="+i);r&&(f=f+"; path="+r);u&&(f=f+"; secure");document.cookie=f};abp.utils.getCookieValue=function(n){for(var i,r=document.cookie.split("; "),t=0;tfunction(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return n.call(this,t)};r?r=n(r):i=n(i)}const[e,o,s]=ce(t,i,r),c=se(n),l=c[s]||(c[s]={}),h=he(l,o,e?i:null);if(h){h.oneOff=h.oneOff&&u;return}const a=oe(o,t.replace(hl,"")),f=e?pl(n,i,r):yl(n,i);f.delegationSelector=e?i:null;f.originalHandler=o;f.oneOff=u;f.uidEvent=a;l[a]=f;n.addEventListener(s,f,e)}}function hu(n,t,i,r,u){const f=he(t[i],r,u);f&&(n.removeEventListener(i,f,Boolean(u)),delete t[i][f.uidEvent])}function wl(n,t,i,r){const u=t[i]||{};Object.keys(u).forEach(f=>{if(f.includes(r)){const r=u[f];hu(n,t,i,r.originalHandler,r.delegationSelector)}})}function ae(n){return n=n.replace(cl,""),al[n]||n}function pe(n){return n==="true"?!0:n==="false"?!1:n===Number(n).toString()?Number(n):n===""||n==="null"?null:n}function cu(n){return n.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}function w(n){return n?(n.nodeName||"").toLowerCase():null}function y(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var t=n.ownerDocument;return t?t.defaultView||window:window}return n}function yi(n){var t=y(n).Element;return n instanceof t||n instanceof Element}function c(n){var t=y(n).HTMLElement;return n instanceof t||n instanceof HTMLElement}function wo(n){if(typeof ShadowRoot=="undefined")return!1;var t=y(n).ShadowRoot;return n instanceof t||n instanceof ShadowRoot}function oy(n){var t=n.state;Object.keys(t.elements).forEach(function(n){var u=t.styles[n]||{},r=t.attributes[n]||{},i=t.elements[n];c(i)&&w(i)&&(Object.assign(i.style,u),Object.keys(r).forEach(function(n){var t=r[n];t===!1?i.removeAttribute(n):i.setAttribute(n,t===!0?"":t)}))})}function sy(n){var t=n.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],u=t.attributes[n]||{},f=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]),e=f.reduce(function(n,t){return n[t]="",n},{});c(r)&&w(r)&&(Object.assign(r.style,e),Object.keys(u).forEach(function(n){r.removeAttribute(n)}))})}}function b(n){return n.split("-")[0]}function ri(n){var t=n.getBoundingClientRect(),i=1,r=1;return{width:t.width/i,height:t.height/r,top:t.top/r,right:t.right/i,bottom:t.bottom/r,left:t.left/i,x:t.left/i,y:t.top/r}}function bu(n){var t=ri(n),i=n.offsetWidth,r=n.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:n.offsetLeft,y:n.offsetTop,width:i,height:r}}function bo(n,t){var r=t.getRootNode&&t.getRootNode(),i;if(n.contains(t))return!0;if(r&&wo(r)){i=t;do{if(i&&n.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function nt(n){return y(n).getComputedStyle(n)}function hy(n){return["table","td","th"].indexOf(w(n))>=0}function ut(n){return((yi(n)?n.ownerDocument:n.document)||window.document).documentElement}function ar(n){return w(n)==="html"?n:n.assignedSlot||n.parentNode||(wo(n)?n.host:null)||ut(n)}function ko(n){return!c(n)||nt(n).position==="fixed"?null:n.offsetParent}function cy(n){var r=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,f=navigator.userAgent.indexOf("Trident")!==-1,u,i,t;if(f&&c(n)&&(u=nt(n),u.position==="fixed"))return null;for(i=ar(n);c(i)&&["html","body"].indexOf(w(i))<0;){if(t=nt(i),t.transform!=="none"||t.perspective!=="none"||t.contain==="paint"||["transform","perspective"].indexOf(t.willChange)!==-1||r&&t.willChange==="filter"||r&&t.filter&&t.filter!=="none")return i;i=i.parentNode}return null}function pi(n){for(var i=y(n),t=ko(n);t&&hy(t)&&nt(t).position==="static";)t=ko(t);return t&&(w(t)==="html"||w(t)==="body"&&nt(t).position==="static")?i:t||cy(n)||i}function ku(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function yr(n,t,i){return ft(n,wi(t,i))}function go(){return{top:0,right:0,bottom:0,left:0}}function ns(n){return Object.assign({},go(),n)}function ts(n,t){return t.reduce(function(t,i){return t[i]=n,t},{})}function ly(n){var r,t=n.state,d=n.name,g=n.options,h=t.elements.arrow,c=t.modifiersData.popperOffsets,a=b(t.placement),i=ku(a),nt=[f,s].indexOf(a)>=0,e=nt?"height":"width";if(h&&c){var v=is(g.padding,t),y=bu(h),tt=i==="y"?u:f,it=i==="y"?o:s,rt=t.rects.reference[e]+t.rects.reference[i]-c[i]-t.rects.popper[e],ut=c[i]-t.rects.reference[i],l=pi(h),p=l?i==="y"?l.clientHeight||0:l.clientWidth||0:0,ft=rt/2-ut/2,et=v[tt],ot=p-y[e]-v[it],w=p/2-y[e]/2+ft,k=yr(et,w,ot),st=i;t.modifiersData[d]=(r={},r[st]=k,r.centerOffset=k-w,r)}}function ay(n){var i=n.state,u=n.options,r=u.element,t=r===void 0?"[data-popper-arrow]":r;t!=null&&(typeof t!="string"||(t=i.elements.popper.querySelector(t),t))&&bo(i.elements.popper,t)&&(i.elements.arrow=t)}function ui(n){return n.split("-")[1]}function vy(n){var i=n.x,r=n.y,u=window,t=u.devicePixelRatio||1;return{x:vr(vr(i*t)/t)||0,y:vr(vr(r*t)/t)||0}}function fs(n){var r,a=n.popper,d=n.popperRect,i=n.placement,g=n.variation,e=n.offsets,tt=n.position,v=n.gpuAcceleration,it=n.adaptive,p=n.roundOffsets,rt=p===!0?vy(e):typeof p=="function"?p(e):e,ft=rt.x,h=ft===void 0?0:ft,et=rt.y,c=et===void 0?0:et,ot=e.hasOwnProperty("x"),st=e.hasOwnProperty("y"),w=f,b=u,lt=window,k,l;if(it){var t=pi(a),ht="clientHeight",ct="clientWidth";t===y(a)&&(t=ut(a),nt(t).position!=="static"&&tt==="absolute"&&(ht="scrollHeight",ct="scrollWidth"));t=t;(i===u||(i===f||i===s)&&g===ti)&&(b=o,c-=t[ht]-d.height,c*=v?1:-1);(i===f||(i===u||i===o)&&g===ti)&&(w=s,h-=t[ct]-d.width,h*=v?1:-1)}return(k=Object.assign({position:tt},it&&us),v)?Object.assign({},k,(l={},l[b]=st?"0":"",l[w]=ot?"0":"",l.transform=(lt.devicePixelRatio||1)<=1?"translate("+h+"px, "+c+"px)":"translate3d("+h+"px, "+c+"px, 0)",l)):Object.assign({},k,(r={},r[b]=st?c+"px":"",r[w]=ot?h+"px":"",r.transform="",r))}function yy(n){var t=n.state,i=n.options,r=i.gpuAcceleration,s=r===void 0?!0:r,u=i.adaptive,h=u===void 0?!0:u,f=i.roundOffsets,e=f===void 0?!0:f,o={placement:b(t.placement),variation:ui(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,fs(Object.assign({},o,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:h,roundOffsets:e}))));t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,fs(Object.assign({},o,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:e}))));t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}function py(n){var i=n.state,t=n.instance,r=n.options,u=r.scroll,f=u===void 0?!0:u,e=r.resize,o=e===void 0?!0:e,s=y(i.elements.popper),h=[].concat(i.scrollParents.reference,i.scrollParents.popper);return f&&h.forEach(function(n){n.addEventListener("scroll",t.update,bi)}),o&&s.addEventListener("resize",t.update,bi),function(){f&&h.forEach(function(n){n.removeEventListener("scroll",t.update,bi)});o&&s.removeEventListener("resize",t.update,bi)}}function pr(n){return n.replace(/left|right|bottom|top/g,function(n){return es[n]})}function ss(n){return n.replace(/start|end/g,function(n){return os[n]})}function nf(n){var t=y(n),i=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:i,scrollTop:r}}function tf(n){return ri(ut(n)).left+nf(n).scrollLeft}function wy(n){var o=y(n),i=ut(n),t=o.visualViewport,r=i.clientWidth,u=i.clientHeight,f=0,e=0;return t&&(r=t.width,u=t.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(f=t.offsetLeft,e=t.offsetTop)),{width:r,height:u,x:f+tf(n),y:e}}function by(n){var r,i=ut(n),u=nf(n),t=(r=n.ownerDocument)==null?void 0:r.body,f=ft(i.scrollWidth,i.clientWidth,t?t.scrollWidth:0,t?t.clientWidth:0),o=ft(i.scrollHeight,i.clientHeight,t?t.scrollHeight:0,t?t.clientHeight:0),e=-u.scrollLeft+tf(n),s=-u.scrollTop;return nt(t||i).direction==="rtl"&&(e+=ft(i.clientWidth,t?t.clientWidth:0)-f),{width:f,height:o,x:e,y:s}}function rf(n){var t=nt(n),i=t.overflow,r=t.overflowX,u=t.overflowY;return/auto|scroll|overlay|hidden/.test(i+u+r)}function hs(n){return["html","body","#document"].indexOf(w(n))>=0?n.ownerDocument.body:c(n)&&rf(n)?n:hs(ar(n))}function ki(n,t){var r;t===void 0&&(t=[]);var i=hs(n),u=i===((r=n.ownerDocument)==null?void 0:r.body),f=y(i),e=u?[f].concat(f.visualViewport||[],rf(i)?i:[]):i,o=t.concat(e);return u?o:o.concat(ki(ar(e)))}function uf(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function ky(n){var t=ri(n);return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function cs(n,t){return t===vu?uf(wy(n)):c(t)?ky(t):uf(by(ut(n)))}function dy(n){var i=ki(ar(n)),r=["absolute","fixed"].indexOf(nt(n).position)>=0,t=r&&c(n)?pi(n):n;return yi(t)?i.filter(function(n){return yi(n)&&bo(n,t)&&w(n)!=="body"}):[]}function gy(n,t,i){var f=t==="clippingParents"?dy(n):[].concat(t),u=[].concat(f,[i]),e=u[0],r=u.reduce(function(t,i){var r=cs(n,i);return t.top=ft(r.top,t.top),t.right=wi(r.right,t.right),t.bottom=wi(r.bottom,t.bottom),t.left=ft(r.left,t.left),t},cs(n,e));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function ls(n){var t=n.reference,e=n.element,c=n.placement,l=c?b(c):null,y=c?ui(c):null,a=t.x+t.width/2-e.width/2,v=t.y+t.height/2-e.height/2,i,r,h;switch(l){case u:i={x:a,y:t.y-e.height};break;case o:i={x:a,y:t.y+t.height};break;case s:i={x:t.x+t.width,y:v};break;case f:i={x:t.x-e.width,y:v};break;default:i={x:t.x,y:t.y}}if(r=l?ku(l):null,r!=null){h=r==="y"?"height":"width";switch(y){case yt:i[r]=i[r]-(t[h]/2-e[h]/2);break;case ti:i[r]=i[r]+(t[h]/2-e[h]/2)}}return i}function fi(n,t){var it;t===void 0&&(t={});var i=t,v=i.placement,y=v===void 0?n.placement:v,p=i.boundary,rt=p===void 0?uo:p,w=i.rootBoundary,ft=w===void 0?vu:w,b=i.elementContext,r=b===void 0?ii:b,k=i.altBoundary,et=k===void 0?!1:k,d=i.padding,c=d===void 0?0:d,f=ns(typeof c!="number"?c:ts(c,ni)),ot=r===ii?fo:ii,g=n.rects.popper,l=n.elements[et?ot:r],e=gy(yi(l)?l:l.contextElement||ut(n.elements.popper),rt,ft),nt=ri(n.elements.reference),st=ls({reference:nt,element:g,strategy:"absolute",placement:y}),ht=uf(Object.assign({},g,st)),h=r===ii?ht:nt,a={top:e.top-h.top+f.top,bottom:h.bottom-e.bottom+f.bottom,left:e.left-h.left+f.left,right:h.right-e.right+f.right},tt=n.modifiersData.offset;return r===ii&&tt&&(it=tt[y],Object.keys(a).forEach(function(n){var t=[s,o].indexOf(n)>=0?1:-1,i=[u,o].indexOf(n)>=0?"y":"x";a[n]+=it[i]*t})),a}function np(n,t){var r;t===void 0&&(t={});var i=t,s=i.placement,h=i.boundary,c=i.rootBoundary,l=i.padding,a=i.flipVariations,f=i.allowedAutoPlacements,v=f===void 0?pu:f,e=ui(s),o=e?a?yu:yu.filter(function(n){return ui(n)===e}):ni,u=o.filter(function(n){return v.indexOf(n)>=0});return u.length===0&&(u=o),r=u.reduce(function(t,i){return t[i]=fi(n,{placement:i,boundary:h,rootBoundary:c,padding:l})[b(i)],t},{}),Object.keys(r).sort(function(n,t){return r[n]-r[t]})}function tp(n){if(b(n)===lr)return[];var t=pr(n);return[ss(n),t,ss(t)]}function ip(n){var t=n.state,i=n.options,k=n.name,a,ct,h,lt,at,y,vt;if(!t.modifiersData[k]._skip){var d=i.mainAxis,pt=d===void 0?!0:d,g=i.altAxis,wt=g===void 0?!0:g,bt=i.fallbackPlacements,nt=i.padding,tt=i.boundary,it=i.rootBoundary,kt=i.altBoundary,rt=i.flipVariations,p=rt===void 0?!0:rt,dt=i.allowedAutoPlacements,r=t.options.placement,gt=b(r),ni=gt===r,ti=bt||(ni||!p?[pr(r)]:tp(r)),c=[r].concat(ti).reduce(function(n,i){return n.concat(b(i)===lr?np(t,{placement:i,boundary:tt,rootBoundary:it,padding:nt,flipVariations:p,allowedAutoPlacements:dt}):i)},[]),ii=t.rects.reference,ri=t.rects.popper,ut=new Map,ft=!0,l=c[0];for(a=0;a=0,ht=st?"width":"height",w=fi(t,{placement:e,boundary:tt,rootBoundary:it,altBoundary:kt,padding:nt}),v=st?ot?s:f:ot?o:u;if(ii[ht]>ri[ht]&&(v=pr(v)),ct=pr(v),h=[],pt&&h.push(w[et]<=0),wt&&h.push(w[v]<=0,w[ct]<=0),h.every(function(n){return n})){l=e;ft=!1;break}ut.set(e,h)}if(ft)for(lt=p?3:1,at=function(n){var t=c.find(function(t){var i=ut.get(t);if(i)return i.slice(0,n).every(function(n){return n})});if(t)return l=t,"break"},y=lt;y>0;y--)if(vt=at(y),vt==="break")break;t.placement!==l&&(t.modifiersData[k]._skip=!0,t.placement=l,t.reset=!0)}}function vs(n,t,i){return i===void 0&&(i={x:0,y:0}),{top:n.top-t.height-i.y,right:n.right-t.width+i.x,bottom:n.bottom-t.height+i.y,left:n.left-t.width-i.x}}function ys(n){return[u,s,o,f].some(function(t){return n[t]>=0})}function rp(n){var t=n.state,e=n.name,o=t.rects.reference,s=t.rects.popper,h=t.modifiersData.preventOverflow,c=fi(t,{elementContext:"reference"}),l=fi(t,{altBoundary:!0}),i=vs(c,o),r=vs(l,s,h),u=ys(i),f=ys(r);t.modifiersData[e]={referenceClippingOffsets:i,popperEscapeOffsets:r,isReferenceHidden:u,hasPopperEscaped:f};t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":f})}function up(n,t,i){var o=b(n),c=[f,u].indexOf(o)>=0?-1:1,h=typeof i=="function"?i(Object.assign({},t,{placement:n})):i,r=h[0],e=h[1];return r=r||0,e=(e||0)*c,[f,s].indexOf(o)>=0?{x:e,y:r}:{x:r,y:e}}function fp(n){var t=n.state,f=n.options,e=n.name,i=f.offset,o=i===void 0?[0,0]:i,r=pu.reduce(function(n,i){return n[i]=up(i,t.rects,o),n},{}),u=r[t.placement],s=u.x,h=u.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=h);t.modifiersData[e]=r}function ep(n){var t=n.state,i=n.name;t.modifiersData[i]=ls({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}function op(n){return n==="x"?"y":"x"}function sp(n){var t=n.state,h=n.options,hi=n.name,rt=h.mainAxis,ut=rt===void 0?!0:rt,et=h.altAxis,ot=et===void 0?!1:et,ci=h.boundary,li=h.rootBoundary,ai=h.altBoundary,vi=h.padding,st=h.tether,c=st===void 0?!0:st,ht=h.tetherOffset,w=ht===void 0?0:ht,a=fi(t,{boundary:ci,rootBoundary:li,padding:vi,altBoundary:ai}),yi=b(t.placement),k=ui(t.placement),ct=!k,i=ku(yi),d=op(i),r=t.modifiersData.popperOffsets,l=t.rects.reference,g=t.rects.popper,v=typeof w=="function"?w(Object.assign({},t.rects,{placement:t.placement})):w,nt={x:0,y:0},it;if(r){if(ut||ot){var lt=i==="y"?u:f,at=i==="y"?o:s,e=i==="y"?"height":"width",vt=r[i],pt=r[i]+a[lt],wt=r[i]-a[at],bt=c?-g[e]/2:0,bi=k===yt?l[e]:g[e],ki=k===yt?-g[e]:-l[e],kt=t.elements.arrow,di=c&&kt?bu(kt):{width:0,height:0},dt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:go(),gt=dt[lt],ni=dt[at],y=yr(0,l[e],di[e]),gi=ct?l[e]/2-bt-y-gt-v:bi-y-gt-v,nr=ct?-l[e]/2+bt+y+ni+v:ki+y+ni+v,tt=t.elements.arrow&&pi(t.elements.arrow),tr=tt?i==="y"?tt.clientTop||0:tt.clientLeft||0:0,ti=t.modifiersData.offset?t.modifiersData.offset[t.placement][i]:0,ii=r[i]+gi-ti-tr,ri=r[i]+nr-ti;if(ut&&(it=yr(c?wi(pt,ii):pt,vt,c?ft(wt,ri):wt),r[i]=it,nt[i]=it-vt),ot){var ir=i==="x"?u:f,rr=i==="x"?o:s,p=r[d],ei=p+a[ir],oi=p-a[rr],si=yr(c?wi(ei,ii):ei,p,c?ft(oi,ri):oi);r[d]=si;nt[d]=si-p}}t.modifiersData[hi]=nt}}function hp(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function cp(n){return n!==y(n)&&c(n)?hp(n):nf(n)}function lp(n){var t=n.getBoundingClientRect(),i=t.width/n.offsetWidth||1,r=t.height/n.offsetHeight||1;return i!==1||r!==1}function ap(n,t,i){var f;i===void 0&&(i=!1);f=c(t);c(t)&&lp(t);var e=ut(t),u=ri(n),o={scrollLeft:0,scrollTop:0},r={x:0,y:0};return!f&&(f||i)||((w(t)!=="body"||rf(e))&&(o=cp(t)),c(t)?(r=ri(t),r.x+=t.clientLeft,r.y+=t.clientTop):e&&(r.x=tf(e))),{x:u.left+o.scrollLeft-r.x,y:u.top+o.scrollTop-r.y,width:u.width,height:u.height}}function vp(n){function u(n){t.add(n.name);var f=[].concat(n.requires||[],n.requiresIfExists||[]);f.forEach(function(n){if(!t.has(n)){var r=i.get(n);r&&u(r)}});r.push(n)}var i=new Map,t=new Set,r=[];return n.forEach(function(n){i.set(n.name,n)}),n.forEach(function(n){t.has(n.name)||u(n)}),r}function yp(n){var t=vp(n);return po.reduce(function(n,i){return n.concat(t.filter(function(n){return n.phase===i}))},[])}function pp(n){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=undefined;i(n())})})),t}}function wp(n){var t=n.reduce(function(n,t){var i=n[t.name];return n[t.name]=i?Object.assign({},i,t,{options:Object.assign({},i.options,t.options),data:Object.assign({},i.data,t.data)}):t,n},{});return Object.keys(t).map(function(n){return t[n]})}function ks(){for(var t=arguments.length,i=new Array(t),n=0;n{lk(n,e)||i.removeAttribute(n.nodeName)})}return r.body.innerHTML}var is,us,bi,es,os,ef;const rl=1e6,ul=1e3,fu="transitionend",fl=n=>n===null||n===undefined?`${n}`:{}.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),el=n=>{do n+=Math.floor(Math.random()*rl);while(document.getElementById(n));return n},gf=n=>{let t=n.getAttribute("data-bs-target");if(!t||t==="#"){let i=n.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`);t=i&&i!=="#"?i.trim():null}return t},eu=n=>{const t=gf(n);return t?document.querySelector(t)?t:null:null},tt=n=>{const t=gf(n);return t?document.querySelector(t):null},ol=n=>{if(!n)return 0;let{transitionDuration:t,transitionDelay:i}=window.getComputedStyle(n);const r=Number.parseFloat(t),u=Number.parseFloat(i);return!r&&!u?0:(t=t.split(",")[0],i=i.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(i))*ul)},ne=n=>{n.dispatchEvent(new Event(fu))},ot=n=>!n||typeof n!="object"?!1:(typeof n.jquery!="undefined"&&(n=n[0]),typeof n.nodeType!="undefined"),it=n=>ot(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(n):null,p=(n,t,i)=>{Object.keys(i).forEach(r=>{const f=i[r],u=t[r],e=u&&ot(u)?"element":fl(u);if(!new RegExp(f).test(e))throw new TypeError(`${n.toUpperCase()}: Option "${r}" provided type "${e}" but expected type "${f}".`);})},ci=n=>!ot(n)||n.getClientRects().length===0?!1:getComputedStyle(n).getPropertyValue("visibility")==="visible",st=n=>!n||n.nodeType!==Node.ELEMENT_NODE?!0:n.classList.contains("disabled")?!0:typeof n.disabled!="undefined"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",te=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){const t=n.getRootNode();return t instanceof ShadowRoot?t:null}return n instanceof ShadowRoot?n:n.parentNode?te(n.parentNode):null},fr=()=>{},kt=n=>{n.offsetHeight},ie=()=>{const{jQuery:n}=window;return n&&!document.body.hasAttribute("data-bs-no-jquery")?n:null},ou=[],sl=n=>{document.readyState==="loading"?(ou.length||document.addEventListener("DOMContentLoaded",()=>{ou.forEach(n=>n())}),ou.push(n)):n()},r=()=>document.documentElement.dir==="rtl",h=n=>{sl(()=>{const t=ie();if(t){const i=n.NAME,r=t.fn[i];t.fn[i]=n.jQueryInterface;t.fn[i].Constructor=n;t.fn[i].noConflict=()=>(t.fn[i]=r,n.jQueryInterface)}})},ht=n=>{typeof n=="function"&&n()},re=(n,t,i=true)=>{if(!i){ht(n);return}const f=ol(t)+5;let r=!1;const u=({target:i})=>{i===t&&(r=!0,t.removeEventListener(fu,u),ht(n))};t.addEventListener(fu,u);setTimeout(()=>{r||ne(t)},f)},ue=(n,t,i,r)=>{let u=n.indexOf(t);if(u===-1)return n[!i&&r?n.length-1:0];const f=n.length;return u+=i?1:-1,r&&(u=(u+f)%f),n[Math.max(0,Math.min(u,f-1))]},hl=/[^.]*(?=\..*)\.|.*/,cl=/\..*/,ll=/::\d+$/,su={};let fe=1;const al={mouseenter:"mouseover",mouseleave:"mouseout"},vl=/^(mouseenter|mouseleave)/i,ee=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);const n={on(n,t,i,r){le(n,t,i,r,!1)},one(n,t,i,r){le(n,t,i,r,!0)},off(n,t,i,r){if(typeof t=="string"&&n){const[s,e,f]=ce(t,i,r),h=f!==t,u=se(n),c=t.startsWith(".");if(typeof e!="undefined"){if(!u||!u[f])return;hu(n,u,f,e,s?i:null);return}c&&Object.keys(u).forEach(i=>{wl(n,u,i,t.slice(1))});const o=u[f]||{};Object.keys(o).forEach(i=>{const r=i.replace(ll,"");if(!h||t.includes(r)){const t=o[i];hu(n,u,f,t.originalHandler,t.delegationSelector)}})}},trigger(n,t,i){if(typeof t!="string"||!n)return null;const f=ie(),e=ae(t),c=t!==e,l=ee.has(e);let u,o=!0,s=!0,h=!1,r=null;return c&&f&&(u=f.Event(t,i),f(n).trigger(u),o=!u.isPropagationStopped(),s=!u.isImmediatePropagationStopped(),h=u.isDefaultPrevented()),l?(r=document.createEvent("HTMLEvents"),r.initEvent(e,o,!0)):r=new CustomEvent(t,{bubbles:o,cancelable:!0}),typeof i!="undefined"&&Object.keys(i).forEach(n=>{Object.defineProperty(r,n,{get(){return i[n]}})}),h&&r.preventDefault(),s&&n.dispatchEvent(r),r.defaultPrevented&&typeof u!="undefined"&&u.preventDefault(),r}},rt=new Map,li={set(n,t,i){rt.has(n)||rt.set(n,new Map);const r=rt.get(n);if(!r.has(t)&&r.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(r.keys())[0]}.`);return}r.set(t,i)},get(n,t){return rt.has(n)?rt.get(n).get(t)||null:null},remove(n,t){if(rt.has(n)){const i=rt.get(n);i.delete(t);i.size===0&&rt.delete(n)}}},bl="5.1.3";class v{constructor(n){(n=it(n),n)&&(this._element=n,li.set(this._element,this.constructor.DATA_KEY,this))}dispose(){li.remove(this._element,this.constructor.DATA_KEY);n.off(this._element,this.constructor.EVENT_KEY);Object.getOwnPropertyNames(this).forEach(n=>{this[n]=null})}_queueCallback(n,t,i=true){re(n,t,i)}static getInstance(n){return li.get(it(n),this.DATA_KEY)}static getOrCreateInstance(n,t={}){return this.getInstance(n)||new this(n,typeof t=="object"?t:null)}static get VERSION(){return bl}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!');}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const er=(t,i="hide")=>{const u=`click.dismiss${t.EVENT_KEY}`,r=t.NAME;n.on(document,u,`[data-bs-dismiss="${r}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),!st(this)){const u=tt(this)||this.closest(`.${r}`),f=t.getOrCreateInstance(u);f[i]()}})},kl="alert",ve=`.${"bs.alert"}`,dl=`close${ve}`,gl=`closed${ve}`,na="fade",ta="show";class or extends v{static get NAME(){return kl}close(){const t=n.trigger(this._element,dl);if(!t.defaultPrevented){this._element.classList.remove(ta);const i=this._element.classList.contains(na);this._queueCallback(()=>this._destroyElement(),this._element,i)}}_destroyElement(){this._element.remove();n.trigger(this._element,gl);this.dispose()}static jQueryInterface(n){return this.each(function(){const t=or.getOrCreateInstance(this);if(typeof n=="string"){if(t[n]===undefined||n.startsWith("_")||n==="constructor")throw new TypeError(`No method named "${n}"`);t[n](this)}})}}er(or,"close");h(or);const ia="button",ra=`.${"bs.button"}`,ua="active",ye='[data-bs-toggle="button"]',fa=`click${ra}${".data-api"}`;class sr extends v{static get NAME(){return ia}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(ua))}static jQueryInterface(n){return this.each(function(){const t=sr.getOrCreateInstance(this);n==="toggle"&&t[n]()})}}n.on(document,fa,ye,n=>{n.preventDefault();const t=n.target.closest(ye),i=sr.getOrCreateInstance(t);i.toggle()});h(sr);const i={setDataAttribute(n,t,i){n.setAttribute(`data-bs-${cu(t)}`,i)},removeDataAttribute(n,t){n.removeAttribute(`data-bs-${cu(t)}`)},getDataAttributes(n){if(!n)return{};const t={};return Object.keys(n.dataset).filter(n=>n.startsWith("bs")).forEach(i=>{let r=i.replace(/^bs/,"");r=r.charAt(0).toLowerCase()+r.slice(1,r.length);t[r]=pe(n.dataset[i])}),t},getDataAttribute(n,t){return pe(n.getAttribute(`data-bs-${cu(t)}`))},offset(n){const t=n.getBoundingClientRect();return{top:t.top+window.pageYOffset,left:t.left+window.pageXOffset}},position(n){return{top:n.offsetTop,left:n.offsetLeft}}},ea=3,t={find(n,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,n))},findOne(n,t=document.documentElement){return Element.prototype.querySelector.call(t,n)},children(n,t){return[].concat(...n.children).filter(n=>n.matches(t))},parents(n,t){const r=[];let i=n.parentNode;while(i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==ea)i.matches(t)&&r.push(i),i=i.parentNode;return r},prev(n,t){let i=n.previousElementSibling;while(i){if(i.matches(t))return[i];i=i.previousElementSibling}return[]},next(n,t){let i=n.nextElementSibling;while(i){if(i.matches(t))return[i];i=i.nextElementSibling}return[]},focusableChildren(n){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(n=>`${n}:not([tabindex^="-"])`).join(", ");return this.find(t,n).filter(n=>!st(n)&&ci(n))}},we="carousel",e=`.${"bs.carousel"}`,be=".data-api",oa=500,sa=40,ke={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},ha={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},ct="next",lt="prev",at="left",ai="right",ca={["ArrowLeft"]:ai,["ArrowRight"]:at},la=`slide${e}`,de=`slid${e}`,aa=`keydown${e}`,va=`mouseenter${e}`,ya=`mouseleave${e}`,pa=`touchstart${e}`,wa=`touchmove${e}`,ba=`touchend${e}`,ka=`pointerdown${e}`,da=`pointerup${e}`,ga=`dragstart${e}`,nv=`load${e}${be}`,tv=`click${e}${be}`,iv="carousel",vt="active",rv="slide",uv="carousel-item-end",fv="carousel-item-start",ev="carousel-item-next",ov="carousel-item-prev",sv="pointer-event",hv=".active",hr=".active.carousel-item",cv=".carousel-item",lv=".carousel-item img",av=".carousel-item-next, .carousel-item-prev",vv=".carousel-indicators",yv="[data-bs-target]",pv='[data-bs-ride="carousel"]',wv="touch",bv="pen";class g extends v{constructor(n,i){super(n);this._items=null;this._interval=null;this._activeElement=null;this._isPaused=!1;this._isSliding=!1;this.touchTimeout=null;this.touchStartX=0;this.touchDeltaX=0;this._config=this._getConfig(i);this._indicatorsElement=t.findOne(vv,this._element);this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0;this._pointerEvent=Boolean(window.PointerEvent);this._addEventListeners()}static get Default(){return ke}static get NAME(){return we}next(){this._slide(ct)}nextWhenVisible(){!document.hidden&&ci(this._element)&&this.next()}prev(){this._slide(lt)}pause(n){n||(this._isPaused=!0);t.findOne(av,this._element)&&(ne(this._element),this.cycle(!0));clearInterval(this._interval);this._interval=null}cycle(n){n||(this._isPaused=!1);this._interval&&(clearInterval(this._interval),this._interval=null);this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(i){this._activeElement=t.findOne(hr,this._element);const r=this._getItemIndex(this._activeElement);if(!(i>this._items.length-1)&&!(i<0)){if(this._isSliding){n.one(this._element,de,()=>this.to(i));return}if(r===i){this.pause();this.cycle();return}const u=i>r?ct:lt;this._slide(u,this._items[i])}}_getConfig(n){return n={...ke,...i.getDataAttributes(this._element),...(typeof n=="object"?n:{})},p(we,n,ha),n}_handleSwipe(){const n=Math.abs(this.touchDeltaX);if(!(n<=sa)){const t=n/this.touchDeltaX;(this.touchDeltaX=0,t)&&this._slide(t>0?ai:at)}}_addEventListeners(){if(this._config.keyboard)n.on(this._element,aa,n=>this._keydown(n));if(this._config.pause==="hover"){n.on(this._element,va,n=>this.pause(n));n.on(this._element,ya,n=>this.cycle(n))}this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const i=n=>this._pointerEvent&&(n.pointerType===bv||n.pointerType===wv),r=n=>{i(n)?this.touchStartX=n.clientX:this._pointerEvent||(this.touchStartX=n.touches[0].clientX)},f=n=>{this.touchDeltaX=n.touches&&n.touches.length>1?0:n.touches[0].clientX-this.touchStartX},u=n=>{i(n)&&(this.touchDeltaX=n.clientX-this.touchStartX),this._handleSwipe(),this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(n=>this.cycle(n),oa+this._config.interval))};if(t.find(lv,this._element).forEach(t=>{n.on(t,ga,n=>n.preventDefault())}),this._pointerEvent){n.on(this._element,ka,n=>r(n));n.on(this._element,da,n=>u(n));this._element.classList.add(sv)}else{n.on(this._element,pa,n=>r(n));n.on(this._element,wa,n=>f(n));n.on(this._element,ba,n=>u(n))}}_keydown(n){if(!/input|textarea/i.test(n.target.tagName)){const t=ca[n.key];t&&(n.preventDefault(),this._slide(t))}}_getItemIndex(n){return this._items=n&&n.parentNode?t.find(cv,n.parentNode):[],this._items.indexOf(n)}_getItemByOrder(n,t){const i=n===ct;return ue(this._items,t,i,this._config.wrap)}_triggerSlideEvent(i,r){const u=this._getItemIndex(i),f=this._getItemIndex(t.findOne(hr,this._element));return n.trigger(this._element,la,{relatedTarget:i,direction:r,from:f,to:u})}_setActiveIndicatorElement(n){if(this._indicatorsElement){const r=t.findOne(hv,this._indicatorsElement);r.classList.remove(vt);r.removeAttribute("aria-current");const i=t.find(yv,this._indicatorsElement);for(let t=0;t{n.trigger(this._element,de,{relatedTarget:u,direction:l,from:v,to:y})};if(this._element.classList.contains(rv)){u.classList.add(s);kt(u);f.classList.add(e);u.classList.add(e);const n=()=>{u.classList.remove(e,s),u.classList.add(vt),f.classList.remove(vt,s,e),this._isSliding=!1,setTimeout(a,0)};this._queueCallback(n,f,!0)}else f.classList.remove(vt),u.classList.add(vt),this._isSliding=!1,a();h&&this.cycle()}}}_directionToOrder(n){return[ai,at].includes(n)?r()?n===at?lt:ct:n===at?ct:lt:n}_orderToDirection(n){return[ct,lt].includes(n)?r()?n===lt?at:ai:n===lt?ai:at:n}static carouselInterface(n,t){const i=g.getOrCreateInstance(n,t);let{_config:r}=i;typeof t=="object"&&(r={...r,...t});const u=typeof t=="string"?t:r.slide;if(typeof t=="number")i.to(t);else if(typeof u=="string"){if(typeof i[u]=="undefined")throw new TypeError(`No method named "${u}"`);i[u]()}else r.interval&&r.ride&&(i.pause(),i.cycle())}static jQueryInterface(n){return this.each(function(){g.carouselInterface(this,n)})}static dataApiClickHandler(n){const t=tt(this);if(t&&t.classList.contains(iv)){const u={...i.getDataAttributes(t),...i.getDataAttributes(this)},r=this.getAttribute("data-bs-slide-to");r&&(u.interval=!1);g.carouselInterface(t,u);r&&g.getInstance(t).to(r);n.preventDefault()}}}n.on(document,tv,"[data-bs-slide], [data-bs-slide-to]",g.dataApiClickHandler);n.on(window,nv,()=>{const n=t.find(pv);for(let t=0,i=n.length;tn===this._element);i!==null&&f.length&&(this._selector=i,this._triggerArray.push(u))}this._initializeChildren();this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown());this._config.toggle&&this.toggle()}static get Default(){return to}static get NAME(){return ge}toggle(){this._isShown()?this.hide():this.show()}show(){if(!this._isTransitioning&&!this._isShown()){let r=[],u;if(this._config.parent){const n=t.find(ro,this._config.parent);r=t.find(ey,this._config.parent).filter(t=>!n.includes(t))}const f=t.findOne(this._selector);if(r.length){const n=r.find(n=>f!==n);if(u=n?gt.getInstance(n):null,u&&u._isTransitioning)return}const e=n.trigger(this._element,dv);if(!e.defaultPrevented){r.forEach(n=>{f!==n&>.getOrCreateInstance(n,{toggle:!1}).hide(),u||li.set(n,no,null)});const i=this._getDimension();this._element.classList.remove(dt);this._element.classList.add(cr);this._element.style[i]=0;this._addAriaAndCollapsedClass(this._triggerArray,!0);this._isTransitioning=!0;const o=()=>{this._isTransitioning=!1,this._element.classList.remove(cr),this._element.classList.add(dt,lu),this._element.style[i]="",n.trigger(this._element,gv)},s=i[0].toUpperCase()+i.slice(1),h=`scroll${s}`;this._queueCallback(o,this._element,!0);this._element.style[i]=`${this._element[h]}px`}}}hide(){if(!this._isTransitioning&&this._isShown()){const i=n.trigger(this._element,ny);if(!i.defaultPrevented){const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`;kt(this._element);this._element.classList.add(cr);this._element.classList.remove(dt,lu);const r=this._triggerArray.length;for(let n=0;n{this._isTransitioning=!1,this._element.classList.remove(cr),this._element.classList.add(dt),n.trigger(this._element,ty)};this._element.style[t]="";this._queueCallback(u,this._element,!0)}}}_isShown(n=this._element){return n.classList.contains(lu)}_getConfig(n){return n={...to,...i.getDataAttributes(this._element),...n},n.toggle=Boolean(n.toggle),n.parent=it(n.parent),p(ge,n,kv),n}_getDimension(){return this._element.classList.contains(ry)?uy:fy}_initializeChildren(){if(this._config.parent){const n=t.find(ro,this._config.parent);t.find(au,this._config.parent).filter(t=>!n.includes(t)).forEach(n=>{const t=tt(n);t&&this._addAriaAndCollapsedClass([n],this._isShown(t))})}}_addAriaAndCollapsedClass(n,t){n.length&&n.forEach(n=>{t?n.classList.remove(io):n.classList.add(io),n.setAttribute("aria-expanded",t)})}static jQueryInterface(n){return this.each(function(){const t={};typeof n=="string"&&/show|hide/.test(n)&&(t.toggle=!1);const i=gt.getOrCreateInstance(this,t);if(typeof n=="string"){if(typeof i[n]=="undefined")throw new TypeError(`No method named "${n}"`);i[n]()}})}}n.on(document,iy,au,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();const i=eu(this),r=t.find(i);r.forEach(n=>{gt.getOrCreateInstance(n,{toggle:!1}).toggle()})});h(gt);var u="top",o="bottom",s="right",f="left",lr="auto",ni=[u,o,s,f],yt="start",ti="end",uo="clippingParents",vu="viewport",ii="popper",fo="reference",yu=ni.reduce(function(n,t){return n.concat([t+"-"+yt,t+"-"+ti])},[]),pu=[].concat(ni,[lr]).reduce(function(n,t){return n.concat([t,t+"-"+yt,t+"-"+ti])},[]),eo="beforeRead",oo="read",so="afterRead",ho="beforeMain",co="main",lo="afterMain",ao="beforeWrite",vo="write",yo="afterWrite",po=[eo,oo,so,ho,co,lo,ao,vo,yo];const wu={name:"applyStyles",enabled:!0,phase:"write",fn:oy,effect:sy,requires:["computeStyles"]};var ft=Math.max,wi=Math.min,vr=Math.round;is=function(n,t){return n=typeof n=="function"?n(Object.assign({},t.rects,{placement:t.placement})):n,ns(typeof n!="number"?n:ts(n,ni))};const rs={name:"arrow",enabled:!0,phase:"main",fn:ly,effect:ay,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};us={top:"auto",right:"auto",bottom:"auto",left:"auto"};const du={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:yy,data:{}};bi={passive:!0};const gu={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:py,data:{}};es={left:"right",right:"left",bottom:"top",top:"bottom"};os={start:"end",end:"start"};const as={name:"flip",enabled:!0,phase:"main",fn:ip,requiresIfExists:["offset"],data:{_skip:!1}};const ps={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:rp};const ws={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:fp};const ff={name:"popperOffsets",enabled:!0,phase:"read",fn:ep,data:{}};const bs={name:"preventOverflow",enabled:!0,phase:"main",fn:sp,requiresIfExists:["offset"]};ef={placement:"bottom",modifiers:[],strategy:"absolute"};var bp=wr(),kp=[gu,ff,du,wu],dp=wr({defaultModifiers:kp}),gp=[gu,ff,du,wu,ws,as,bs,rs,ps],sf=wr({defaultModifiers:gp});const ds=Object.freeze({__proto__:null,popperGenerator:wr,detectOverflow:fi,createPopperBase:bp,createPopper:sf,createPopperLite:dp,top:u,bottom:o,right:s,left:f,auto:lr,basePlacements:ni,start:yt,end:ti,clippingParents:uo,viewport:vu,popper:ii,reference:fo,variationPlacements:yu,placements:pu,beforeRead:eo,read:oo,afterRead:so,beforeMain:ho,main:co,afterMain:lo,beforeWrite:ao,write:vo,afterWrite:yo,modifierPhases:po,applyStyles:wu,arrow:rs,computeStyles:du,eventListeners:gu,flip:as,hide:ps,offset:ws,popperOffsets:ff,preventOverflow:bs}),hf="dropdown",pt=`.${"bs.dropdown"}`,cf=".data-api",br="Escape",gs="Space",nh="Tab",lf="ArrowUp",kr="ArrowDown",nw=2,tw=new RegExp(`${lf}|${kr}|${br}`),iw=`hide${pt}`,rw=`hidden${pt}`,uw=`show${pt}`,fw=`shown${pt}`,th=`click${pt}${cf}`,ih=`keydown${pt}${cf}`,ew=`keyup${pt}${cf}`,ei="show",ow="dropup",sw="dropend",hw="dropstart",cw="navbar",di='[data-bs-toggle="dropdown"]',af=".dropdown-menu",lw=".navbar-nav",aw=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",vw=r()?"top-end":"top-start",yw=r()?"top-start":"top-end",pw=r()?"bottom-end":"bottom-start",ww=r()?"bottom-start":"bottom-end",bw=r()?"left-start":"right-start",kw=r()?"right-start":"left-start",dw={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},gw={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class l extends v{constructor(n,t){super(n);this._popper=null;this._config=this._getConfig(t);this._menu=this._getMenuElement();this._inNavbar=this._detectNavbar()}static get Default(){return dw}static get DefaultType(){return gw}static get NAME(){return hf}toggle(){return this._isShown()?this.hide():this.show()}show(){if(!st(this._element)&&!this._isShown(this._menu)){const t={relatedTarget:this._element},u=n.trigger(this._element,uw,t);if(!u.defaultPrevented){const r=l.getParentFromElement(this._element);this._inNavbar?i.setDataAttribute(this._menu,"popper","none"):this._createPopper(r);"ontouchstart"in document.documentElement&&!r.closest(lw)&&[].concat(...document.body.children).forEach(t=>n.on(t,"mouseover",fr));this._element.focus();this._element.setAttribute("aria-expanded",!0);this._menu.classList.add(ei);this._element.classList.add(ei);n.trigger(this._element,fw,t)}}}hide(){if(!st(this._element)&&this._isShown(this._menu)){const n={relatedTarget:this._element};this._completeHide(n)}}dispose(){this._popper&&this._popper.destroy();super.dispose()}update(){this._inNavbar=this._detectNavbar();this._popper&&this._popper.update()}_completeHide(t){const r=n.trigger(this._element,iw,t);r.defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>n.off(t,"mouseover",fr)),this._popper&&this._popper.destroy(),this._menu.classList.remove(ei),this._element.classList.remove(ei),this._element.setAttribute("aria-expanded","false"),i.removeDataAttribute(this._menu,"popper"),n.trigger(this._element,rw,t))}_getConfig(n){if(n={...this.constructor.Default,...i.getDataAttributes(this._element),...n},p(hf,n,this.constructor.DefaultType),typeof n.reference=="object"&&!ot(n.reference)&&typeof n.reference.getBoundingClientRect!="function")throw new TypeError(`${hf.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return n}_createPopper(n){if(typeof ds=="undefined")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=n:ot(this._config.reference)?t=it(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const r=this._getPopperConfig(),u=r.modifiers.find(n=>n.name==="applyStyles"&&n.enabled===!1);this._popper=sf(t,this._menu,r);u&&i.setDataAttribute(this._menu,"popper","static")}_isShown(n=this._element){return n.classList.contains(ei)}_getMenuElement(){return t.next(this._element,af)[0]}_getPlacement(){const n=this._element.parentNode;if(n.classList.contains(sw))return bw;if(n.classList.contains(hw))return kw;const t=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return n.classList.contains(ow)?t?yw:vw:t?ww:pw}_detectNavbar(){return this._element.closest(`.${cw}`)!==null}_getOffset(){const{offset:n}=this._config;return typeof n=="string"?n.split(",").map(n=>Number.parseInt(n,10)):typeof n=="function"?t=>n(t,this._element):n}_getPopperConfig(){const n={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return this._config.display==="static"&&(n.modifiers=[{name:"applyStyles",enabled:!1}]),{...n,...(typeof this._config.popperConfig=="function"?this._config.popperConfig(n):this._config.popperConfig)}}_selectMenuItem({key:n,target:i}){const r=t.find(aw,this._menu).filter(ci);r.length&&ue(r,i,n===kr,!r.includes(i)).focus()}static jQueryInterface(n){return this.each(function(){const t=l.getOrCreateInstance(this,n);if(typeof n=="string"){if(typeof t[n]=="undefined")throw new TypeError(`No method named "${n}"`);t[n]()}})}static clearMenus(n){if(!n||n.button!==nw&&(n.type!=="keyup"||n.key===nh)){const i=t.find(di);for(let t=0,r=i.length;tt+n);this._setElementAttributes(rh,"paddingRight",t=>t+n);this._setElementAttributes(uh,"marginRight",t=>t-n)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow");this._element.style.overflow="hidden"}_setElementAttributes(n,t,i){const r=this.getWidth(),u=n=>{if(n===this._element||!(window.innerWidth>n.clientWidth+r)){this._saveInitialAttribute(n,t);const u=window.getComputedStyle(n)[t];n.style[t]=`${i(Number.parseFloat(u))}px`}};this._applyManipulationCallback(n,u)}reset(){this._resetElementAttributes(this._element,"overflow");this._resetElementAttributes(this._element,"paddingRight");this._resetElementAttributes(rh,"paddingRight");this._resetElementAttributes(uh,"marginRight")}_saveInitialAttribute(n,t){const r=n.style[t];r&&i.setDataAttribute(n,t,r)}_resetElementAttributes(n,t){const r=n=>{const r=i.getDataAttribute(n,t);typeof r=="undefined"?n.style.removeProperty(t):(i.removeDataAttribute(n,t),n.style[t]=r)};this._applyManipulationCallback(n,r)}_applyManipulationCallback(n,i){ot(n)?i(n):t.find(n,this._element).forEach(i)}isOverflowing(){return this.getWidth()>0}}const nb={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},tb={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},fh="backdrop",ib="fade",eh="show",oh=`mousedown.bs.${fh}`;class sh{constructor(n){this._config=this._getConfig(n);this._isAppended=!1;this._element=null}show(n){if(!this._config.isVisible){ht(n);return}this._append();this._config.isAnimated&&kt(this._getElement());this._getElement().classList.add(eh);this._emulateAnimation(()=>{ht(n)})}hide(n){if(!this._config.isVisible){ht(n);return}this._getElement().classList.remove(eh);this._emulateAnimation(()=>{this.dispose(),ht(n)})}_getElement(){if(!this._element){const n=document.createElement("div");n.className=this._config.className;this._config.isAnimated&&n.classList.add(ib);this._element=n}return this._element}_getConfig(n){return n={...nb,...(typeof n=="object"?n:{})},n.rootElement=it(n.rootElement),p(fh,n,tb),n}_append(){if(!this._isAppended){this._config.rootElement.append(this._getElement());n.on(this._getElement(),oh,()=>{ht(this._config.clickCallback)});this._isAppended=!0}}dispose(){this._isAppended&&(n.off(this._element,oh),this._element.remove(),this._isAppended=!1)}_emulateAnimation(n){re(n,this._getElement(),this._config.isAnimated)}}const rb={trapElement:null,autofocus:!0},ub={trapElement:"element",autofocus:"boolean"},fb="focustrap",dr=`.${"bs.focustrap"}`,eb=`focusin${dr}`,ob=`keydown.tab${dr}`,sb="Tab",hb="forward",hh="backward";class ch{constructor(n){this._config=this._getConfig(n);this._isActive=!1;this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:i}=this._config;if(!this._isActive){i&&t.focus();n.off(document,dr);n.on(document,eb,n=>this._handleFocusin(n));n.on(document,ob,n=>this._handleKeydown(n));this._isActive=!0}}deactivate(){this._isActive&&(this._isActive=!1,n.off(document,dr))}_handleFocusin(n){const{target:u}=n,{trapElement:i}=this._config;if(u!==document&&u!==i&&!i.contains(u)){const r=t.focusableChildren(i);r.length===0?i.focus():this._lastTabNavDirection===hh?r[r.length-1].focus():r[0].focus()}}_handleKeydown(n){n.key===sb&&(this._lastTabNavDirection=n.shiftKey?hh:hb)}_getConfig(n){return n={...rb,...(typeof n=="object"?n:{})},p(fb,n,ub),n}}const lh="modal",a=`.${"bs.modal"}`,ah="Escape",vh={backdrop:!0,keyboard:!0,focus:!0},cb={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},lb=`hide${a}`,ab=`hidePrevented${a}`,yh=`hidden${a}`,ph=`show${a}`,vb=`shown${a}`,wh=`resize${a}`,bh=`click.dismiss${a}`,kh=`keydown.dismiss${a}`,yb=`mouseup.dismiss${a}`,dh=`mousedown.dismiss${a}`,pb=`click${a}${".data-api"}`,gh="modal-open",wb="fade",nc="show",yf="modal-static",bb=".modal.show",kb=".modal-dialog",db=".modal-body";class oi extends v{constructor(n,i){super(n);this._config=this._getConfig(i);this._dialog=t.findOne(kb,this._element);this._backdrop=this._initializeBackDrop();this._focustrap=this._initializeFocusTrap();this._isShown=!1;this._ignoreBackdropClick=!1;this._isTransitioning=!1;this._scrollBar=new vf}static get Default(){return vh}static get NAME(){return lh}toggle(n){return this._isShown?this.hide():this.show(n)}show(t){if(!this._isShown&&!this._isTransitioning){const i=n.trigger(this._element,ph,{relatedTarget:t});if(!i.defaultPrevented){this._isShown=!0;this._isAnimated()&&(this._isTransitioning=!0);this._scrollBar.hide();document.body.classList.add(gh);this._adjustDialog();this._setEscapeEvent();this._setResizeEvent();n.on(this._dialog,dh,()=>{n.one(this._element,yb,n=>{n.target===this._element&&(this._ignoreBackdropClick=!0)})});this._showBackdrop(()=>this._showElement(t))}}}hide(){if(this._isShown&&!this._isTransitioning){const i=n.trigger(this._element,lb);if(!i.defaultPrevented){this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0);this._setEscapeEvent();this._setResizeEvent();this._focustrap.deactivate();this._element.classList.remove(nc);n.off(this._element,bh);n.off(this._dialog,dh);this._queueCallback(()=>this._hideModal(),this._element,t)}}}dispose(){[window,this._dialog].forEach(t=>n.off(t,a));this._backdrop.dispose();this._focustrap.deactivate();super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new sh({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new ch({trapElement:this._element})}_getConfig(n){return n={...vh,...i.getDataAttributes(this._element),...(typeof n=="object"?n:{})},p(lh,n,cb),n}_showElement(i){const r=this._isAnimated(),u=t.findOne(db,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element);this._element.style.display="block";this._element.removeAttribute("aria-hidden");this._element.setAttribute("aria-modal",!0);this._element.setAttribute("role","dialog");this._element.scrollTop=0;u&&(u.scrollTop=0);r&&kt(this._element);this._element.classList.add(nc);const f=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,n.trigger(this._element,vb,{relatedTarget:i})};this._queueCallback(f,this._dialog,r)}_setEscapeEvent(){if(this._isShown)n.on(this._element,kh,n=>{this._config.keyboard&&n.key===ah?(n.preventDefault(),this.hide()):this._config.keyboard||n.key!==ah||this._triggerBackdropTransition()});else n.off(this._element,kh)}_setResizeEvent(){if(this._isShown)n.on(window,wh,()=>this._adjustDialog());else n.off(window,wh)}_hideModal(){this._element.style.display="none";this._element.setAttribute("aria-hidden",!0);this._element.removeAttribute("aria-modal");this._element.removeAttribute("role");this._isTransitioning=!1;this._backdrop.hide(()=>{document.body.classList.remove(gh),this._resetAdjustments(),this._scrollBar.reset(),n.trigger(this._element,yh)})}_showBackdrop(t){n.on(this._element,bh,n=>{if(this._ignoreBackdropClick){this._ignoreBackdropClick=!1;return}n.target===n.currentTarget&&(this._config.backdrop===!0?this.hide():this._config.backdrop==="static"&&this._triggerBackdropTransition())});this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains(wb)}_triggerBackdropTransition(){const u=n.trigger(this._element,ab);if(!u.defaultPrevented){const{classList:t,scrollHeight:f,style:i}=this._element,r=f>document.documentElement.clientHeight;(r||i.overflowY!=="hidden")&&!t.contains(yf)&&(r||(i.overflowY="hidden"),t.add(yf),this._queueCallback(()=>{t.remove(yf),r||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}}_adjustDialog(){const n=this._element.scrollHeight>document.documentElement.clientHeight,i=this._scrollBar.getWidth(),t=i>0;(!t&&n&&!r()||t&&!n&&r())&&(this._element.style.paddingLeft=`${i}px`);(t&&!n&&!r()||!t&&n&&r())&&(this._element.style.paddingRight=`${i}px`)}_resetAdjustments(){this._element.style.paddingLeft="";this._element.style.paddingRight=""}static jQueryInterface(n,t){return this.each(function(){const i=oi.getOrCreateInstance(this,n);if(typeof n=="string"){if(typeof i[n]=="undefined")throw new TypeError(`No method named "${n}"`);i[n](t)}})}}n.on(document,pb,'[data-bs-toggle="modal"]',function(i){const r=tt(this);["A","AREA"].includes(this.tagName)&&i.preventDefault();n.one(r,ph,t=>{if(!t.defaultPrevented)n.one(r,yh,()=>{ci(this)&&this.focus()})});const u=t.findOne(bb);u&&oi.getInstance(u).hide();const f=oi.getOrCreateInstance(r);f.toggle(this)});er(oi);h(oi);const tc="offcanvas",wt=`.${"bs.offcanvas"}`,ic=".data-api",gb=`load${wt}${ic}`,nk="Escape",rc={backdrop:!0,keyboard:!0,scroll:!1},tk={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},uc="show",ik="offcanvas-backdrop",fc=".offcanvas.show",rk=`show${wt}`,uk=`shown${wt}`,fk=`hide${wt}`,ec=`hidden${wt}`,ek=`click${wt}${ic}`,ok=`keydown.dismiss${wt}`;class bt extends v{constructor(n,t){super(n);this._config=this._getConfig(t);this._isShown=!1;this._backdrop=this._initializeBackDrop();this._focustrap=this._initializeFocusTrap();this._addEventListeners()}static get NAME(){return tc}static get Default(){return rc}toggle(n){return this._isShown?this.hide():this.show(n)}show(t){if(!this._isShown){const i=n.trigger(this._element,rk,{relatedTarget:t});if(!i.defaultPrevented){this._isShown=!0;this._element.style.visibility="visible";this._backdrop.show();this._config.scroll||(new vf).hide();this._element.removeAttribute("aria-hidden");this._element.setAttribute("aria-modal",!0);this._element.setAttribute("role","dialog");this._element.classList.add(uc);const r=()=>{this._config.scroll||this._focustrap.activate(),n.trigger(this._element,uk,{relatedTarget:t})};this._queueCallback(r,this._element,!0)}}}hide(){if(this._isShown){const t=n.trigger(this._element,fk);if(!t.defaultPrevented){this._focustrap.deactivate();this._element.blur();this._isShown=!1;this._element.classList.remove(uc);this._backdrop.hide();const i=()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new vf).reset(),n.trigger(this._element,ec)};this._queueCallback(i,this._element,!0)}}}dispose(){this._backdrop.dispose();this._focustrap.deactivate();super.dispose()}_getConfig(n){return n={...rc,...i.getDataAttributes(this._element),...(typeof n=="object"?n:{})},p(tc,n,tk),n}_initializeBackDrop(){return new sh({className:ik,isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new ch({trapElement:this._element})}_addEventListeners(){n.on(this._element,ok,n=>{this._config.keyboard&&n.key===nk&&this.hide()})}static jQueryInterface(n){return this.each(function(){const t=bt.getOrCreateInstance(this,n);if(typeof n=="string"){if(t[n]===undefined||n.startsWith("_")||n==="constructor")throw new TypeError(`No method named "${n}"`);t[n](this)}})}}n.on(document,ek,'[data-bs-toggle="offcanvas"]',function(i){const r=tt(this);if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),!st(this)){n.one(r,ec,()=>{ci(this)&&this.focus()});const u=t.findOne(fc);u&&u!==r&&bt.getInstance(u).hide();const f=bt.getOrCreateInstance(r);f.toggle(this)}});n.on(window,gb,()=>t.find(fc).forEach(n=>bt.getOrCreateInstance(n).show()));er(bt);h(bt);const sk=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),hk=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,ck=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,lk=(n,t)=>{const i=n.nodeName.toLowerCase();if(t.includes(i))return sk.has(i)?Boolean(hk.test(n.nodeValue)||ck.test(n.nodeValue)):!0;const r=t.filter(n=>n instanceof RegExp);for(let n=0,t=r.length;n

<\/div>
<\/div><\/div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},bk={HIDE:`hide${k}`,HIDDEN:`hidden${k}`,SHOW:`show${k}`,SHOWN:`shown${k}`,INSERTED:`inserted${k}`,CLICK:`click${k}`,FOCUSIN:`focusin${k}`,FOCUSOUT:`focusout${k}`,MOUSEENTER:`mouseenter${k}`,MOUSELEAVE:`mouseleave${k}`},gr="fade",gi="show",nr="show",pf="out",hc=".tooltip-inner",cc=`.${"modal"}`,lc="hide.bs.modal",tr="hover",wf="focus",kk="click",dk="manual";class si extends v{constructor(n,t){if(typeof ds=="undefined")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(n);this._isEnabled=!0;this._timeout=0;this._hoverState="";this._activeTrigger={};this._popper=null;this._config=this._getConfig(t);this.tip=null;this._setListeners()}static get Default(){return wk}static get NAME(){return sc}static get Event(){return bk}static get DefaultType(){return yk}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(n){if(this._isEnabled)if(n){const t=this._initializeOnDelegatedTarget(n);t._activeTrigger.click=!t._activeTrigger.click;t._isWithActiveTrigger()?t._enter(null,t):t._leave(null,t)}else{if(this.getTipElement().classList.contains(gi)){this._leave(null,this);return}this._enter(null,this)}}dispose(){clearTimeout(this._timeout);n.off(this._element.closest(cc),lc,this._hideModalHandler);this.tip&&this.tip.remove();this._disposePopper();super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){const e=n.trigger(this._element,this.constructor.Event.SHOW),i=te(this._element),o=i===null?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(!e.defaultPrevented&&o){this.constructor.NAME==="tooltip"&&this.tip&&this.getTitle()!==this.tip.querySelector(hc).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const t=this.getTipElement(),r=el(this.constructor.NAME);t.setAttribute("id",r);this._element.setAttribute("aria-describedby",r);this._config.animation&&t.classList.add(gr);const s=typeof this._config.placement=="function"?this._config.placement.call(this,t,this._element):this._config.placement,u=this._getAttachment(s);this._addAttachmentClass(u);const{container:h}=this._config;li.set(t,this.constructor.DATA_KEY,this);this._element.ownerDocument.documentElement.contains(this.tip)||(h.append(t),n.trigger(this._element,this.constructor.Event.INSERTED));this._popper?this._popper.update():this._popper=sf(this._element,t,this._getPopperConfig(u));t.classList.add(gi);const f=this._resolvePossibleFunction(this._config.customClass);f&&t.classList.add(...f.split(" "));"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{n.on(t,"mouseover",fr)});const c=()=>{const t=this._hoverState;this._hoverState=null;n.trigger(this._element,this.constructor.Event.SHOWN);t===pf&&this._leave(null,this)},l=this.tip.classList.contains(gr);this._queueCallback(c,this.tip,l)}}}hide(){if(this._popper){const t=this.getTipElement(),i=()=>{this._isWithActiveTrigger()||(this._hoverState!==nr&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),n.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())},r=n.trigger(this._element,this.constructor.Event.HIDE);if(!r.defaultPrevented){t.classList.remove(gi);"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>n.off(t,"mouseover",fr));this._activeTrigger[kk]=!1;this._activeTrigger[wf]=!1;this._activeTrigger[tr]=!1;const u=this.tip.classList.contains(gr);this._queueCallback(i,this.tip,u);this._hoverState=""}}}update(){this._popper!==null&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const n=t.children[0];return this.setContent(n),n.classList.remove(gr,gi),this.tip=n,this.tip}setContent(n){this._sanitizeAndSetContent(n,this.getTitle(),hc)}_sanitizeAndSetContent(n,i,r){const u=t.findOne(r,n);if(!i&&u){u.remove();return}this.setElementContent(u,i)}setElementContent(n,t){if(n!==null){if(ot(t)){t=it(t);this._config.html?t.parentNode!==n&&(n.innerHTML="",n.append(t)):n.textContent=t.textContent;return}this._config.html?(this._config.sanitize&&(t=oc(t,this._config.allowList,this._config.sanitizeFn)),n.innerHTML=t):n.textContent=t}}getTitle(){const n=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(n)}updateAttachment(n){return n==="right"?"end":n==="left"?"start":n}_initializeOnDelegatedTarget(n,t){return t||this.constructor.getOrCreateInstance(n.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:n}=this._config;return typeof n=="string"?n.split(",").map(n=>Number.parseInt(n,10)):typeof n=="function"?t=>n(t,this._element):n}_resolvePossibleFunction(n){return typeof n=="function"?n.call(this._element):n}_getPopperConfig(n){const t={placement:n,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:n=>this._handlePopperPlacementChange(n)}],onFirstUpdate:n=>{n.options.placement!==n.placement&&this._handlePopperPlacementChange(n)}};return{...t,...(typeof this._config.popperConfig=="function"?this._config.popperConfig(t):this._config.popperConfig)}}_addAttachmentClass(n){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(n)}`)}_getAttachment(n){return pk[n.toUpperCase()]}_setListeners(){const t=this._config.trigger.split(" ");t.forEach(t=>{if(t==="click")n.on(this._element,this.constructor.Event.CLICK,this._config.selector,n=>this.toggle(n));else if(t!==dk){const i=t===tr?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,r=t===tr?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;n.on(this._element,i,this._config.selector,n=>this._enter(n));n.on(this._element,r,this._config.selector,n=>this._leave(n))}});this._hideModalHandler=()=>{this._element&&this.hide()};n.on(this._element.closest(cc),lc,this._hideModalHandler);this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const n=this._element.getAttribute("title"),t=typeof this._element.getAttribute("data-bs-original-title");(n||t!=="string")&&(this._element.setAttribute("data-bs-original-title",n||""),!n||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",n),this._element.setAttribute("title",""))}_enter(n,t){if(t=this._initializeOnDelegatedTarget(n,t),n&&(t._activeTrigger[n.type==="focusin"?wf:tr]=!0),t.getTipElement().classList.contains(gi)||t._hoverState===nr){t._hoverState=nr;return}if(clearTimeout(t._timeout),t._hoverState=nr,!t._config.delay||!t._config.delay.show){t.show();return}t._timeout=setTimeout(()=>{t._hoverState===nr&&t.show()},t._config.delay.show)}_leave(n,t){if(t=this._initializeOnDelegatedTarget(n,t),n&&(t._activeTrigger[n.type==="focusout"?wf:tr]=t._element.contains(n.relatedTarget)),!t._isWithActiveTrigger()){if(clearTimeout(t._timeout),t._hoverState=pf,!t._config.delay||!t._config.delay.hide){t.hide();return}t._timeout=setTimeout(()=>{t._hoverState===pf&&t.hide()},t._config.delay.hide)}}_isWithActiveTrigger(){for(const n in this._activeTrigger)if(this._activeTrigger[n])return!0;return!1}_getConfig(n){const t=i.getDataAttributes(this._element);return Object.keys(t).forEach(n=>{vk.has(n)&&delete t[n]}),n={...this.constructor.Default,...t,...(typeof n=="object"&&n?n:{})},n.container=n.container===!1?document.body:it(n.container),typeof n.delay=="number"&&(n.delay={show:n.delay,hide:n.delay}),typeof n.title=="number"&&(n.title=n.title.toString()),typeof n.content=="number"&&(n.content=n.content.toString()),p(sc,n,this.constructor.DefaultType),n.sanitize&&(n.template=oc(n.template,n.allowList,n.sanitizeFn)),n}_getDelegateConfig(){const n={};for(const t in this._config)this.constructor.Default[t]!==this._config[t]&&(n[t]=this._config[t]);return n}_cleanTipClass(){const t=this.getTipElement(),i=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),n=t.getAttribute("class").match(i);n!==null&&n.length>0&&n.map(n=>n.trim()).forEach(n=>t.classList.remove(n))}_getBasicClassPrefix(){return ak}_handlePopperPlacementChange(n){const{state:t}=n;t&&(this.tip=t.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(n){return this.each(function(){const t=si.getOrCreateInstance(this,n);if(typeof n=="string"){if(typeof t[n]=="undefined")throw new TypeError(`No method named "${n}"`);t[n]()}})}}h(si);const gk="popover",d=`.${"bs.popover"}`,nd="bs-popover",td={...si.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'

^CGPYc*)6UxAA5g`cLbZGI)tSBNL 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 delta 25810 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 wYCS3OGc7^Sk} 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 X2kDpZq(9UQq035Y1wZ6PgUa)NtT&r# delta 12688 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 b4FeEWXX3+pDZtmXQ&~_>WOF}U{G9&*3}5u> diff --git a/source-code/Volo.Abp.OpenIddict.SourceCode/Volo.Abp.OpenIddict.SourceCode.zip b/source-code/Volo.Abp.OpenIddict.SourceCode/Volo.Abp.OpenIddict.SourceCode.zip index 4125cac8d03472822eeda8f4b695119a47d2abd4..f73530404528450920c29f5db6e95bffddb8d8b5 100644 GIT binary patch delta 21251 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 delta 20536 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