diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs index d226dba96..8935f9251 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs @@ -223,6 +223,7 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase if (!string.IsNullOrEmpty(_options.Value.IncomingOptions.apiUrl)) { var productReceiptJson = JsonSerializer.Deserialize(incomingToWms.DataContent); + productReceiptJson.Worker = "Mes"; try { diff --git a/be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/StoreHttpApiHostModule.cs b/be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/StoreHttpApiHostModule.cs index 84e46d947..cbe8fbf3f 100644 --- a/be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/StoreHttpApiHostModule.cs +++ b/be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/StoreHttpApiHostModule.cs @@ -1,6 +1,7 @@ using System.IO; using System.Text.Json.Serialization; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Volo.Abp; diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs index 3b524b101..1d31d0782 100644 --- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs +++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs @@ -17,6 +17,22 @@ public class ReportItemSerialDto public string Configuration { get; set; } + public decimal FirstQty { get; set; } + + public decimal SumInQty { get; set; } + + public decimal SumOutQty { get; set; } + + /// + /// 此时此刻的库存 + /// + public decimal NowQty { get; set; } + + /// + /// 期末库存 期初+入库-出库 + /// + public decimal LastQty { get; set; } + public List ReportErpLocationSerialDtos { get; set; } = new(); } diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs index d77b7acce..e54d7b221 100644 --- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs +++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Volo.Abp; using Volo.Abp.ObjectMapping; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Application.Contracts; @@ -128,15 +129,31 @@ public class TransactionAppService /// /// /// - [HttpGet("item-serial-list")] - public virtual async Task> GetItemSerialList(List itemCodes,DateTime startDateTime,DateTime endDateTime) + [HttpPost("item-serial-list")] + public virtual async Task> GetItemSerialList(List itemCodes,string erpLocationCode,DateTime startDateTime,DateTime endDateTime) { var itemSerialDtos = new List(); + if (!itemCodes.Any()) + { + var itemBasicDtos_i= await _itemBasicAppService.GetAllListByFilterAsync(new SfsBaseDataRequestInputBase()).ConfigureAwait(false); + var itemBasicDtos_t = await _repository.GetListAsync().ConfigureAwait(false); + + itemCodes.AddRange(itemBasicDtos_i.Select(p => p.Code)); + itemCodes.AddRange(itemBasicDtos_t.Select(p => p.ItemCode)); + + itemCodes=itemCodes.Distinct().ToList(); + } + foreach (var itemCode in itemCodes) { var itemSerialDto = new ReportItemSerialDto(); var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(itemCode).ConfigureAwait(false); + if (itemBasicDto==null) + { + throw new UserFriendlyException($"物品代码{itemCode}不存在"); + } + itemSerialDto.ItemCode = itemBasicDto.Code; itemSerialDto.ItemDesc1 = itemBasicDto.Desc1; itemSerialDto.ItemDesc2 = itemBasicDto.Desc2; @@ -145,8 +162,16 @@ public class TransactionAppService //所有这个零件的事务 var transactions=await _repository.GetListAsync(p => p.ItemCode == itemCode).ConfigureAwait(false); - var locationDtos=await _locationAppService.GetAllAsync().ConfigureAwait(false); + if (!string.IsNullOrEmpty(erpLocationCode)) + { + transactions = transactions.Where(p => p.LocationErpCode == erpLocationCode).ToList(); + } + var locationDtos=await _locationAppService.GetAllAsync().ConfigureAwait(false); + if (!string.IsNullOrEmpty(erpLocationCode)) + { + locationDtos = locationDtos.Where(p => p.ErpLocationCode == erpLocationCode).ToList(); + } var groupKey= locationDtos.GroupBy(p => p.ErpLocationCode); foreach (var keyGroup in groupKey) @@ -191,8 +216,18 @@ public class TransactionAppService //期初库存 var tempFirstSum = transactions.Where(p => p.LocationCode == locationDto.Code && p.CreationTimep.Qty); //当前库存 - var balanceDtos= await _balanceAppService.GetListByLocationCodeAndItemCodeAsync(locationDto.Code, itemSerialDto.ItemCode).ConfigureAwait(false); - var tempNowSum = balanceDtos.Sum(p => p.Qty); + decimal tempNowSum = 0; + try + { + var balanceDtos = await _balanceAppService + .GetListByLocationCodeAndItemCodeAsync(locationDto.Code, itemSerialDto.ItemCode) + .ConfigureAwait(false); + tempNowSum = balanceDtos.Sum(p => p.Qty); + } + catch + { + } + //期末库存 var tempLastSum = transactions.Where(p => p.LocationCode == locationDto.Code && p.CreationTime < endDateTime).Sum(p => p.Qty); @@ -224,6 +259,12 @@ public class TransactionAppService itemSerialDto.ReportErpLocationSerialDtos.Add(reportErpLocationSerialDto); } + itemSerialDto.FirstQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.FirstQty); + itemSerialDto.NowQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.NowQty); + itemSerialDto.LastQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.LastQty); + itemSerialDto.SumOutQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.SumOutQty); + itemSerialDto.SumInQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.SumInQty); + itemSerialDtos.Add(itemSerialDto); } diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs index 49586cc1f..6d8f3e1f9 100644 --- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs +++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs @@ -16,8 +16,10 @@ using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Mvc.ApiExplorer; +using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Internal; using Microsoft.EntityFrameworkCore.Storage; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -65,6 +67,16 @@ public abstract class ModuleBase : AbpModule where T : AbpModule var cfg = context.Services.GetConfiguration(); ServiceConfigurationContext.SetConsoleTitleOfWebApp(Assembly.GetEntryAssembly().GetName().Name); LimitedResultRequestDto.MaxMaxResultCount = 100000; + //接口请求限制 + context.Services.Configure(options => + { + options.Limits.MaxRequestBodySize = int.MaxValue; + }); + context.Services.Configure(x => + { + x.ValueLengthLimit = int.MaxValue; + x.MultipartBodyLengthLimit = int.MaxValue; + }); //context.Services.AddAgileConfig(); PreConfigureServices(context); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs index dd44a42dc..e9c4dab04 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs @@ -218,6 +218,7 @@ public class InspectJobManager : SfsJobManagerBase summaryDetailEntity.FailedQty = input.FailedQty; summaryDetailEntity.FailedReason = input.FailedReason; summaryDetailEntity.NotPassedQty = input.NotPassedQty; + summaryDetailEntity.InspectReport = input.InspectReport; return summaryDetailEntity; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/IInspectNoteManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/IInspectNoteManager.cs index be8792480..a4df56072 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/IInspectNoteManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/IInspectNoteManager.cs @@ -14,4 +14,6 @@ public interface IInspectNoteManager : ISfsStoreManager /// Task CreateSummaryDetailAndDetailByIdAsync(Guid id, InspectNoteSummaryDetail summaryDetail, List details); + + Task GetByJobNumberAsync(string jobNumber); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/InspectNoteManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/InspectNoteManager.cs index 3b75b3c16..f07aeebe2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/InspectNoteManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/InspectNotes/InspectNoteManager.cs @@ -61,4 +61,9 @@ public class InspectNoteManager : SfsStoreManagerBase GetByJobNumberAsync(string jobNumber) + { + return await Repository.FindAsync(p => p.JobNumber == jobNumber).ConfigureAwait(false); + } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/SupplierAsns/SupplierAsnManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/SupplierAsns/SupplierAsnManager.cs index 784fa00cd..a5e095a5e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/SupplierAsns/SupplierAsnManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/SupplierAsns/SupplierAsnManager.cs @@ -29,6 +29,7 @@ public class SupplierAsnManager : SfsStoreManagerBase> { private readonly IInspectNoteAppService _inspectNoteAppService; + private readonly InspectNoteManager _inspectNoteManager; public InspectJobEventHandler( - IInspectNoteAppService inspectNoteAppService - ) + IInspectNoteAppService inspectNoteAppService, InspectNoteManager inspectNoteManager) { _inspectNoteAppService = inspectNoteAppService; + _inspectNoteManager = inspectNoteManager; } /// @@ -90,7 +91,8 @@ public class InspectJobEventHandler : { var entity = eventData.Entity; - var inspectNote = await _inspectNoteAppService.GetByJobNumberAsync(entity.Number).ConfigureAwait(false); + var inspectNote = await _inspectNoteManager.GetByJobNumberAsync(entity.Number); + //var inspectNote = await _inspectNoteAppService.GetByJobNumberAsync(entity.Number).ConfigureAwait(false); var jobSummaryDetail = entity.SummaryDetails.FirstOrDefault(); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReceiptJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReceiptJobEventHandler.cs index 09821b5db..b3326c416 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReceiptJobEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReceiptJobEventHandler.cs @@ -49,6 +49,11 @@ public class PurchaseReceiptJobEventHandler : var holdLocation = await LocationAclService.GetFirstByTypeAsync(EnumLocationType.HOLD).ConfigureAwait(false); //隔离库位 var createInput = ObjectMapper.Map(purchaseReceiptJob); + if (string.IsNullOrEmpty(createInput.Worker)) + { + createInput.Worker = purchaseReceiptJob.Worker; + } + //未收货记录 var noReceiptNoteList = createInput.Details.Where(p => p.Qty == 0); foreach (var detailInput in noReceiptNoteList) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs index 4bf33466c..c0cdb0ae5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs @@ -31,6 +31,7 @@ public class PurchaseReceiptNoteEventHandler private readonly IItemQualityAppService _itemQualityAppService; private readonly ISupplierAsnAppService _supplierAsnAppService; private readonly IPurchaseReceiptRequestAppService _purchaseReceiptRequestAppService; + private readonly IItemBasicAppService _itemBasicAppService; /// /// 收货记录 @@ -43,13 +44,15 @@ public class PurchaseReceiptNoteEventHandler IPurchaseOrderAppService purchaseOrderAppService, IItemQualityAppService itemQualityAppService, ISupplierAsnAppService supplierAsnAppService, - IPurchaseReceiptRequestAppService purchaseReceiptRequestAppService) + IPurchaseReceiptRequestAppService purchaseReceiptRequestAppService, + IItemBasicAppService itemBasicAppService) { _inspectRequestAppService = inspectRequestAppService; _purchaseOrderAppService = purchaseOrderAppService; _itemQualityAppService = itemQualityAppService; _supplierAsnAppService = supplierAsnAppService; _purchaseReceiptRequestAppService = purchaseReceiptRequestAppService; + _itemBasicAppService = itemBasicAppService; } /// @@ -181,6 +184,8 @@ public class PurchaseReceiptNoteEventHandler transaction.Worker = purchaseReceiptNote.Worker; transaction.DocNumber = purchaseReceiptNote.Number; transaction.JobNumber = purchaseReceiptNote.JobNumber; + var itemBasicDto=await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); + transaction.ExpireDate = detail.ProduceDate.AddDays(itemBasicDto.GetValidateDays()); switch (detail.PurchaseReceiptInspectStatus) { diff --git a/be/Web.Gateway/Web.Gateway.sln b/be/Web.Gateway/Web.Gateway.sln new file mode 100644 index 000000000..62abbcaff --- /dev/null +++ b/be/Web.Gateway/Web.Gateway.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.6.33801.468 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Web.Gateway", "Web.Gateway\Web.Gateway.csproj", "{F7D9A48F-16DD-4ED2-A7DD-93BFF6C51F72}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F7D9A48F-16DD-4ED2-A7DD-93BFF6C51F72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F7D9A48F-16DD-4ED2-A7DD-93BFF6C51F72}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F7D9A48F-16DD-4ED2-A7DD-93BFF6C51F72}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F7D9A48F-16DD-4ED2-A7DD-93BFF6C51F72}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {931AE41B-0CBC-4C24-965E-BC13FFA740B6} + EndGlobalSection +EndGlobal diff --git a/be/Web.Gateway/Web.Gateway/.config/dotnet-tools.json b/be/Web.Gateway/Web.Gateway/.config/dotnet-tools.json new file mode 100644 index 000000000..3aca4744e --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "7.0.4", + "commands": [ + "dotnet-ef" + ] + } + } +} \ No newline at end of file diff --git a/be/Web.Gateway/Web.Gateway/Controllers/AccountController.cs b/be/Web.Gateway/Web.Gateway/Controllers/AccountController.cs new file mode 100644 index 000000000..ac81781d4 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Controllers/AccountController.cs @@ -0,0 +1,52 @@ +using System.Security.Claims; +using Microsoft.AspNetCore.Authentication; +using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Web.Gateway.Models; + +namespace Web.Gateway.Controllers; + +public class AccountController : Controller +{ + [AllowAnonymous] + [HttpGet] + public IActionResult Login(string returnUrl) + { + ViewBag.ReturnUrl = returnUrl; + return View(); + } + + [AllowAnonymous] + [HttpPost] + public async Task Login(LoginModel model, string returnUrl) + { + ViewBag.ReturnUrl = returnUrl; + if (ModelState.IsValid) + { + if (model.UserName == "admin" && model.Password == "aA123456!") + { + var claims = new List + { + new Claim(ClaimTypes.Name, model.UserName), + new Claim(ClaimTypes.Role, "Administrator"), + }; + var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); + await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, + new ClaimsPrincipal(claimsIdentity)).ConfigureAwait(false); + + return LocalRedirect(returnUrl ?? Url.Content("~/")); + } + ModelState.AddModelError("", "用户名或密码错误"); + } + return View(model); + } + + [Authorize] + [HttpPost] + public async Task Logout(string returnUrl) + { + await HttpContext.SignOutAsync().ConfigureAwait(false); + return RedirectToAction("Index", "Home"); + } +} diff --git a/be/Web.Gateway/Web.Gateway/Controllers/ConfigController.cs b/be/Web.Gateway/Web.Gateway/Controllers/ConfigController.cs new file mode 100644 index 000000000..437b6bfa5 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Controllers/ConfigController.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Web.Gateway.Controllers; + +[Authorize] +public class ConfigController : Controller +{ + public IActionResult Index() + { + var files = Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "settings"), "*.json") + .Select(o => new { File = o, Content = System.IO.File.ReadAllText(o) }) + .ToDictionary(o => o.File, o => o.Content); + return View(files); + } + + [HttpGet] + public IActionResult Edit(string file) + { + return View(model:file); + } + + [HttpPost] + public IActionResult Edit(string file, string content) + { + using var sw = new StreamWriter(file); + sw.Write(content); + return RedirectToAction("Index"); + } +} diff --git a/be/Web.Gateway/Web.Gateway/Controllers/GatewayController.cs b/be/Web.Gateway/Web.Gateway/Controllers/GatewayController.cs new file mode 100644 index 000000000..402375030 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Controllers/GatewayController.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Web.Gateway.Controllers; + +[Authorize] +public class GatewayController : Controller +{ + public IActionResult Index() + { + var files = Directory.GetFiles(Directory.GetCurrentDirectory(), "appsettings*.json") + .Select(o => new { File = o, Content = System.IO.File.ReadAllText(o) }) + .ToDictionary(o => o.File, o => o.Content); + return View(files); + } + + [HttpGet] + public IActionResult Edit(string file) + { + return View(model: file); + } + + [HttpPost] + public IActionResult Edit(string file, string content) + { + using var sw = new StreamWriter(file); + sw.Write(content); + return RedirectToAction("Index"); + } +} diff --git a/be/Web.Gateway/Web.Gateway/Controllers/HomeController.cs b/be/Web.Gateway/Web.Gateway/Controllers/HomeController.cs new file mode 100644 index 000000000..b34b8e1e3 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Controllers/HomeController.cs @@ -0,0 +1,236 @@ +using System.Globalization; +using System.Text; +using System.Text.Json; +using Flurl; +using Flurl.Util; +using InfluxDB.Client; +using InfluxDB.Client.Api.Domain; +using InfluxDB.Client.Writes; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.SignalR; +using Web.Gateway.Models; + +namespace Web.Gateway; + +public class HomeController : Controller +{ + private const string Table = "log"; + private const string TagKey = "ApplicationName"; + private const string TimeKey = "Time"; + private readonly Dictionary _connectionValues; + private readonly IHttpClientFactory _httpClientFactory; + private readonly IHubContext _hubContext; + private readonly ILogger _logger; + + public HomeController(ILogger logger, + IConfiguration configuration, + IHttpClientFactory httpClientFactory, + IHubContext hubContext) + { + _logger = logger; + _httpClientFactory = httpClientFactory; + _hubContext = hubContext; + _connectionValues = configuration.GetConnectionString("InfluxDB") + .Split(';', StringSplitOptions.RemoveEmptyEntries) + .Select(o => o.Split('=', StringSplitOptions.RemoveEmptyEntries)) + .ToDictionary(o => o[0].ToLowerInvariant(), o => o[1]); + } + + [HttpGet] + [Authorize] + public async Task Index(QueryLogModel model) + { + try + { + if (!model.UseCustom || string.IsNullOrEmpty(model.Query)) + { + if (!model.Start.HasValue) + { + model.Start = DateTime.Now.Date; + } + if (!model.End.HasValue) + { + model.End = DateTime.Now.Date.AddDays(1); + } + var start = model.Start.Value.ToUniversalTime().ToInvariantString(); + var end = model.End.Value.ToUniversalTime().ToInvariantString(); + var query = $"select * from {Table} where time>='{start}' and time<='{end}' "; + if (!string.IsNullOrEmpty(model.ApplicationName)) + { + query += $"and {nameof(model.ApplicationName)}='{model.ApplicationName}' "; + } + else + { + model.ApplicationName = string.Empty; + } + if (!string.IsNullOrEmpty(model.Level)) + { + query += $"and {nameof(model.Level)}='{model.Level}' "; + } + else + { + model.Level = string.Empty; + } + query += $"order by time desc "; + query += $"limit {model.PageSize} offset {(model.PageIndex - 1) * model.PageSize}"; + model.Query = query; + } + var result = await QueryInfluxDB($"{model.Query}").ConfigureAwait(false); + if (result != null) + { + model.Items = result.Values.Select(o => + { + var dict = new Dictionary(); + for (int i = 0; i < result.Columns.Count; i++) + { + dict.Add(result.Columns[i], o[i]); + } + return dict; + }).ToList(); + } + // tags + var tagQuery = $"show tag values on {_connectionValues["database"]} with key={TagKey}"; + var tagResult = await QueryInfluxDB(tagQuery).ConfigureAwait(false); + if (tagResult != null) + { + model.Tags = tagResult.Values.Select(o => o[1]).ToList(); + } + } + catch (Exception ex) + { + _logger.LogError(ex, ex.ToString()); + ModelState.AddModelError("", ex.Message); + } + return View(model); + } + + [HttpPost] + public async Task Index() + { + if (!Request.Body.CanSeek) + { + Request.EnableBuffering(); + } + + Request.Body.Position = 0; + var reader = new StreamReader(Request.Body, Encoding.UTF8); + var body = await reader.ReadToEndAsync().ConfigureAwait(false); + Request.Body.Position = 0; + var list = JsonSerializer.Deserialize>(body!)!; + + using var client = new InfluxDBClient(_connectionValues["url"], + _connectionValues["usr"], + _connectionValues["pwd"], + _connectionValues["database"], + _connectionValues["retention-policy"]); + using var writeApi = client.GetWriteApi(); + var dicts = list.Select(o => + { + var dict = new Dictionary + { + { TimeKey,new DateTimeOffset(o.Timestamp).ToInvariantString()}, + { TagKey, o.Properties?[TagKey].ToString()! }, + { nameof(o.Level), o.Level }, + }; + if (o.Exception != null) + { + dict.Add(nameof(o.Exception), o.Exception); + } + if (o.MessageTemplate != null) + { + dict.Add(nameof(o.MessageTemplate), o.MessageTemplate); + } + if (o.RenderedMessage != null) + { + dict.Add(nameof(o.RenderedMessage), o.RenderedMessage); + } + if (o.Properties != null) + { + foreach (var item in o.Properties.Where(o => o.Key != TagKey && o.Value != null)) + { + if (item.Key == "EventId") + { + var eventProperties = item.Value as JsonElement?; + if (eventProperties != null) + { + if (eventProperties.Value.TryGetProperty("Id", out JsonElement eventId)) + { + dict.Add("EventId", eventId.ToString()); + } + } + if (eventProperties != null) + { + if (eventProperties.Value.TryGetProperty("Name", out JsonElement eventName)) + { + dict.Add("EventName", eventName.ToString()); + } + } + } + else + { + dict.Add(item.Key, item.Value.ToString()!); + } + } + } + if (o.Renderings != null) + { + foreach (var item in o.Renderings) + { + foreach (var item2 in item.Value) + { + dict.Add($"{item.Key}_{item2.Format}", item2.Rendering); + } + } + } + return dict; + }); + var points = dicts.Select(o => + { + var point = PointData.Measurement(Table); + foreach (var key in o.Keys) + { + if (key == TimeKey) + { + point = point.Timestamp(DateTime.Parse(o[key], CultureInfo.InvariantCulture), WritePrecision.Ms); + } + else if (key == TagKey) + { + point = point.Tag(TagKey, o[key]); + } + else + { + point = point.Field(key, o[key]); + } + } + return point; + }).ToList(); + writeApi.WritePoints(points); + await _hubContext.Clients.Group("tail").SendAsync("notify", dicts.Reverse()).ConfigureAwait(false); + return Ok(); + } + + private async Task QueryInfluxDB(string query) + { + var url = _connectionValues["url"] + .AppendPathSegment("query") + .SetQueryParam("db", _connectionValues["database"]) + .SetQueryParam("q", query!) + .ToString(); + var result = await _httpClientFactory.CreateClient().GetAsync(url).ConfigureAwait(false); + var content = await result.Content.ReadAsStringAsync().ConfigureAwait(false); + var results = JsonSerializer.Deserialize(content)!; + if (results.Results.Count > 0 && results.Results[0].Series.Count > 0) + { + return results.Results[0].Series[0]; + } + return null; + } + + [HttpPost] + [Route("/test")] + public string UploadTest([FromForm] IFormFileCollection files,string test) + { + return "ok"; + } +} diff --git a/be/Web.Gateway/Web.Gateway/Controllers/TestController.cs b/be/Web.Gateway/Web.Gateway/Controllers/TestController.cs new file mode 100644 index 000000000..58685cdd7 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Controllers/TestController.cs @@ -0,0 +1,19 @@ +using System.Text.Json; +using Microsoft.AspNetCore.Mvc; + +namespace Web.Gateway.Controllers; + +public class TestController : Controller +{ + private readonly IConfiguration _configuration; + + public TestController(IConfiguration configuration) + { + this._configuration = configuration; + } + + public IActionResult Index() + { + return Json(this._configuration.AsEnumerable(),new JsonSerializerOptions { WriteIndented=true }); + } +} diff --git a/be/Web.Gateway/Web.Gateway/Hubs/PageHub.cs b/be/Web.Gateway/Web.Gateway/Hubs/PageHub.cs new file mode 100644 index 000000000..0af97ea84 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Hubs/PageHub.cs @@ -0,0 +1,37 @@ +using Microsoft.AspNetCore.SignalR; + +public class PageHub : Hub +{ + private readonly ILogger _logger; + + public PageHub(ILogger logger) + { + this._logger = logger; + } + + public override Task OnConnectedAsync() + { + this._logger.LogInformation($"{Context.ConnectionId} has connected"); + this.Groups.AddToGroupAsync(Context.ConnectionId, Context.ConnectionId); + this.Clients.Group(Context.ConnectionId).SendAsync("connected", Context.ConnectionId); + return base.OnConnectedAsync(); + } + + public override Task OnDisconnectedAsync(Exception? exception) + { + this._logger.LogInformation($"{Context.ConnectionId} has disconnected: {exception}"); + return base.OnDisconnectedAsync(exception); + } + public void SetTail(bool enabled, string connectionId) + { + var groupName = "tail"; + if (enabled) + { + this.Groups.AddToGroupAsync(connectionId, groupName); + } + else + { + this.Groups.RemoveFromGroupAsync(connectionId, groupName); + } + } +} diff --git a/be/Web.Gateway/Web.Gateway/Models/InfluxResult.cs b/be/Web.Gateway/Web.Gateway/Models/InfluxResult.cs new file mode 100644 index 000000000..42fcb5025 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Models/InfluxResult.cs @@ -0,0 +1,11 @@ +using System.Text.Json.Serialization; + +namespace Web.Gateway.Models; + +public class InfluxResult +{ + [JsonPropertyName("statement_id")] + public int StatementId { get; set; } + [JsonPropertyName("series")] + public List Series { get; set; } = new List(); +} diff --git a/be/Web.Gateway/Web.Gateway/Models/InfluxResults.cs b/be/Web.Gateway/Web.Gateway/Models/InfluxResults.cs new file mode 100644 index 000000000..607a22283 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Models/InfluxResults.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Web.Gateway.Models; + +public class InfluxResults +{ + [JsonPropertyName("results")] + public List Results { get; set; } = new List(); +} diff --git a/be/Web.Gateway/Web.Gateway/Models/InfluxSeries.cs b/be/Web.Gateway/Web.Gateway/Models/InfluxSeries.cs new file mode 100644 index 000000000..67922a8a7 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Models/InfluxSeries.cs @@ -0,0 +1,13 @@ +using System.Text.Json.Serialization; + +namespace Web.Gateway.Models; + +public class InfluxSeries +{ + [JsonPropertyName("name")] + public string Name { get; set; } = null!; + [JsonPropertyName("columns")] + public List Columns { get; set; }=new List(); + [JsonPropertyName("values")] + public List> Values { get; set; } = new List>(); +} diff --git a/be/Web.Gateway/Web.Gateway/Models/LogModel.cs b/be/Web.Gateway/Web.Gateway/Models/LogModel.cs new file mode 100644 index 000000000..deecb3b2a --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Models/LogModel.cs @@ -0,0 +1,27 @@ +using System.Text.Json.Serialization; + +namespace Web.Gateway.Models; + +public class LogModel +{ + [JsonPropertyName("Timestamp")] + public DateTime Timestamp { get; set; } + + [JsonPropertyName("Level")] + public string Level { get; set; } = "Information"; + + [JsonPropertyName("MessageTemplate")] + public string? MessageTemplate { get; set; } + + [JsonPropertyName("RenderedMessage")] + public string? RenderedMessage { get; set; } + + [JsonPropertyName("Properties")] + public Dictionary? Properties { get; set; } + + [JsonPropertyName("Renderings")] + public Dictionary? Renderings { get; set; } + + [JsonPropertyName("Exception")] + public string? Exception { get; set; } +} diff --git a/be/Web.Gateway/Web.Gateway/Models/LoginModel.cs b/be/Web.Gateway/Web.Gateway/Models/LoginModel.cs new file mode 100644 index 000000000..6291e9407 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Models/LoginModel.cs @@ -0,0 +1,15 @@ +using System.ComponentModel.DataAnnotations; + +namespace Web.Gateway.Models; + +public class LoginModel +{ + [Display(Name = "用户名")] + [Required(ErrorMessage = "必填项")] + public string? UserName { get; set; } + + [Display(Name = "密码")] + [Required(ErrorMessage = "必填项")] + [DataType(DataType.Password)] + public string? Password { get; set; } +} diff --git a/be/Web.Gateway/Web.Gateway/Models/QueryLogModel.cs b/be/Web.Gateway/Web.Gateway/Models/QueryLogModel.cs new file mode 100644 index 000000000..6f9c839fb --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Models/QueryLogModel.cs @@ -0,0 +1,17 @@ +namespace Web.Gateway.Models; + +public class QueryLogModel +{ + public string? ApplicationName { get; set; } = string.Empty; + public bool EnalbeTail { get; set; } + public List> Items { get; set; } = new List>(); + public string? Level { get; set; } = string.Empty; + public List Levels { get; set; } = new List() { "Verbose", "Debug", "Information", "Warning", "Error", "Fatal" }; + public int PageIndex { get; set; } = 1; + public int PageSize { get; set; } = 100; + public string? Query { get; set; } + public List Tags { get; set; } = new List(); + public bool UseCustom { get; set; } + public DateTime? Start { get; set; } + public DateTime? End { get; set; } +} diff --git a/be/Web.Gateway/Web.Gateway/Models/RenderingModel.cs b/be/Web.Gateway/Web.Gateway/Models/RenderingModel.cs new file mode 100644 index 000000000..e4a206624 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Models/RenderingModel.cs @@ -0,0 +1,7 @@ +namespace Web.Gateway.Models; + +public class RenderingModel +{ + public string Format { get; set; } = null!; + public string Rendering { get; set; } = null!; +} diff --git a/be/Web.Gateway/Web.Gateway/Program.cs b/be/Web.Gateway/Web.Gateway/Program.cs new file mode 100644 index 000000000..a44b2251b --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Program.cs @@ -0,0 +1,112 @@ +using System.Globalization; +using System.Reflection; +using System.Text.Json; +using System.Text.Json.Serialization; +using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Cors.Infrastructure; +using Microsoft.AspNetCore.Http.Features; +using Microsoft.AspNetCore.Server.Kestrel.Core; +using Serilog; + +// log +var logFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "logs", "log.txt"); +var loggerConfiguration = new LoggerConfiguration() + .Enrich.FromLogContext() + .Enrich.WithMachineName() + .Enrich.WithProcessName() + .Enrich.WithProcessId() + .Enrich.WithProperty("ApplicationName", Assembly.GetEntryAssembly().GetName().Name) + .Enrich.WithProperty("Version", Assembly.GetEntryAssembly()?.GetName().Version) + .WriteTo.Console(formatProvider: CultureInfo.InvariantCulture) + .WriteTo.File(logFile, rollOnFileSizeLimit: true, rollingInterval: RollingInterval.Infinite, fileSizeLimitBytes: 1024 * 1024 * 100, formatProvider: CultureInfo.InvariantCulture); +if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "Development") +{ + loggerConfiguration.WriteTo.Http("http://localhost:5001", null); +} +Log.Logger = loggerConfiguration.CreateLogger(); +try +{ + // builder + var builder = WebApplication.CreateBuilder(args); + // config + builder.Host.UseSerilog(); + builder.Services.AddHttpClient(); + builder.Services.Configure(options => { + options.Limits.MaxRequestBodySize = long.MaxValue; + options.Limits.MaxRequestBufferSize = long.MaxValue; + options.Limits.MaxRequestLineSize = int.MaxValue; + options.Limits.KeepAliveTimeout = TimeSpan.MaxValue; + }); + builder.Services.Configure(options => { + options.ValueLengthLimit = int.MaxValue; + options.MultipartBodyLengthLimit=long.MaxValue; + }); + builder.Services.AddSignalR(o => o.EnableDetailedErrors = true) + .AddJsonProtocol(o => + { + o.PayloadSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + o.PayloadSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase; + o.PayloadSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles; + }); + builder.Services.AddReverseProxy().LoadFromConfig(builder.Configuration.GetSection("ReverseProxy")); + builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(); + builder.Services.AddMvc().AddJsonOptions(options => + { + options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase; + options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles; + }); + builder.Services.AddEndpointsApiExplorer(); + builder.Services.AddSwaggerGen(); + builder.Services.AddCors(options => + { + options.AddPolicy("default", builder => + { + builder.SetIsOriginAllowed(_ => true).AllowAnyMethod().AllowAnyHeader().AllowCredentials(); + }); + builder.Configuration.GetSection("CORS").GetChildren().ToList().ForEach(o => + { + options.AddPolicy(o.Key, builder => + { + // + _ = o.GetValue(nameof(CorsPolicy.AllowAnyOrigin), true) + ? builder.AllowAnyOrigin() + : builder.WithOrigins(o.GetSection(nameof(CorsPolicy.Origins)).Get()); + // + _ = o.GetValue(nameof(CorsPolicy.AllowAnyHeader), true) + ? builder.AllowAnyHeader() + : builder.WithHeaders(o.GetSection(nameof(CorsPolicy.Headers)).Get()); + // + _ = o.GetValue(nameof(CorsPolicy.AllowAnyMethod), true) ? + builder.AllowAnyMethod() + : builder.WithMethods(o.GetSection(nameof(CorsPolicy.Methods)).Get()); + }); + }); + }); + // build + var app = builder.Build(); + // config + app.UseSwagger(); + app.UseSwaggerUI(); + app.UseSerilogRequestLogging(); + app.MapReverseProxy(); + app.UseStaticFiles(); + app.UseRouting(); + app.UseAuthentication(); + app.UseAuthorization(); + app.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}"); + app.MapHub("/hub"); + app.UseCors("default"); + // run + app.Run(); +} +catch (Exception ex) +{ + Log.Fatal(ex, "Application terminated unexpectedly"); +} +finally +{ + Log.CloseAndFlush(); +} diff --git a/be/Web.Gateway/Web.Gateway/Properties/PublishProfiles/FolderProfile.pubxml b/be/Web.Gateway/Web.Gateway/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 000000000..30b98b82c --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,21 @@ + + + + + true + false + true + Release + Any CPU + FileSystem + bin\Release\net6.0\publish\ + FileSystem + <_TargetId>Folder + + net6.0 + 4a793e8c-f1be-4aa6-b058-a0a0af21719e + false + + \ No newline at end of file diff --git a/be/Web.Gateway/Web.Gateway/Properties/launchSettings.json b/be/Web.Gateway/Web.Gateway/Properties/launchSettings.json new file mode 100644 index 000000000..75f8a59c5 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "profiles": { + "http": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "applicationUrl": "http://localhost:5001" + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "WSL": { + "commandName": "WSL2", + "launchBrowser": true, + "launchUrl": "http://localhost:5001", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_URLS": "http://localhost:5001" + }, + "distributionName": "" + } + }, + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:5001", + "sslPort": 0 + } + } +} \ No newline at end of file diff --git a/be/Web.Gateway/Web.Gateway/Views/Account/Login.cshtml b/be/Web.Gateway/Web.Gateway/Views/Account/Login.cshtml new file mode 100644 index 000000000..844f95e2e --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Views/Account/Login.cshtml @@ -0,0 +1,20 @@ +@model LoginModel +@section styles{ + +} +
+
+ @Html.ValidationSummary(true) + @Html.EditorForModel() + @Html.Hidden("ReturnUrl",(ViewBag.ReturnUrl as string)) + +
+
+ diff --git a/be/Web.Gateway/Web.Gateway/Views/Config/Edit.cshtml b/be/Web.Gateway/Web.Gateway/Views/Config/Edit.cshtml new file mode 100644 index 000000000..4ef70f91f --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Views/Config/Edit.cshtml @@ -0,0 +1,27 @@ +@model string +@{ + var content = System.IO.File.ReadAllText(Model); +} +@section scripts{ + +} +
+
+ + +
+ +
+
diff --git a/be/Web.Gateway/Web.Gateway/Views/Config/Index.cshtml b/be/Web.Gateway/Web.Gateway/Views/Config/Index.cshtml new file mode 100644 index 000000000..938318e4b --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Views/Config/Index.cshtml @@ -0,0 +1,66 @@ +@model Dictionary +@section styles{ + +} +@section scripts{ + +} +
+ + + + + + + + + + + + +
文件详情操作
{{key}}详情 { + document.getElementById("content").setAttribute("value", value); + }); + flask.updateCode(@Json.Serialize(content)); + }); + } + }; + +} +
+
+ + +
+ +
+
diff --git a/be/Web.Gateway/Web.Gateway/Views/Gateway/Index.cshtml b/be/Web.Gateway/Web.Gateway/Views/Gateway/Index.cshtml new file mode 100644 index 000000000..938318e4b --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Views/Gateway/Index.cshtml @@ -0,0 +1,66 @@ +@model Dictionary +@section styles{ + +} +@section scripts{ + +} +
+ + + + + + + + + + + + +
文件详情操作
{{key}}详情 { + item.show = !item.show; + }; + const getColor = (item) => { + return colorMap.get(item) ?? 'green'; + }; + Vue.onMounted(() => { + PubSub.subscribe('notify', (method, data) => { + model.items = data.filter(o => model.level === '' || o.level === model.level).concat(model.items).slice(0, model.pageSize); + }); + }); + const start = Vue.ref(fecha.format(new Date(model.start), "YYYY-MM-DDTHH:mm")); + const end = Vue.ref(fecha.format(new Date(model.end), "YYYY-MM-DDTHH:mm")); + return { + model, + toggle, + getColor, + start, + end + } + } + }; + + +} +
+ +
+
+ + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
时间应用级别日志
{{new Date(item.time).toLocaleString()}}{{item.applicationName}}{{item.level}} +
{{item.renderedMessage}}
+
+ + +
+
+
+ + diff --git a/be/Web.Gateway/Web.Gateway/Views/Shared/_Layout.cshtml b/be/Web.Gateway/Web.Gateway/Views/Shared/_Layout.cshtml new file mode 100644 index 000000000..212f1a1fa --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Views/Shared/_Layout.cshtml @@ -0,0 +1,77 @@ + + + + + + + + @RenderSection("styles",false) + 网关 + + +
+
+
+ +
    +
  • + @if (User.Identity!.IsAuthenticated) + { +
    + +
    + } + else + { + 登录 + } +
  • +
+
+
+
+
+ @RenderBody() +
+
+
+ + + + + + + @RenderSection("scripts",false) + + + +@functions { + string GetMenuClass(string controller) + { + var className = "pure-menu-item"; + if (this.ViewContext.RouteData.Values["Controller"]?.ToString()?.ToLowerInvariant() == controller) + { + className += " pure-menu-selected"; + } + return className; + } +} diff --git a/be/Web.Gateway/Web.Gateway/Views/_ViewImports.cshtml b/be/Web.Gateway/Web.Gateway/Views/_ViewImports.cshtml new file mode 100644 index 000000000..4c2c66d15 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Views/_ViewImports.cshtml @@ -0,0 +1,3 @@ +@using Web.Gateway +@using Web.Gateway.Models +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/be/Web.Gateway/Web.Gateway/Views/_ViewStart.cshtml b/be/Web.Gateway/Web.Gateway/Views/_ViewStart.cshtml new file mode 100644 index 000000000..a5f10045d --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} diff --git a/be/Web.Gateway/Web.Gateway/Web.Gateway.csproj b/be/Web.Gateway/Web.Gateway/Web.Gateway.csproj new file mode 100644 index 000000000..8cc1af59a --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/Web.Gateway.csproj @@ -0,0 +1,28 @@ + + + + net6.0 + enable + enable + 0.1.5 + + + + + + + + + + + + + + + + + + + + + diff --git a/be/Web.Gateway/Web.Gateway/appsettings.Development.json b/be/Web.Gateway/Web.Gateway/appsettings.Development.json new file mode 100644 index 000000000..184888f90 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/appsettings.Development.json @@ -0,0 +1,44 @@ +{ + "ConnectionStrings": { + "InfluxDB": "url=http://localhost:8086;database=logs;usr=admin;pwd=aA123456!;retention-policy=d30;" + }, + "ReverseProxy": { + "Clusters": { + "abp": { + "Destinations": { + "dest": { + "Address": "http://localhost:59093/api/" + } + } + }, + "auth": { + "Destinations": { + "dest": { + "Address": "http://localhost:59093/" + } + } + }, + "core": { + "Destinations": { + "dest": { + "Address": "http://localhost:59092/" + } + } + }, + "basedata": { + "Destinations": { + "dest": { + "Address": "http://localhost:59094/" + } + } + }, + "wms": { + "Destinations": { + "dest": { + "Address": "http://localhost:59095/" + } + } + } + } + } +} diff --git a/be/Web.Gateway/Web.Gateway/appsettings.Production.json b/be/Web.Gateway/Web.Gateway/appsettings.Production.json new file mode 100644 index 000000000..2c63c0851 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/appsettings.Production.json @@ -0,0 +1,2 @@ +{ +} diff --git a/be/Web.Gateway/Web.Gateway/appsettings.json b/be/Web.Gateway/Web.Gateway/appsettings.json new file mode 100644 index 000000000..ab204ea15 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/appsettings.json @@ -0,0 +1,101 @@ +{ + "ConnectionStrings": { + "InfluxDB": "url=http://influxdb:8086;database=logs;usr=admin;pwd=aA123456!;retention-policy=d30;" + }, + "CORS": { + "abp": { + "AllowAnyOrigin": false, + "Origins": [ + "http://localhost:9527" + ] + } + }, + "ReverseProxy": { + "Routes": { + "abp": { + "ClusterId": "abp", + "CorsPolicy": "abp", + "Match": { + "Path": "/api/auth/{regex((abp|identity|base|multi-tenancy|permission-management))}/{**catch-all}" + }, + "Transforms": [ + { + "PathRemovePrefix": "/api/auth" + } + ] + }, + "ids4": { + "ClusterId": "auth", + "Match": { + "Path": "/api/auth/connect/{**catch-all}" + }, + "Transforms": [ + { + "PathRemovePrefix": "/api/auth" + } + ] + }, + "auth": { + "ClusterId": "auth", + "Match": { + "Path": "/api/auth/{**catch-all}" + } + }, + "core": { + "ClusterId": "core", + "Match": { + "Path": "/api/{regex((label|filestore|reporting|message))}/{**catch-all}" + } + }, + "basedata": { + "ClusterId": "basedata", + "Match": { + "Path": "/api/basedata/{**catch-all}" + } + }, + "wms": { + "ClusterId": "wms", + "Match": { + "Path": "/api/wms/{**catch-all}" + } + } + }, + "Clusters": { + "abp": { + "Destinations": { + "dest": { + "Address": "http://sfs-auth-web:59093/api/" + } + } + }, + "auth": { + "Destinations": { + "dest": { + "Address": "http://sfs-auth-web:59093/" + } + } + }, + "core": { + "Destinations": { + "dest": { + "Address": "http://sfs-core-host:59092/" + } + } + }, + "basedata": { + "Destinations": { + "dest": { + "Address": "http://sfs-basedata-host:59094/" + } + } + }, + "wms": { + "Destinations": { + "dest": { + "Address": "http://sfs-wms-host:59095/" + } + } + } + } + } +} diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/lib/codeflask.min.js b/be/Web.Gateway/Web.Gateway/wwwroot/lib/codeflask.min.js new file mode 100644 index 000000000..d186f8530 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/lib/codeflask.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.CodeFlask=t()}(this,function(){"use strict";var e,t,n,a='"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',s="\n .codeflask {\n position: absolute;\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n\n .codeflask, .codeflask * {\n box-sizing: border-box;\n }\n\n .codeflask__pre {\n pointer-events: none;\n z-index: 3;\n overflow: hidden;\n }\n\n .codeflask__textarea {\n background: none;\n border: none;\n color: "+(e="caret-color",t="#000",("undefined"!=typeof CSS?CSS.supports(e,t):"undefined"!=typeof document&&(n=(n=e).split("-").filter(function(e){return!!e}).map(function(e){return e[0].toUpperCase()+e.substr(1)}).join(""))[0].toLowerCase()+n.substr(1)in document.body.style)?"#fff":"#ccc")+";\n z-index: 1;\n resize: none;\n font-family: "+a+";\n -webkit-appearance: pre;\n caret-color: #111;\n z-index: 2;\n width: 100%;\n height: 100%;\n }\n\n .codeflask--has-line-numbers .codeflask__textarea {\n width: calc(100% - 40px);\n }\n\n .codeflask__code {\n display: block;\n font-family: "+a+";\n overflow: hidden;\n }\n\n .codeflask__flatten {\n padding: 10px;\n font-size: 13px;\n line-height: 20px;\n white-space: pre;\n position: absolute;\n top: 0;\n left: 0;\n overflow: auto;\n margin: 0 !important;\n outline: none;\n text-align: left;\n }\n\n .codeflask--has-line-numbers .codeflask__flatten {\n width: calc(100% - 40px);\n left: 40px;\n }\n\n .codeflask__line-highlight {\n position: absolute;\n top: 10px;\n left: 0;\n width: 100%;\n height: 20px;\n background: rgba(0,0,0,0.1);\n z-index: 1;\n }\n\n .codeflask__lines {\n padding: 10px 4px;\n font-size: 12px;\n line-height: 20px;\n font-family: 'Cousine', monospace;\n position: absolute;\n left: 0;\n top: 0;\n width: 40px;\n height: 100%;\n text-align: right;\n color: #999;\n z-index: 2;\n }\n\n .codeflask__lines__line {\n display: block;\n }\n\n .codeflask.codeflask--has-line-numbers {\n padding-left: 40px;\n }\n\n .codeflask.codeflask--has-line-numbers:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n width: 40px;\n height: 100%;\n background: #eee;\n z-index: 1;\n }\n";function i(e,t,n){var a=t||"codeflask-style",s=n||document.head;if(!e)return!1;if(document.getElementById(a))return!0;var i=document.createElement("style");return i.innerHTML=e,i.id=a,s.appendChild(i),!0}var r={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function o(e){return String(e).replace(/[&<>"'`=/]/g,function(e){return r[e]})}var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var c,u=(function(e){var t=function(e){var t=/\blang(?:uage)?-([\w-]+)\b/i,n=0,a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof s?new s(e.type,a.util.encode(e.content),e.alias):Array.isArray(e)?e.map(a.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(v instanceof s)){if(f&&k!=t.length-1){if(p.lastIndex=x,!(S=p.exec(e)))break;for(var w=S.index+(g?S[1].length:0),F=S.index+S[0].length,A=k,C=x,T=t.length;A=(C+=t[A].length)&&(++k,x=C);if(t[k]instanceof s)continue;_=A-k,v=e.slice(x,C),S.index-=x}else{p.lastIndex=0;var S=p.exec(v),_=1}if(S){g&&(b=S[1]?S[1].length:0);F=(w=S.index+b)+(S=S[0].slice(b)).length;var L=v.slice(0,w),E=v.slice(F),N=[k,_];L&&(++k,x+=L.length,N.push(L));var j=new s(c,h?a.tokenize(S,h):S,m,S,f);if(N.push(j),E&&N.push(E),Array.prototype.splice.apply(t,N),1!=_&&a.matchGrammar(e,t,n,k,x,!0,c),o)break}else if(o)break}}}}},tokenize:function(e,t){var n=[e],s=t.rest;if(s){for(var i in s)t[i]=s[i];delete t.rest}return a.matchGrammar(e,n,t,0,0,!1),n},hooks:{all:{},add:function(e,t){var n=a.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a.hooks.all[e];if(n&&n.length)for(var s,i=0;s=n[i++];)s(t)}},Token:s};function s(e,t,n,a,s){this.type=e,this.content=t,this.alias=n,this.length=0|(a||"").length,this.greedy=!!s}if(e.Prism=a,s.stringify=function(e,t,n){if("string"==typeof e)return e;if(Array.isArray(e))return e.map(function(n){return s.stringify(n,t,e)}).join("");var i={type:e.type,content:s.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if(e.alias){var r=Array.isArray(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,r)}a.hooks.run("wrap",i);var o=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(o?" "+o:"")+">"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",function(t){var n=JSON.parse(t.data),s=n.language,i=n.code,r=n.immediateClose;e.postMessage(a.highlight(i,a.languages[s],s)),r&&e.close()},!1),a):a;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(a.filename=i.src,a.manual||i.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(a.highlightAll):window.setTimeout(a.highlightAll,16):document.addEventListener("DOMContentLoaded",a.highlightAll))),a}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=t),void 0!==l&&(l.Prism=t),t.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},t.languages.markup.tag.inside["attr-value"].inside.entity=t.languages.markup.entity,t.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(t.languages.markup.tag,"addInlined",{value:function(e,n){var a={};a["language-"+n]={pattern:/(^$)/i,lookbehind:!0,inside:t.languages[n]},a.cdata=/^$/i;var s={"included-cdata":{pattern://i,inside:a}};s["language-"+n]={pattern:/[\s\S]+/,inside:t.languages[n]};var i={};i[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:s},t.languages.insertBefore("markup","cdata",i)}}),t.languages.xml=t.languages.extend("markup",{}),t.languages.html=t.languages.markup,t.languages.mathml=t.languages.markup,t.languages.svg=t.languages.markup,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:RegExp("url\\((?:"+t.source+"|.*?)\\)","i"),selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},n.tag))}(t),t.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},t.languages.javascript=t.languages.extend("clike",{"class-name":[t.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\d+n|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),t.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,t.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:t.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:t.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:t.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:t.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),t.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\${[^}]+}/,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:t.languages.javascript}},string:/[\s\S]+/}}}),t.languages.markup&&t.languages.markup.tag.addInlined("script","javascript"),t.languages.js=t.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(e){e=e||document;var n={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(e.querySelectorAll("pre[data-src]")).forEach(function(e){if(!e.hasAttribute("data-src-loaded")){for(var a,s=e.getAttribute("data-src"),i=e,r=/\blang(?:uage)?-([\w-]+)\b/i;i&&!r.test(i.className);)i=i.parentNode;if(i&&(a=(e.className.match(r)||[,""])[1]),!a){var o=(s.match(/\.(\w+)$/)||[,""])[1];a=n[o]||o}var l=document.createElement("code");l.className="language-"+a,e.textContent="",l.textContent="Loading…",e.appendChild(l);var c=new XMLHttpRequest;c.open("GET",s,!0),c.onreadystatechange=function(){4==c.readyState&&(c.status<400&&c.responseText?(l.textContent=c.responseText,t.highlightElement(l),e.setAttribute("data-src-loaded","")):c.status>=400?l.textContent="✖ Error "+c.status+" while fetching file: "+c.statusText:l.textContent="✖ Error: File does not exist or is empty")},c.send(null)}}),t.plugins.toolbar&&t.plugins.toolbar.registerButton("download-file",function(e){var t=e.element.parentNode;if(t&&/pre/i.test(t.nodeName)&&t.hasAttribute("data-src")&&t.hasAttribute("data-download-link")){var n=t.getAttribute("data-src"),a=document.createElement("a");return a.textContent=t.getAttribute("data-download-link-label")||"Download",a.setAttribute("download",""),a.href=n,a}})},document.addEventListener("DOMContentLoaded",function(){self.Prism.fileHighlight()}))}(c={exports:{}},c.exports),c.exports),d=function(e,t){if(!e)throw Error("CodeFlask expects a parameter which is Element or a String selector");if(!t)throw Error("CodeFlask expects an object containing options as second parameter");if(e.nodeType)this.editorRoot=e;else{var n=document.querySelector(e);n&&(this.editorRoot=n)}this.opts=t,this.startEditor()};return d.prototype.startEditor=function(){if(!i(s,null,this.opts.styleParent))throw Error("Failed to inject CodeFlask CSS.");this.createWrapper(),this.createTextarea(),this.createPre(),this.createCode(),this.runOptions(),this.listenTextarea(),this.populateDefault(),this.updateCode(this.code)},d.prototype.createWrapper=function(){this.code=this.editorRoot.innerHTML,this.editorRoot.innerHTML="",this.elWrapper=this.createElement("div",this.editorRoot),this.elWrapper.classList.add("codeflask")},d.prototype.createTextarea=function(){this.elTextarea=this.createElement("textarea",this.elWrapper),this.elTextarea.classList.add("codeflask__textarea","codeflask__flatten")},d.prototype.createPre=function(){this.elPre=this.createElement("pre",this.elWrapper),this.elPre.classList.add("codeflask__pre","codeflask__flatten")},d.prototype.createCode=function(){this.elCode=this.createElement("code",this.elPre),this.elCode.classList.add("codeflask__code","language-"+(this.opts.language||"html"))},d.prototype.createLineNumbers=function(){this.elLineNumbers=this.createElement("div",this.elWrapper),this.elLineNumbers.classList.add("codeflask__lines"),this.setLineNumber()},d.prototype.createElement=function(e,t){var n=document.createElement(e);return t.appendChild(n),n},d.prototype.runOptions=function(){this.opts.rtl=this.opts.rtl||!1,this.opts.tabSize=this.opts.tabSize||2,this.opts.enableAutocorrect=this.opts.enableAutocorrect||!1,this.opts.lineNumbers=this.opts.lineNumbers||!1,this.opts.defaultTheme=!1!==this.opts.defaultTheme,this.opts.areaId=this.opts.areaId||null,this.opts.ariaLabelledby=this.opts.ariaLabelledby||null,this.opts.readonly=this.opts.readonly||null,"boolean"!=typeof this.opts.handleTabs&&(this.opts.handleTabs=!0),"boolean"!=typeof this.opts.handleSelfClosingCharacters&&(this.opts.handleSelfClosingCharacters=!0),"boolean"!=typeof this.opts.handleNewLineIndentation&&(this.opts.handleNewLineIndentation=!0),!0===this.opts.rtl&&(this.elTextarea.setAttribute("dir","rtl"),this.elPre.setAttribute("dir","rtl")),!1===this.opts.enableAutocorrect&&(this.elTextarea.setAttribute("spellcheck","false"),this.elTextarea.setAttribute("autocapitalize","off"),this.elTextarea.setAttribute("autocomplete","off"),this.elTextarea.setAttribute("autocorrect","off")),this.opts.lineNumbers&&(this.elWrapper.classList.add("codeflask--has-line-numbers"),this.createLineNumbers()),this.opts.defaultTheme&&i("\n.codeflask {\n background: #fff;\n color: #4f559c;\n}\n\n.codeflask .token.punctuation {\n color: #4a4a4a;\n}\n\n.codeflask .token.keyword {\n color: #8500ff;\n}\n\n.codeflask .token.operator {\n color: #ff5598;\n}\n\n.codeflask .token.string {\n color: #41ad8f;\n}\n\n.codeflask .token.comment {\n color: #9badb7;\n}\n\n.codeflask .token.function {\n color: #8500ff;\n}\n\n.codeflask .token.boolean {\n color: #8500ff;\n}\n\n.codeflask .token.number {\n color: #8500ff;\n}\n\n.codeflask .token.selector {\n color: #8500ff;\n}\n\n.codeflask .token.property {\n color: #8500ff;\n}\n\n.codeflask .token.tag {\n color: #8500ff;\n}\n\n.codeflask .token.attr-value {\n color: #8500ff;\n}\n","theme-default",this.opts.styleParent),this.opts.areaId&&this.elTextarea.setAttribute("id",this.opts.areaId),this.opts.ariaLabelledby&&this.elTextarea.setAttribute("aria-labelledby",this.opts.ariaLabelledby),this.opts.readonly&&this.enableReadonlyMode()},d.prototype.updateLineNumbersCount=function(){for(var e="",t=1;t<=this.lineNumber;t++)e=e+''+t+"";this.elLineNumbers.innerHTML=e},d.prototype.listenTextarea=function(){var e=this;this.elTextarea.addEventListener("input",function(t){e.code=t.target.value,e.elCode.innerHTML=o(t.target.value),e.highlight(),setTimeout(function(){e.runUpdate(),e.setLineNumber()},1)}),this.elTextarea.addEventListener("keydown",function(t){e.handleTabs(t),e.handleSelfClosingCharacters(t),e.handleNewLineIndentation(t)}),this.elTextarea.addEventListener("scroll",function(t){e.elPre.style.transform="translate3d(-"+t.target.scrollLeft+"px, -"+t.target.scrollTop+"px, 0)",e.elLineNumbers&&(e.elLineNumbers.style.transform="translate3d(0, -"+t.target.scrollTop+"px, 0)")})},d.prototype.handleTabs=function(e){if(this.opts.handleTabs){if(9!==e.keyCode)return;e.preventDefault();var t=this.elTextarea,n=t.selectionDirection,a=t.selectionStart,s=t.selectionEnd,i=t.value,r=i.substr(0,a),o=i.substring(a,s),l=i.substring(s),c=" ".repeat(this.opts.tabSize);if(a!==s&&o.length>=c.length){var u=a-r.split("\n").pop().length,d=c.length,p=c.length;if(e.shiftKey)i.substr(u,c.length)===c?(d=-d,u>a?(o=o.substring(0,u)+o.substring(u+c.length),p=0):u===a?(d=0,p=0,o=o.substring(c.length)):(p=-p,r=r.substring(0,u)+r.substring(u+c.length))):(d=0,p=0),o=o.replace(new RegExp("\n"+c.split("").join("\\"),"g"),"\n");else r=r.substr(0,u)+c+r.substring(u,a),o=o.replace(/\n/g,"\n"+c);t.value=r+o+l,t.selectionStart=a+d,t.selectionEnd=a+o.length+p,t.selectionDirection=n}else t.value=r+c+l,t.selectionStart=a+c.length,t.selectionEnd=a+c.length;var h=t.value;this.updateCode(h),this.elTextarea.selectionEnd=s+this.opts.tabSize}},d.prototype.handleSelfClosingCharacters=function(e){if(this.opts.handleSelfClosingCharacters){var t=e.key;if(["(","[","{","<","'",'"'].includes(t)||[")","]","}",">","'",'"'].includes(t))switch(t){case"(":case")":this.closeCharacter(t);break;case"[":case"]":this.closeCharacter(t);break;case"{":case"}":this.closeCharacter(t);break;case"<":case">":case"'":case'"':this.closeCharacter(t)}}},d.prototype.setLineNumber=function(){this.lineNumber=this.code.split("\n").length,this.opts.lineNumbers&&this.updateLineNumbersCount()},d.prototype.handleNewLineIndentation=function(e){if(this.opts.handleNewLineIndentation&&13===e.keyCode){e.preventDefault();var t=this.elTextarea,n=t.selectionStart,a=t.selectionEnd,s=t.value,i=s.substr(0,n),r=s.substring(a),o=s.lastIndexOf("\n",n-1),l=o+s.slice(o+1).search(/[^ ]|$/),c=l>o?l-o:0,u=i+"\n"+" ".repeat(c)+r;t.value=u,t.selectionStart=n+c+1,t.selectionEnd=n+c+1,this.updateCode(t.value)}},d.prototype.closeCharacter=function(e){var t=this.elTextarea.selectionStart,n=this.elTextarea.selectionEnd;if(this.skipCloseChar(e)){var a=this.code.substr(n,1)===e,s=a?n+1:n,i=!a&&["'",'"'].includes(e)?e:"",r=""+this.code.substring(0,t)+i+this.code.substring(s);this.updateCode(r),this.elTextarea.selectionEnd=++this.elTextarea.selectionStart}else{var o=e;switch(e){case"(":o=String.fromCharCode(e.charCodeAt()+1);break;case"<":case"{":case"[":o=String.fromCharCode(e.charCodeAt()+2)}var l=this.code.substring(t,n),c=""+this.code.substring(0,t)+l+o+this.code.substring(n);this.updateCode(c)}this.elTextarea.selectionEnd=t},d.prototype.skipCloseChar=function(e){var t=this.elTextarea.selectionStart,n=this.elTextarea.selectionEnd,a=Math.abs(n-t)>0;return[")","}","]",">"].includes(e)||["'",'"'].includes(e)&&!a},d.prototype.updateCode=function(e){this.code=e,this.elTextarea.value=e,this.elCode.innerHTML=o(e),this.highlight(),this.setLineNumber(),setTimeout(this.runUpdate.bind(this),1)},d.prototype.updateLanguage=function(e){var t=this.opts.language;this.elCode.classList.remove("language-"+t),this.elCode.classList.add("language-"+e),this.opts.language=e,this.highlight()},d.prototype.addLanguage=function(e,t){u.languages[e]=t},d.prototype.populateDefault=function(){this.updateCode(this.code)},d.prototype.highlight=function(){u.highlightElement(this.elCode,!1)},d.prototype.onUpdate=function(e){if(e&&"[object Function]"!=={}.toString.call(e))throw Error("CodeFlask expects callback of type Function");this.updateCallBack=e},d.prototype.getCode=function(){return this.code},d.prototype.runUpdate=function(){this.updateCallBack&&this.updateCallBack(this.code)},d.prototype.enableReadonlyMode=function(){this.elTextarea.setAttribute("readonly",!0)},d.prototype.disableReadonlyMode=function(){this.elTextarea.removeAttribute("readonly")},d}); diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/lib/fecha.min.js b/be/Web.Gateway/Web.Gateway/wwwroot/lib/fecha.min.js new file mode 100644 index 000000000..fc2b20138 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/lib/fecha.min.js @@ -0,0 +1,2 @@ +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.fecha={})}(this,function(t){"use strict";var n=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,e="[^\\s]+",r=/\[([^]*?)\]/gm;function o(t,n){for(var e=[],r=0,o=t.length;r-1?r:null}};function a(t){for(var n=[],e=1;e3?0:(t-t%10!=10?1:0)*t%10]}},m=a({},f),c=function(t){return m=a(m,t)},l=function(t){return t.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},h=function(t,n){for(void 0===n&&(n=2),t=String(t);t.length0?"-":"+")+h(100*Math.floor(Math.abs(n)/60)+Math.abs(n)%60,4)},Z:function(t){var n=t.getTimezoneOffset();return(n>0?"-":"+")+h(Math.floor(Math.abs(n)/60),2)+":"+h(Math.abs(n)%60,2)}},M=function(t){return+t-1},D=[null,"\\d\\d?"],Y=[null,e],y=["isPm",e,function(t,n){var e=t.toLowerCase();return e===n.amPm[0]?0:e===n.amPm[1]?1:null}],p=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(t){var n=(t+"").match(/([+-]|\d\d)/gi);if(n){var e=60*+n[1]+parseInt(n[2],10);return"+"===n[0]?e:-e}return 0}],S={D:["day","\\d\\d?"],DD:["day","\\d\\d"],Do:["day","\\d\\d?"+e,function(t){return parseInt(t,10)}],M:["month","\\d\\d?",M],MM:["month","\\d\\d",M],YY:["year","\\d\\d",function(t){var n=+(""+(new Date).getFullYear()).substr(0,2);return+(""+(+t>68?n-1:n)+t)}],h:["hour","\\d\\d?",void 0,"isPm"],hh:["hour","\\d\\d",void 0,"isPm"],H:["hour","\\d\\d?"],HH:["hour","\\d\\d"],m:["minute","\\d\\d?"],mm:["minute","\\d\\d"],s:["second","\\d\\d?"],ss:["second","\\d\\d"],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(t){return 100*+t}],SS:["millisecond","\\d\\d",function(t){return 10*+t}],SSS:["millisecond","\\d{3}"],d:D,dd:D,ddd:Y,dddd:Y,MMM:["month",e,u("monthNamesShort")],MMMM:["month",e,u("monthNames")],a:y,A:y,ZZ:p,Z:p},v={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},H=function(t){return a(v,t)},b=function(t,e,o){if(void 0===e&&(e=v.default),void 0===o&&(o={}),"number"==typeof t&&(t=new Date(t)),"[object Date]"!==Object.prototype.toString.call(t)||isNaN(t.getTime()))throw new Error("Invalid Date pass to format");var u=[];e=(e=v[e]||e).replace(r,function(t,n){return u.push(n),"@@@"});var i=a(a({},m),o);return(e=e.replace(n,function(n){return g[n](t,i)})).replace(/@@@/g,function(){return u.shift()})};function w(t,e,o){if(void 0===o&&(o={}),"string"!=typeof e)throw new Error("Invalid format in fecha parse");if(e=v[e]||e,t.length>1e3)return null;var u={year:(new Date).getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},i=[],d=[],s=e.replace(r,function(t,n){return d.push(l(n)),"@@@"}),f={},c={};s=l(s).replace(n,function(t){var n=S[t],e=n[0],r=n[1],o=n[3];if(f[e])throw new Error("Invalid format. "+e+" specified twice in format");return f[e]=!0,o&&(c[o]=!0),i.push(n),"("+r+")"}),Object.keys(c).forEach(function(t){if(!f[t])throw new Error("Invalid format. "+t+" is required in specified format")}),s=s.replace(/@@@/g,function(){return d.shift()});var h=t.match(new RegExp(s,"i"));if(!h)return null;for(var g,M=a(a({},m),o),D=1;D11||u.month<0||u.day>31||u.day<1||u.hour>23||u.hour<0||u.minute>59||u.minute<0||u.second>59||u.second<0)return null;return g}var P={format:b,parse:w,defaultI18n:f,setGlobalDateI18n:c,setGlobalDateMasks:H};t.assign=a,t.default=P,t.format=b,t.parse=w,t.defaultI18n=f,t.setGlobalDateI18n=c,t.setGlobalDateMasks=H,Object.defineProperty(t,"__esModule",{value:!0})}); +//# sourceMappingURL=fecha.min.js.map diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/lib/micromodal.min.js b/be/Web.Gateway/Web.Gateway/wwwroot/lib/micromodal.min.js new file mode 100644 index 000000000..09167d26a --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/lib/micromodal.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).MicroModal=t()}(this,(function(){"use strict";function e(e,t){for(var o=0;oe.length)&&(t=e.length);for(var o=0,n=new Array(t);o0&&this.registerTriggers.apply(this,t(a)),this.onClick=this.onClick.bind(this),this.onKeydown=this.onKeydown.bind(this)}var i,a,r;return i=o,(a=[{key:"registerTriggers",value:function(){for(var e=this,t=arguments.length,o=new Array(t),n=0;n0&&void 0!==arguments[0]?arguments[0]:null;if(this.activeElement=document.activeElement,this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),this.scrollBehaviour("disable"),this.addEventListeners(),this.config.awaitOpenAnimation){var o=function t(){e.modal.removeEventListener("animationend",t,!1),e.setFocusToFirstNode()};this.modal.addEventListener("animationend",o,!1)}else this.setFocusToFirstNode();this.config.onShow(this.modal,this.activeElement,t)}},{key:"closeModal",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.modal;if(this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),this.scrollBehaviour("enable"),this.activeElement&&this.activeElement.focus&&this.activeElement.focus(),this.config.onClose(this.modal,this.activeElement,e),this.config.awaitCloseAnimation){var o=this.config.openClass;this.modal.addEventListener("animationend",(function e(){t.classList.remove(o),t.removeEventListener("animationend",e,!1)}),!1)}else t.classList.remove(this.config.openClass)}},{key:"closeModalById",value:function(e){this.modal=document.getElementById(e),this.modal&&this.closeModal()}},{key:"scrollBehaviour",value:function(e){if(this.config.disableScroll){var t=document.querySelector("body");switch(e){case"enable":Object.assign(t.style,{overflow:""});break;case"disable":Object.assign(t.style,{overflow:"hidden"})}}}},{key:"addEventListeners",value:function(){this.modal.addEventListener("touchstart",this.onClick),this.modal.addEventListener("click",this.onClick),document.addEventListener("keydown",this.onKeydown)}},{key:"removeEventListeners",value:function(){this.modal.removeEventListener("touchstart",this.onClick),this.modal.removeEventListener("click",this.onClick),document.removeEventListener("keydown",this.onKeydown)}},{key:"onClick",value:function(e){(e.target.hasAttribute(this.config.closeTrigger)||e.target.parentNode.hasAttribute(this.config.closeTrigger))&&(e.preventDefault(),e.stopPropagation(),this.closeModal(e))}},{key:"onKeydown",value:function(e){27===e.keyCode&&this.closeModal(e),9===e.keyCode&&this.retainFocus(e)}},{key:"getFocusableNodes",value:function(){var e=this.modal.querySelectorAll(n);return Array.apply(void 0,t(e))}},{key:"setFocusToFirstNode",value:function(){var e=this;if(!this.config.disableFocus){var t=this.getFocusableNodes();if(0!==t.length){var o=t.filter((function(t){return!t.hasAttribute(e.config.closeTrigger)}));o.length>0&&o[0].focus(),0===o.length&&t[0].focus()}}}},{key:"retainFocus",value:function(e){var t=this.getFocusableNodes();if(0!==t.length)if(t=t.filter((function(e){return null!==e.offsetParent})),this.modal.contains(document.activeElement)){var o=t.indexOf(document.activeElement);e.shiftKey&&0===o&&(t[t.length-1].focus(),e.preventDefault()),!e.shiftKey&&t.length>0&&o===t.length-1&&(t[0].focus(),e.preventDefault())}else t[0].focus()}}])&&e(i.prototype,a),r&&e(i,r),o}(),a=null,r=function(e){if(!document.getElementById(e))return console.warn("MicroModal: ❗Seems like you have missed %c'".concat(e,"'"),"background-color: #f8f9fa;color: #50596c;font-weight: bold;","ID somewhere in your code. Refer example below to resolve it."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",'')),!1},s=function(e,t){if(function(e){e.length<=0&&(console.warn("MicroModal: ❗Please specify at least one %c'micromodal-trigger'","background-color: #f8f9fa;color: #50596c;font-weight: bold;","data attribute."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",''))}(e),!t)return!0;for(var o in t)r(o);return!0},{init:function(e){var o=Object.assign({},{openTrigger:"data-micromodal-trigger"},e),n=t(document.querySelectorAll("[".concat(o.openTrigger,"]"))),r=function(e,t){var o=[];return e.forEach((function(e){var n=e.attributes[t].value;void 0===o[n]&&(o[n]=[]),o[n].push(e)})),o}(n,o.openTrigger);if(!0!==o.debugMode||!1!==s(n,r))for(var l in r){var c=r[l];o.targetModal=l,o.triggers=t(c),a=new i(o)}},show:function(e,t){var o=t||{};o.targetModal=e,!0===o.debugMode&&!1===r(e)||(a&&a.removeEventListeners(),(a=new i(o)).showModal())},close:function(e){e?a.closeModalById(e):a.closeModal()}});return"undefined"!=typeof window&&(window.MicroModal=l),l})); diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/lib/pubsub.min.js b/be/Web.Gateway/Web.Gateway/wwwroot/lib/pubsub.min.js new file mode 100644 index 000000000..0dd9bd0c1 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/lib/pubsub.min.js @@ -0,0 +1 @@ +!function (t) { "use strict"; var r = {}; t.PubSub ? (r = t.PubSub, console.warn("PubSub already loaded, using existing version")) : function (s) { "use strict"; var a = {}, n = -1, u = "*"; function o(t) { var r; for (r in t) if (Object.prototype.hasOwnProperty.call(t, r)) return true; return false } function i(r) { return function t() { throw r } } function c(t, r, e) { try { t(r, e) } catch (t) { setTimeout(i(t), 0) } } function f(t, r, e) { t(r, e) } function p(t, r, e, n) { var o = a[r], i = n ? f : c, u; if (!Object.prototype.hasOwnProperty.call(a, r)) return; for (u in o) if (Object.prototype.hasOwnProperty.call(o, u)) i(o[u], t, e) } function l(n, o, i) { return function t() { var r = String(n), e = r.lastIndexOf("."); p(n, n, o, i); while (e !== -1) { r = r.substr(0, e); e = r.lastIndexOf("."); p(n, r, o, i) } p(n, u, o, i) } } function b(t) { var r = String(t), e = Boolean(Object.prototype.hasOwnProperty.call(a, r) && o(a[r])); return e } function y(t) { var r = String(t), e = b(r) || b(u), n = r.lastIndexOf("."); while (!e && n !== -1) { r = r.substr(0, n); n = r.lastIndexOf("."); e = b(r) } return e } function e(t, r, e, n) { t = typeof t === "symbol" ? t.toString() : t; var o = l(t, r, n), i = y(t); if (!i) return false; if (e === true) o(); else setTimeout(o, 0); return true } s.publish = function (t, r) { return e(t, r, false, s.immediateExceptions) }, s.publishSync = function (t, r) { return e(t, r, true, s.immediateExceptions) }, s.subscribe = function (t, r) { if (typeof r !== "function") return false; t = typeof t === "symbol" ? t.toString() : t; if (!Object.prototype.hasOwnProperty.call(a, t)) a[t] = {}; var e = "uid_" + String(++n); a[t][e] = r; return e }, s.subscribeAll = function (t) { return s.subscribe(u, t) }, s.subscribeOnce = function (t, r) { var e = s.subscribe(t, function () { s.unsubscribe(e); r.apply(this, arguments) }); return s }, s.clearAllSubscriptions = function t() { a = {} }, s.clearSubscriptions = function t(r) { var e; for (e in a) if (Object.prototype.hasOwnProperty.call(a, e) && e.indexOf(r) === 0) delete a[e] }, s.countSubscriptions = function t(r) { var e; var n; var o = 0; for (e in a) if (Object.prototype.hasOwnProperty.call(a, e) && e.indexOf(r) === 0) { for (n in a[e]) o++; break } return o }, s.getSubscriptions = function t(r) { var e; var n = []; for (e in a) if (Object.prototype.hasOwnProperty.call(a, e) && e.indexOf(r) === 0) n.push(e); return n }, s.unsubscribe = function (t) { var r = function (t) { var r; for (r in a) if (Object.prototype.hasOwnProperty.call(a, r) && r.indexOf(t) === 0) return true; return false }, e = typeof t === "string" && (Object.prototype.hasOwnProperty.call(a, t) || r(t)), n = !e && typeof t === "string", o = typeof t === "function", i = false, u, c, f; if (e) { s.clearSubscriptions(t); return } for (u in a) if (Object.prototype.hasOwnProperty.call(a, u)) { c = a[u]; if (n && c[t]) { delete c[t]; i = t; break } if (o) for (f in c) if (Object.prototype.hasOwnProperty.call(c, f) && c[f] === t) { delete c[f]; i = true } } return i } }(t.PubSub = r), "object" == typeof exports ? ((exports = void 0 !== module && module.exports ? module.exports = r : exports).PubSub = r, module.exports = exports = r) : "function" == typeof define && define.amd && define(function () { return r }) }("object" == typeof window && window || this); diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/lib/pure-min.css b/be/Web.Gateway/Web.Gateway/wwwroot/lib/pure-min.css new file mode 100644 index 000000000..7b6e7b906 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/lib/pure-min.css @@ -0,0 +1,11 @@ +/*! +Pure v2.0.3 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/pure-css/pure/blob/master/LICENSE.md +*/ +/*! +normalize.css v | MIT License | git.io/normalize +Copyright (c) Nicolas Gallagher and Jonathan Neal +*/ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:rgba(0,0,0,.8);border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129fea;outline:1px auto #129fea}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;padding:.5em 0}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-disabled,.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected>.pure-menu-link,.pure-menu-selected>.pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0} \ No newline at end of file diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/lib/signalr.min.js b/be/Web.Gateway/Web.Gateway/wwwroot/lib/signalr.min.js new file mode 100644 index 000000000..095e6b660 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/lib/signalr.min.js @@ -0,0 +1,2 @@ +var t,e;t=self,e=()=>(()=>{var t={d:(e,s)=>{for(var i in s)t.o(s,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:s[i]})}};t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),t.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"t",{value:!0})};var e,s={};t.r(s),t.d(s,{AbortError:()=>r,DefaultHttpClient:()=>H,HttpClient:()=>d,HttpError:()=>i,HttpResponse:()=>u,HttpTransportType:()=>W,HubConnection:()=>N,HubConnectionBuilder:()=>Y,HubConnectionState:()=>A,JsonHubProtocol:()=>K,LogLevel:()=>e,MessageType:()=>R,NullLogger:()=>p,Subject:()=>U,TimeoutError:()=>n,TransferFormat:()=>O,VERSION:()=>f});class i extends Error{constructor(t,e){const s=new.target.prototype;super(`${t}: Status code '${e}'`),this.statusCode=e,this.__proto__=s}}class n extends Error{constructor(t="A timeout occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class r extends Error{constructor(t="An abort occurred."){const e=new.target.prototype;super(t),this.__proto__=e}}class o extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="UnsupportedTransportError",this.__proto__=s}}class h extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="DisabledTransportError",this.__proto__=s}}class c extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.transport=e,this.errorType="FailedToStartTransportError",this.__proto__=s}}class a extends Error{constructor(t){const e=new.target.prototype;super(t),this.errorType="FailedToNegotiateWithServerError",this.__proto__=e}}class l extends Error{constructor(t,e){const s=new.target.prototype;super(t),this.innerErrors=e,this.__proto__=s}}class u{constructor(t,e,s){this.statusCode=t,this.statusText=e,this.content=s}}class d{get(t,e){return this.send({...e,method:"GET",url:t})}post(t,e){return this.send({...e,method:"POST",url:t})}delete(t,e){return this.send({...e,method:"DELETE",url:t})}getCookieString(t){return""}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug",t[t.Information=2]="Information",t[t.Warning=3]="Warning",t[t.Error=4]="Error",t[t.Critical=5]="Critical",t[t.None=6]="None"}(e||(e={}));class p{constructor(){}log(t,e){}}p.instance=new p;const f="7.0.3";class w{static isRequired(t,e){if(null==t)throw new Error(`The '${e}' argument is required.`)}static isNotEmpty(t,e){if(!t||t.match(/^\s*$/))throw new Error(`The '${e}' argument should not be empty.`)}static isIn(t,e,s){if(!(t in e))throw new Error(`Unknown ${s} value: ${t}.`)}}class g{static get isBrowser(){return"object"==typeof window&&"object"==typeof window.document}static get isWebWorker(){return"object"==typeof self&&"importScripts"in self}static get isReactNative(){return"object"==typeof window&&void 0===window.document}static get isNode(){return!this.isBrowser&&!this.isWebWorker&&!this.isReactNative}}function m(t,e){let s="";return y(t)?(s=`Binary data of length ${t.byteLength}`,e&&(s+=`. Content: '${function(t){const e=new Uint8Array(t);let s="";return e.forEach((t=>{s+=`0x${t<16?"0":""}${t.toString(16)} `})),s.substr(0,s.length-1)}(t)}'`)):"string"==typeof t&&(s=`String data of length ${t.length}`,e&&(s+=`. Content: '${t}'`)),s}function y(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}async function b(t,s,i,n,r,o){const h={},[c,a]=E();h[c]=a,t.log(e.Trace,`(${s} transport) sending data. ${m(r,o.logMessageContent)}.`);const l=y(r)?"arraybuffer":"text",u=await i.post(n,{content:r,headers:{...h,...o.headers},responseType:l,timeout:o.timeout,withCredentials:o.withCredentials});t.log(e.Trace,`(${s} transport) request complete. Response status: ${u.statusCode}.`)}class v{constructor(t,e){this.i=t,this.h=e}dispose(){const t=this.i.observers.indexOf(this.h);t>-1&&this.i.observers.splice(t,1),0===this.i.observers.length&&this.i.cancelCallback&&this.i.cancelCallback().catch((t=>{}))}}class ${constructor(t){this.l=t,this.out=console}log(t,s){if(t>=this.l){const i=`[${(new Date).toISOString()}] ${e[t]}: ${s}`;switch(t){case e.Critical:case e.Error:this.out.error(i);break;case e.Warning:this.out.warn(i);break;case e.Information:this.out.info(i);break;default:this.out.log(i)}}}}function E(){let t="X-SignalR-User-Agent";return g.isNode&&(t="User-Agent"),[t,C(f,S(),g.isNode?"NodeJS":"Browser",k())]}function C(t,e,s,i){let n="Microsoft SignalR/";const r=t.split(".");return n+=`${r[0]}.${r[1]}`,n+=` (${t}; `,n+=e&&""!==e?`${e}; `:"Unknown OS; ",n+=`${s}`,n+=i?`; ${i}`:"; Unknown Runtime Version",n+=")",n}function S(){if(!g.isNode)return"";switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}}function k(){if(g.isNode)return process.versions.node}function P(t){return t.stack?t.stack:t.message?t.message:`${t}`}class T extends d{constructor(e){if(super(),this.u=e,"undefined"==typeof fetch){const t=require;this.p=new(t("tough-cookie").CookieJar),this.m=t("node-fetch"),this.m=t("fetch-cookie")(this.m,this.p)}else this.m=fetch.bind(function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t.g)return t.g;throw new Error("could not find global")}());if("undefined"==typeof AbortController){const t=require;this.v=t("abort-controller")}else this.v=AbortController}async send(t){if(t.abortSignal&&t.abortSignal.aborted)throw new r;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");const s=new this.v;let o;t.abortSignal&&(t.abortSignal.onabort=()=>{s.abort(),o=new r});let h,c=null;if(t.timeout){const i=t.timeout;c=setTimeout((()=>{s.abort(),this.u.log(e.Warning,"Timeout from HTTP request."),o=new n}),i)}""===t.content&&(t.content=void 0),t.content&&(t.headers=t.headers||{},y(t.content)?t.headers["Content-Type"]="application/octet-stream":t.headers["Content-Type"]="text/plain;charset=UTF-8");try{h=await this.m(t.url,{body:t.content,cache:"no-cache",credentials:!0===t.withCredentials?"include":"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",...t.headers},method:t.method,mode:"cors",redirect:"follow",signal:s.signal})}catch(t){if(o)throw o;throw this.u.log(e.Warning,`Error from HTTP request. ${t}.`),t}finally{c&&clearTimeout(c),t.abortSignal&&(t.abortSignal.onabort=null)}if(!h.ok){const t=await I(h,"text");throw new i(t||h.statusText,h.status)}const a=I(h,t.responseType),l=await a;return new u(h.status,h.statusText,l)}getCookieString(t){let e="";return g.isNode&&this.p&&this.p.getCookies(t,((t,s)=>e=s.join("; "))),e}}function I(t,e){let s;switch(e){case"arraybuffer":s=t.arrayBuffer();break;case"text":default:s=t.text();break;case"blob":case"document":case"json":throw new Error(`${e} is not supported.`)}return s}class _ extends d{constructor(t){super(),this.u=t}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new r):t.method?t.url?new Promise(((s,o)=>{const h=new XMLHttpRequest;h.open(t.method,t.url,!0),h.withCredentials=void 0===t.withCredentials||t.withCredentials,h.setRequestHeader("X-Requested-With","XMLHttpRequest"),""===t.content&&(t.content=void 0),t.content&&(y(t.content)?h.setRequestHeader("Content-Type","application/octet-stream"):h.setRequestHeader("Content-Type","text/plain;charset=UTF-8"));const c=t.headers;c&&Object.keys(c).forEach((t=>{h.setRequestHeader(t,c[t])})),t.responseType&&(h.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=()=>{h.abort(),o(new r)}),t.timeout&&(h.timeout=t.timeout),h.onload=()=>{t.abortSignal&&(t.abortSignal.onabort=null),h.status>=200&&h.status<300?s(new u(h.status,h.statusText,h.response||h.responseText)):o(new i(h.response||h.responseText||h.statusText,h.status))},h.onerror=()=>{this.u.log(e.Warning,`Error from HTTP request. ${h.status}: ${h.statusText}.`),o(new i(h.statusText,h.status))},h.ontimeout=()=>{this.u.log(e.Warning,"Timeout from HTTP request."),o(new n)},h.send(t.content)})):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}}class H extends d{constructor(t){if(super(),"undefined"!=typeof fetch||g.isNode)this.$=new T(t);else{if("undefined"==typeof XMLHttpRequest)throw new Error("No usable HttpClient found.");this.$=new _(t)}}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new r):t.method?t.url?this.$.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(t){return this.$.getCookieString(t)}}class D{static write(t){return`${t}${D.RecordSeparator}`}static parse(t){if(t[t.length-1]!==D.RecordSeparator)throw new Error("Message is incomplete.");const e=t.split(D.RecordSeparator);return e.pop(),e}}D.RecordSeparatorCode=30,D.RecordSeparator=String.fromCharCode(D.RecordSeparatorCode);class x{writeHandshakeRequest(t){return D.write(JSON.stringify(t))}parseHandshakeResponse(t){let e,s;if(y(t)){const i=new Uint8Array(t),n=i.indexOf(D.RecordSeparatorCode);if(-1===n)throw new Error("Message is incomplete.");const r=n+1;e=String.fromCharCode.apply(null,Array.prototype.slice.call(i.slice(0,r))),s=i.byteLength>r?i.slice(r).buffer:null}else{const i=t,n=i.indexOf(D.RecordSeparator);if(-1===n)throw new Error("Message is incomplete.");const r=n+1;e=i.substring(0,r),s=i.length>r?i.substring(r):null}const i=D.parse(e),n=JSON.parse(i[0]);if(n.type)throw new Error("Expected a handshake response from the server.");return[s,n]}}var R,A;!function(t){t[t.Invocation=1]="Invocation",t[t.StreamItem=2]="StreamItem",t[t.Completion=3]="Completion",t[t.StreamInvocation=4]="StreamInvocation",t[t.CancelInvocation=5]="CancelInvocation",t[t.Ping=6]="Ping",t[t.Close=7]="Close"}(R||(R={}));class U{constructor(){this.observers=[]}next(t){for(const e of this.observers)e.next(t)}error(t){for(const e of this.observers)e.error&&e.error(t)}complete(){for(const t of this.observers)t.complete&&t.complete()}subscribe(t){return this.observers.push(t),new v(this,t)}}!function(t){t.Disconnected="Disconnected",t.Connecting="Connecting",t.Connected="Connected",t.Disconnecting="Disconnecting",t.Reconnecting="Reconnecting"}(A||(A={}));class N{constructor(t,s,i,n){this.C=0,this.S=()=>{this.u.log(e.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},w.isRequired(t,"connection"),w.isRequired(s,"logger"),w.isRequired(i,"protocol"),this.serverTimeoutInMilliseconds=3e4,this.keepAliveIntervalInMilliseconds=15e3,this.u=s,this.k=i,this.connection=t,this.P=n,this.T=new x,this.connection.onreceive=t=>this.I(t),this.connection.onclose=t=>this._(t),this.H={},this.D={},this.R=[],this.A=[],this.U=[],this.N=0,this.L=!1,this.M=A.Disconnected,this.j=!1,this.q=this.k.writeMessage({type:R.Ping})}static create(t,e,s,i){return new N(t,e,s,i)}get state(){return this.M}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(t){if(this.M!==A.Disconnected&&this.M!==A.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!t)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=t}start(){return this.W=this.O(),this.W}async O(){if(this.M!==A.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this.M=A.Connecting,this.u.log(e.Debug,"Starting HubConnection.");try{await this.F(),g.isBrowser&&window.document.addEventListener("freeze",this.S),this.M=A.Connected,this.j=!0,this.u.log(e.Debug,"HubConnection connected successfully.")}catch(t){return this.M=A.Disconnected,this.u.log(e.Debug,`HubConnection failed to start successfully because of error '${t}'.`),Promise.reject(t)}}async F(){this.B=void 0,this.L=!1;const t=new Promise(((t,e)=>{this.X=t,this.J=e}));await this.connection.start(this.k.transferFormat);try{const s={protocol:this.k.name,version:this.k.version};if(this.u.log(e.Debug,"Sending handshake request."),await this.V(this.T.writeHandshakeRequest(s)),this.u.log(e.Information,`Using HubProtocol '${this.k.name}'.`),this.G(),this.K(),this.Y(),await t,this.B)throw this.B;this.connection.features.inherentKeepAlive||await this.V(this.q)}catch(t){throw this.u.log(e.Debug,`Hub handshake failed with error '${t}' during start(). Stopping HubConnection.`),this.G(),this.Z(),await this.connection.stop(t),t}}async stop(){const t=this.W;this.tt=this.et(),await this.tt;try{await t}catch(t){}}et(t){return this.M===A.Disconnected?(this.u.log(e.Debug,`Call to HubConnection.stop(${t}) ignored because it is already in the disconnected state.`),Promise.resolve()):this.M===A.Disconnecting?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.M=A.Disconnecting,this.u.log(e.Debug,"Stopping HubConnection."),this.st?(this.u.log(e.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this.st),this.st=void 0,this.it(),Promise.resolve()):(this.G(),this.Z(),this.B=t||new r("The connection was stopped before the hub handshake could complete."),this.connection.stop(t)))}stream(t,...e){const[s,i]=this.nt(e),n=this.rt(t,e,i);let r;const o=new U;return o.cancelCallback=()=>{const t=this.ot(n.invocationId);return delete this.H[n.invocationId],r.then((()=>this.ht(t)))},this.H[n.invocationId]=(t,e)=>{e?o.error(e):t&&(t.type===R.Completion?t.error?o.error(new Error(t.error)):o.complete():o.next(t.item))},r=this.ht(n).catch((t=>{o.error(t),delete this.H[n.invocationId]})),this.ct(s,r),o}V(t){return this.Y(),this.connection.send(t)}ht(t){return this.V(this.k.writeMessage(t))}send(t,...e){const[s,i]=this.nt(e),n=this.ht(this.lt(t,e,!0,i));return this.ct(s,n),n}invoke(t,...e){const[s,i]=this.nt(e),n=this.lt(t,e,!1,i);return new Promise(((t,e)=>{this.H[n.invocationId]=(s,i)=>{i?e(i):s&&(s.type===R.Completion?s.error?e(new Error(s.error)):t(s.result):e(new Error(`Unexpected message type: ${s.type}`)))};const i=this.ht(n).catch((t=>{e(t),delete this.H[n.invocationId]}));this.ct(s,i)}))}on(t,e){t&&e&&(t=t.toLowerCase(),this.D[t]||(this.D[t]=[]),-1===this.D[t].indexOf(e)&&this.D[t].push(e))}off(t,e){if(!t)return;t=t.toLowerCase();const s=this.D[t];if(s)if(e){const i=s.indexOf(e);-1!==i&&(s.splice(i,1),0===s.length&&delete this.D[t])}else delete this.D[t]}onclose(t){t&&this.R.push(t)}onreconnecting(t){t&&this.A.push(t)}onreconnected(t){t&&this.U.push(t)}I(t){if(this.G(),this.L||(t=this.ut(t),this.L=!0),t){const s=this.k.parseMessages(t,this.u);for(const t of s)switch(t.type){case R.Invocation:this.dt(t);break;case R.StreamItem:case R.Completion:{const s=this.H[t.invocationId];if(s){t.type===R.Completion&&delete this.H[t.invocationId];try{s(t)}catch(t){this.u.log(e.Error,`Stream callback threw error: ${P(t)}`)}}break}case R.Ping:break;case R.Close:{this.u.log(e.Information,"Close message received from server.");const s=t.error?new Error("Server returned an error on close: "+t.error):void 0;!0===t.allowReconnect?this.connection.stop(s):this.tt=this.et(s);break}default:this.u.log(e.Warning,`Invalid message type: ${t.type}.`)}}this.K()}ut(t){let s,i;try{[i,s]=this.T.parseHandshakeResponse(t)}catch(t){const s="Error parsing handshake response: "+t;this.u.log(e.Error,s);const i=new Error(s);throw this.J(i),i}if(s.error){const t="Server returned handshake error: "+s.error;this.u.log(e.Error,t);const i=new Error(t);throw this.J(i),i}return this.u.log(e.Debug,"Server handshake complete."),this.X(),i}Y(){this.connection.features.inherentKeepAlive||(this.C=(new Date).getTime()+this.keepAliveIntervalInMilliseconds,this.Z())}K(){if(!(this.connection.features&&this.connection.features.inherentKeepAlive||(this.ft=setTimeout((()=>this.serverTimeout()),this.serverTimeoutInMilliseconds),void 0!==this.wt))){let t=this.C-(new Date).getTime();t<0&&(t=0),this.wt=setTimeout((async()=>{if(this.M===A.Connected)try{await this.V(this.q)}catch{this.Z()}}),t)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}async dt(t){const s=t.target.toLowerCase(),i=this.D[s];if(!i)return this.u.log(e.Warning,`No client method with the name '${s}' found.`),void(t.invocationId&&(this.u.log(e.Warning,`No result given for '${s}' method and invocation ID '${t.invocationId}'.`),await this.ht(this.gt(t.invocationId,"Client didn't provide a result.",null))));const n=i.slice(),r=!!t.invocationId;let o,h,c;for(const i of n)try{const n=o;o=await i.apply(this,t.arguments),r&&o&&n&&(this.u.log(e.Error,`Multiple results provided for '${s}'. Sending error to server.`),c=this.gt(t.invocationId,"Client provided multiple results.",null)),h=void 0}catch(t){h=t,this.u.log(e.Error,`A callback for the method '${s}' threw error '${t}'.`)}c?await this.ht(c):r?(h?c=this.gt(t.invocationId,`${h}`,null):void 0!==o?c=this.gt(t.invocationId,null,o):(this.u.log(e.Warning,`No result given for '${s}' method and invocation ID '${t.invocationId}'.`),c=this.gt(t.invocationId,"Client didn't provide a result.",null)),await this.ht(c)):o&&this.u.log(e.Error,`Result given for '${s}' method but server is not expecting a result.`)}_(t){this.u.log(e.Debug,`HubConnection.connectionClosed(${t}) called while in state ${this.M}.`),this.B=this.B||t||new r("The underlying connection was closed before the hub handshake could complete."),this.X&&this.X(),this.yt(t||new Error("Invocation canceled due to the underlying connection being closed.")),this.G(),this.Z(),this.M===A.Disconnecting?this.it(t):this.M===A.Connected&&this.P?this.bt(t):this.M===A.Connected&&this.it(t)}it(t){if(this.j){this.M=A.Disconnected,this.j=!1,g.isBrowser&&window.document.removeEventListener("freeze",this.S);try{this.R.forEach((e=>e.apply(this,[t])))}catch(s){this.u.log(e.Error,`An onclose callback called with error '${t}' threw error '${s}'.`)}}}async bt(t){const s=Date.now();let i=0,n=void 0!==t?t:new Error("Attempting to reconnect due to a unknown error."),r=this.vt(i++,0,n);if(null===r)return this.u.log(e.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),void this.it(t);if(this.M=A.Reconnecting,t?this.u.log(e.Information,`Connection reconnecting because of error '${t}'.`):this.u.log(e.Information,"Connection reconnecting."),0!==this.A.length){try{this.A.forEach((e=>e.apply(this,[t])))}catch(s){this.u.log(e.Error,`An onreconnecting callback called with error '${t}' threw error '${s}'.`)}if(this.M!==A.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.")}for(;null!==r;){if(this.u.log(e.Information,`Reconnect attempt number ${i} will start in ${r} ms.`),await new Promise((t=>{this.st=setTimeout(t,r)})),this.st=void 0,this.M!==A.Reconnecting)return void this.u.log(e.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");try{if(await this.F(),this.M=A.Connected,this.u.log(e.Information,"HubConnection reconnected successfully."),0!==this.U.length)try{this.U.forEach((t=>t.apply(this,[this.connection.connectionId])))}catch(t){this.u.log(e.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${t}'.`)}return}catch(t){if(this.u.log(e.Information,`Reconnect attempt failed because of error '${t}'.`),this.M!==A.Reconnecting)return this.u.log(e.Debug,`Connection moved to the '${this.M}' from the reconnecting state during reconnect attempt. Done reconnecting.`),void(this.M===A.Disconnecting&&this.it());n=t instanceof Error?t:new Error(t.toString()),r=this.vt(i++,Date.now()-s,n)}}this.u.log(e.Information,`Reconnect retries have been exhausted after ${Date.now()-s} ms and ${i} failed attempts. Connection disconnecting.`),this.it()}vt(t,s,i){try{return this.P.nextRetryDelayInMilliseconds({elapsedMilliseconds:s,previousRetryCount:t,retryReason:i})}catch(i){return this.u.log(e.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${t}, ${s}) threw error '${i}'.`),null}}yt(t){const s=this.H;this.H={},Object.keys(s).forEach((i=>{const n=s[i];try{n(null,t)}catch(s){this.u.log(e.Error,`Stream 'error' callback called with '${t}' threw error: ${P(s)}`)}}))}Z(){this.wt&&(clearTimeout(this.wt),this.wt=void 0)}G(){this.ft&&clearTimeout(this.ft)}lt(t,e,s,i){if(s)return 0!==i.length?{arguments:e,streamIds:i,target:t,type:R.Invocation}:{arguments:e,target:t,type:R.Invocation};{const s=this.N;return this.N++,0!==i.length?{arguments:e,invocationId:s.toString(),streamIds:i,target:t,type:R.Invocation}:{arguments:e,invocationId:s.toString(),target:t,type:R.Invocation}}}ct(t,e){if(0!==t.length){e||(e=Promise.resolve());for(const s in t)t[s].subscribe({complete:()=>{e=e.then((()=>this.ht(this.gt(s))))},error:t=>{let i;i=t instanceof Error?t.message:t&&t.toString?t.toString():"Unknown error",e=e.then((()=>this.ht(this.gt(s,i))))},next:t=>{e=e.then((()=>this.ht(this.$t(s,t))))}})}}nt(t){const e=[],s=[];for(let i=0;i0)&&(e=!1,this.Pt=await this.kt()),this.Tt(t);const s=await this.St.send(t);return e&&401===s.statusCode&&this.kt?(this.Pt=await this.kt(),this.Tt(t),await this.St.send(t)):s}Tt(t){t.headers||(t.headers={}),this.Pt?t.headers[j.Authorization]=`Bearer ${this.Pt}`:this.kt&&t.headers[j.Authorization]&&delete t.headers[j.Authorization]}getCookieString(t){return this.St.getCookieString(t)}}var W,O;!function(t){t[t.None=0]="None",t[t.WebSockets=1]="WebSockets",t[t.ServerSentEvents=2]="ServerSentEvents",t[t.LongPolling=4]="LongPolling"}(W||(W={})),function(t){t[t.Text=1]="Text",t[t.Binary=2]="Binary"}(O||(O={}));class F{constructor(){this.It=!1,this.onabort=null}abort(){this.It||(this.It=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this.It}}class B{constructor(t,e,s){this.$=t,this.u=e,this._t=new F,this.Ht=s,this.Dt=!1,this.onreceive=null,this.onclose=null}get pollAborted(){return this._t.aborted}async connect(t,s){if(w.isRequired(t,"url"),w.isRequired(s,"transferFormat"),w.isIn(s,O,"transferFormat"),this.xt=t,this.u.log(e.Trace,"(LongPolling transport) Connecting."),s===O.Binary&&"undefined"!=typeof XMLHttpRequest&&"string"!=typeof(new XMLHttpRequest).responseType)throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");const[n,r]=E(),o={[n]:r,...this.Ht.headers},h={abortSignal:this._t.signal,headers:o,timeout:1e5,withCredentials:this.Ht.withCredentials};s===O.Binary&&(h.responseType="arraybuffer");const c=`${t}&_=${Date.now()}`;this.u.log(e.Trace,`(LongPolling transport) polling: ${c}.`);const a=await this.$.get(c,h);200!==a.statusCode?(this.u.log(e.Error,`(LongPolling transport) Unexpected response code: ${a.statusCode}.`),this.Rt=new i(a.statusText||"",a.statusCode),this.Dt=!1):this.Dt=!0,this.At=this.Ut(this.xt,h)}async Ut(t,s){try{for(;this.Dt;)try{const n=`${t}&_=${Date.now()}`;this.u.log(e.Trace,`(LongPolling transport) polling: ${n}.`);const r=await this.$.get(n,s);204===r.statusCode?(this.u.log(e.Information,"(LongPolling transport) Poll terminated by server."),this.Dt=!1):200!==r.statusCode?(this.u.log(e.Error,`(LongPolling transport) Unexpected response code: ${r.statusCode}.`),this.Rt=new i(r.statusText||"",r.statusCode),this.Dt=!1):r.content?(this.u.log(e.Trace,`(LongPolling transport) data received. ${m(r.content,this.Ht.logMessageContent)}.`),this.onreceive&&this.onreceive(r.content)):this.u.log(e.Trace,"(LongPolling transport) Poll timed out, reissuing.")}catch(t){this.Dt?t instanceof n?this.u.log(e.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this.Rt=t,this.Dt=!1):this.u.log(e.Trace,`(LongPolling transport) Poll errored after shutdown: ${t.message}`)}}finally{this.u.log(e.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this.Nt()}}async send(t){return this.Dt?b(this.u,"LongPolling",this.$,this.xt,t,this.Ht):Promise.reject(new Error("Cannot send until the transport is connected"))}async stop(){this.u.log(e.Trace,"(LongPolling transport) Stopping polling."),this.Dt=!1,this._t.abort();try{await this.At,this.u.log(e.Trace,`(LongPolling transport) sending DELETE request to ${this.xt}.`);const t={},[s,i]=E();t[s]=i;const n={headers:{...t,...this.Ht.headers},timeout:this.Ht.timeout,withCredentials:this.Ht.withCredentials};await this.$.delete(this.xt,n),this.u.log(e.Trace,"(LongPolling transport) DELETE request sent.")}finally{this.u.log(e.Trace,"(LongPolling transport) Stop finished."),this.Nt()}}Nt(){if(this.onclose){let t="(LongPolling transport) Firing onclose event.";this.Rt&&(t+=" Error: "+this.Rt),this.u.log(e.Trace,t),this.onclose(this.Rt)}}}class X{constructor(t,e,s,i){this.$=t,this.Pt=e,this.u=s,this.Ht=i,this.onreceive=null,this.onclose=null}async connect(t,s){return w.isRequired(t,"url"),w.isRequired(s,"transferFormat"),w.isIn(s,O,"transferFormat"),this.u.log(e.Trace,"(SSE transport) Connecting."),this.xt=t,this.Pt&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(this.Pt)}`),new Promise(((i,n)=>{let r,o=!1;if(s===O.Text){if(g.isBrowser||g.isWebWorker)r=new this.Ht.EventSource(t,{withCredentials:this.Ht.withCredentials});else{const e=this.$.getCookieString(t),s={};s.Cookie=e;const[i,n]=E();s[i]=n,r=new this.Ht.EventSource(t,{withCredentials:this.Ht.withCredentials,headers:{...s,...this.Ht.headers}})}try{r.onmessage=t=>{if(this.onreceive)try{this.u.log(e.Trace,`(SSE transport) data received. ${m(t.data,this.Ht.logMessageContent)}.`),this.onreceive(t.data)}catch(t){return void this.Lt(t)}},r.onerror=t=>{o?this.Lt():n(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},r.onopen=()=>{this.u.log(e.Information,`SSE connected to ${this.xt}`),this.Mt=r,o=!0,i()}}catch(t){return void n(t)}}else n(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"))}))}async send(t){return this.Mt?b(this.u,"SSE",this.$,this.xt,t,this.Ht):Promise.reject(new Error("Cannot send until the transport is connected"))}stop(){return this.Lt(),Promise.resolve()}Lt(t){this.Mt&&(this.Mt.close(),this.Mt=void 0,this.onclose&&this.onclose(t))}}class J{constructor(t,e,s,i,n,r){this.u=s,this.kt=e,this.jt=i,this.qt=n,this.$=t,this.onreceive=null,this.onclose=null,this.Wt=r}async connect(t,s){let i;return w.isRequired(t,"url"),w.isRequired(s,"transferFormat"),w.isIn(s,O,"transferFormat"),this.u.log(e.Trace,"(WebSockets transport) Connecting."),this.kt&&(i=await this.kt()),new Promise(((n,r)=>{let o;t=t.replace(/^http/,"ws");const h=this.$.getCookieString(t);let c=!1;if(g.isNode||g.isReactNative){const e={},[s,n]=E();e[s]=n,i&&(e[j.Authorization]=`Bearer ${i}`),h&&(e[j.Cookie]=h),o=new this.qt(t,void 0,{headers:{...e,...this.Wt}})}else i&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(i)}`);o||(o=new this.qt(t)),s===O.Binary&&(o.binaryType="arraybuffer"),o.onopen=s=>{this.u.log(e.Information,`WebSocket connected to ${t}.`),this.Ot=o,c=!0,n()},o.onerror=t=>{let s=null;s="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"There was an error with the transport",this.u.log(e.Information,`(WebSockets transport) ${s}.`)},o.onmessage=t=>{if(this.u.log(e.Trace,`(WebSockets transport) data received. ${m(t.data,this.jt)}.`),this.onreceive)try{this.onreceive(t.data)}catch(t){return void this.Lt(t)}},o.onclose=t=>{if(c)this.Lt(t);else{let e=null;e="undefined"!=typeof ErrorEvent&&t instanceof ErrorEvent?t.error:"WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",r(new Error(e))}}}))}send(t){return this.Ot&&this.Ot.readyState===this.qt.OPEN?(this.u.log(e.Trace,`(WebSockets transport) sending data. ${m(t,this.jt)}.`),this.Ot.send(t),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this.Ot&&this.Lt(void 0),Promise.resolve()}Lt(t){this.Ot&&(this.Ot.onclose=()=>{},this.Ot.onmessage=()=>{},this.Ot.onerror=()=>{},this.Ot.close(),this.Ot=void 0),this.u.log(e.Trace,"(WebSockets transport) socket closed."),this.onclose&&(!this.Ft(t)||!1!==t.wasClean&&1e3===t.code?t instanceof Error?this.onclose(t):this.onclose():this.onclose(new Error(`WebSocket closed with status code: ${t.code} (${t.reason||"no reason given"}).`)))}Ft(t){return t&&"boolean"==typeof t.wasClean&&"number"==typeof t.code}}class z{constructor(t,s={}){var i;if(this.Bt=()=>{},this.features={},this.Xt=1,w.isRequired(t,"url"),this.u=void 0===(i=s.logger)?new $(e.Information):null===i?p.instance:void 0!==i.log?i:new $(i),this.baseUrl=this.Jt(t),(s=s||{}).logMessageContent=void 0!==s.logMessageContent&&s.logMessageContent,"boolean"!=typeof s.withCredentials&&void 0!==s.withCredentials)throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");s.withCredentials=void 0===s.withCredentials||s.withCredentials,s.timeout=void 0===s.timeout?1e5:s.timeout;let n=null,r=null;if(g.isNode){const t=require;n=t("ws"),r=t("eventsource")}g.isNode||"undefined"==typeof WebSocket||s.WebSocket?g.isNode&&!s.WebSocket&&n&&(s.WebSocket=n):s.WebSocket=WebSocket,g.isNode||"undefined"==typeof EventSource||s.EventSource?g.isNode&&!s.EventSource&&void 0!==r&&(s.EventSource=r):s.EventSource=EventSource,this.$=new q(s.httpClient||new H(this.u),s.accessTokenFactory),this.M="Disconnected",this.j=!1,this.Ht=s,this.onreceive=null,this.onclose=null}async start(t){if(t=t||O.Binary,w.isIn(t,O,"transferFormat"),this.u.log(e.Debug,`Starting connection with transfer format '${O[t]}'.`),"Disconnected"!==this.M)return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this.M="Connecting",this.zt=this.F(t),await this.zt,"Disconnecting"===this.M){const t="Failed to start the HttpConnection before stop() was called.";return this.u.log(e.Error,t),await this.tt,Promise.reject(new r(t))}if("Connected"!==this.M){const t="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this.u.log(e.Error,t),Promise.reject(new r(t))}this.j=!0}send(t){return"Connected"!==this.M?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this.Vt||(this.Vt=new V(this.transport)),this.Vt.send(t))}async stop(t){return"Disconnected"===this.M?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnected state.`),Promise.resolve()):"Disconnecting"===this.M?(this.u.log(e.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this.tt):(this.M="Disconnecting",this.tt=new Promise((t=>{this.Bt=t})),await this.et(t),void await this.tt)}async et(t){this.Gt=t;try{await this.zt}catch(t){}if(this.transport){try{await this.transport.stop()}catch(t){this.u.log(e.Error,`HttpConnection.transport.stop() threw error '${t}'.`),this.Kt()}this.transport=void 0}else this.u.log(e.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")}async F(t){let s=this.baseUrl;this.kt=this.Ht.accessTokenFactory,this.$.kt=this.kt;try{if(this.Ht.skipNegotiation){if(this.Ht.transport!==W.WebSockets)throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");this.transport=this.Qt(W.WebSockets),await this.Yt(s,t)}else{let e=null,i=0;do{if(e=await this.Zt(s),"Disconnecting"===this.M||"Disconnected"===this.M)throw new r("The connection was stopped during negotiation.");if(e.error)throw new Error(e.error);if(e.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(e.url&&(s=e.url),e.accessToken){const t=e.accessToken;this.kt=()=>t,this.$.Pt=t,this.$.kt=void 0}i++}while(e.url&&i<100);if(100===i&&e.url)throw new Error("Negotiate redirection limit exceeded.");await this.te(s,this.Ht.transport,e,t)}this.transport instanceof B&&(this.features.inherentKeepAlive=!0),"Connecting"===this.M&&(this.u.log(e.Debug,"The HttpConnection connected successfully."),this.M="Connected")}catch(t){return this.u.log(e.Error,"Failed to start the connection: "+t),this.M="Disconnected",this.transport=void 0,this.Bt(),Promise.reject(t)}}async Zt(t){const s={},[n,r]=E();s[n]=r;const o=this.ee(t);this.u.log(e.Debug,`Sending negotiation request: ${o}.`);try{const t=await this.$.post(o,{content:"",headers:{...s,...this.Ht.headers},timeout:this.Ht.timeout,withCredentials:this.Ht.withCredentials});if(200!==t.statusCode)return Promise.reject(new Error(`Unexpected status code returned from negotiate '${t.statusCode}'`));const e=JSON.parse(t.content);return(!e.negotiateVersion||e.negotiateVersion<1)&&(e.connectionToken=e.connectionId),e}catch(t){let s="Failed to complete negotiation with the server: "+t;return t instanceof i&&404===t.statusCode&&(s+=" Either this is not a SignalR endpoint or there is a proxy blocking the connection."),this.u.log(e.Error,s),Promise.reject(new a(s))}}se(t,e){return e?t+(-1===t.indexOf("?")?"?":"&")+`id=${e}`:t}async te(t,s,i,n){let o=this.se(t,i.connectionToken);if(this.ie(s))return this.u.log(e.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=s,await this.Yt(o,n),void(this.connectionId=i.connectionId);const h=[],a=i.availableTransports||[];let u=i;for(const i of a){const a=this.ne(i,s,n);if(a instanceof Error)h.push(`${i.transport} failed:`),h.push(a);else if(this.ie(a)){if(this.transport=a,!u){try{u=await this.Zt(t)}catch(t){return Promise.reject(t)}o=this.se(t,u.connectionToken)}try{return await this.Yt(o,n),void(this.connectionId=u.connectionId)}catch(t){if(this.u.log(e.Error,`Failed to start the transport '${i.transport}': ${t}`),u=void 0,h.push(new c(`${i.transport} failed: ${t}`,W[i.transport])),"Connecting"!==this.M){const t="Failed to select transport before stop() was called.";return this.u.log(e.Debug,t),Promise.reject(new r(t))}}}}return h.length>0?Promise.reject(new l(`Unable to connect to the server with any of the available transports. ${h.join(" ")}`,h)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))}Qt(t){switch(t){case W.WebSockets:if(!this.Ht.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new J(this.$,this.kt,this.u,this.Ht.logMessageContent,this.Ht.WebSocket,this.Ht.headers||{});case W.ServerSentEvents:if(!this.Ht.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new X(this.$,this.$.Pt,this.u,this.Ht);case W.LongPolling:return new B(this.$,this.u,this.Ht);default:throw new Error(`Unknown transport: ${t}.`)}}Yt(t,e){return this.transport.onreceive=this.onreceive,this.transport.onclose=t=>this.Kt(t),this.transport.connect(t,e)}ne(t,s,i){const n=W[t.transport];if(null==n)return this.u.log(e.Debug,`Skipping transport '${t.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${t.transport}' because it is not supported by this client.`);if(!function(t,e){return!t||0!=(e&t)}(s,n))return this.u.log(e.Debug,`Skipping transport '${W[n]}' because it was disabled by the client.`),new h(`'${W[n]}' is disabled by the client.`,n);if(!(t.transferFormats.map((t=>O[t])).indexOf(i)>=0))return this.u.log(e.Debug,`Skipping transport '${W[n]}' because it does not support the requested transfer format '${O[i]}'.`),new Error(`'${W[n]}' does not support ${O[i]}.`);if(n===W.WebSockets&&!this.Ht.WebSocket||n===W.ServerSentEvents&&!this.Ht.EventSource)return this.u.log(e.Debug,`Skipping transport '${W[n]}' because it is not supported in your environment.'`),new o(`'${W[n]}' is not supported in your environment.`,n);this.u.log(e.Debug,`Selecting transport '${W[n]}'.`);try{return this.Qt(n)}catch(t){return t}}ie(t){return t&&"object"==typeof t&&"connect"in t}Kt(t){if(this.u.log(e.Debug,`HttpConnection.stopConnection(${t}) called while in state ${this.M}.`),this.transport=void 0,t=this.Gt||t,this.Gt=void 0,"Disconnected"!==this.M){if("Connecting"===this.M)throw this.u.log(e.Warning,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${t}) was called while the connection is still in the connecting state.`);if("Disconnecting"===this.M&&this.Bt(),t?this.u.log(e.Error,`Connection disconnected with error '${t}'.`):this.u.log(e.Information,"Connection disconnected."),this.Vt&&(this.Vt.stop().catch((t=>{this.u.log(e.Error,`TransportSendQueue.stop() threw error '${t}'.`)})),this.Vt=void 0),this.connectionId=void 0,this.M="Disconnected",this.j){this.j=!1;try{this.onclose&&this.onclose(t)}catch(s){this.u.log(e.Error,`HttpConnection.onclose(${t}) threw error '${s}'.`)}}}else this.u.log(e.Debug,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is already in the disconnected state.`)}Jt(t){if(0===t.lastIndexOf("https://",0)||0===t.lastIndexOf("http://",0))return t;if(!g.isBrowser)throw new Error(`Cannot resolve '${t}'.`);const s=window.document.createElement("a");return s.href=t,this.u.log(e.Information,`Normalizing '${t}' to '${s.href}'.`),s.href}ee(t){const e=t.indexOf("?");let s=t.substring(0,-1===e?t.length:e);return"/"!==s[s.length-1]&&(s+="/"),s+="negotiate",s+=-1===e?"":t.substring(e),-1===s.indexOf("negotiateVersion")&&(s+=-1===e?"?":"&",s+="negotiateVersion="+this.Xt),s}}class V{constructor(t){this.re=t,this.oe=[],this.he=!0,this.ce=new G,this.ae=new G,this.le=this.ue()}send(t){return this.de(t),this.ae||(this.ae=new G),this.ae.promise}stop(){return this.he=!1,this.ce.resolve(),this.le}de(t){if(this.oe.length&&typeof this.oe[0]!=typeof t)throw new Error(`Expected data to be of type ${typeof this.oe} but was of type ${typeof t}`);this.oe.push(t),this.ce.resolve()}async ue(){for(;;){if(await this.ce.promise,!this.he){this.ae&&this.ae.reject("Connection stopped.");break}this.ce=new G;const t=this.ae;this.ae=void 0;const e="string"==typeof this.oe[0]?this.oe.join(""):V.pe(this.oe);this.oe.length=0;try{await this.re.send(e),t.resolve()}catch(e){t.reject(e)}}}static pe(t){const e=t.map((t=>t.byteLength)).reduce(((t,e)=>t+e)),s=new Uint8Array(e);let i=0;for(const e of t)s.set(new Uint8Array(e),i),i+=e.byteLength;return s.buffer}}class G{constructor(){this.promise=new Promise(((t,e)=>[this.fe,this.we]=[t,e]))}resolve(){this.fe()}reject(t){this.we(t)}}class K{constructor(){this.name="json",this.version=1,this.transferFormat=O.Text}parseMessages(t,s){if("string"!=typeof t)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!t)return[];null===s&&(s=p.instance);const i=D.parse(t),n=[];for(const t of i){const i=JSON.parse(t);if("number"!=typeof i.type)throw new Error("Invalid payload.");switch(i.type){case R.Invocation:this.ge(i);break;case R.StreamItem:this.me(i);break;case R.Completion:this.ye(i);break;case R.Ping:case R.Close:break;default:s.log(e.Information,"Unknown message type '"+i.type+"' ignored.");continue}n.push(i)}return n}writeMessage(t){return D.write(JSON.stringify(t))}ge(t){this.be(t.target,"Invalid payload for Invocation message."),void 0!==t.invocationId&&this.be(t.invocationId,"Invalid payload for Invocation message.")}me(t){if(this.be(t.invocationId,"Invalid payload for StreamItem message."),void 0===t.item)throw new Error("Invalid payload for StreamItem message.")}ye(t){if(t.result&&t.error)throw new Error("Invalid payload for Completion message.");!t.result&&t.error&&this.be(t.error,"Invalid payload for Completion message."),this.be(t.invocationId,"Invalid payload for Completion message.")}be(t,e){if("string"!=typeof t||""===t)throw new Error(e)}}const Q={trace:e.Trace,debug:e.Debug,info:e.Information,information:e.Information,warn:e.Warning,warning:e.Warning,error:e.Error,critical:e.Critical,none:e.None};class Y{configureLogging(t){if(w.isRequired(t,"logging"),void 0!==t.log)this.logger=t;else if("string"==typeof t){const e=function(t){const e=Q[t.toLowerCase()];if(void 0!==e)return e;throw new Error(`Unknown log level: ${t}`)}(t);this.logger=new $(e)}else this.logger=new $(t);return this}withUrl(t,e){return w.isRequired(t,"url"),w.isNotEmpty(t,"url"),this.url=t,this.httpConnectionOptions="object"==typeof e?{...this.httpConnectionOptions,...e}:{...this.httpConnectionOptions,transport:e},this}withHubProtocol(t){return w.isRequired(t,"protocol"),this.protocol=t,this}withAutomaticReconnect(t){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return t?Array.isArray(t)?this.reconnectPolicy=new M(t):this.reconnectPolicy=t:this.reconnectPolicy=new M,this}build(){const t=this.httpConnectionOptions||{};if(void 0===t.logger&&(t.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");const e=new z(this.url,t);return N.create(e,this.logger||p.instance,this.protocol||new K,this.reconnectPolicy)}}return Uint8Array.prototype.indexOf||Object.defineProperty(Uint8Array.prototype,"indexOf",{value:Array.prototype.indexOf,writable:!0}),Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(t,e){return new Uint8Array(Array.prototype.slice.call(this,t,e))},writable:!0}),Uint8Array.prototype.forEach||Object.defineProperty(Uint8Array.prototype,"forEach",{value:Array.prototype.forEach,writable:!0}),s})(),"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.signalR=e():t.signalR=e(); +//# sourceMappingURL=signalr.min.js.map \ No newline at end of file diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/lib/vue.global.prod.js b/be/Web.Gateway/Web.Gateway/wwwroot/lib/vue.global.prod.js new file mode 100644 index 000000000..53edceee9 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/lib/vue.global.prod.js @@ -0,0 +1 @@ +var Vue=function(e){"use strict";function t(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r!!n[e.toLowerCase()]:e=>!!n[e]}const n=t("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt");function o(e){if(E(e)){const t={};for(let n=0;n{if(e){const n=e.split(s);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function c(e){let t="";if(R(e))t=e;else if(E(e))for(let n=0;nh(e,t)))}const g=(e,t)=>t&&t.__v_isRef?g(e,t.value):O(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:A(t)?{[`Set(${t.size})`]:[...t.values()]}:!M(t)||E(t)||L(t)?t:String(t),v={},y=[],_=()=>{},b=()=>!1,S=/^on[^a-z]/,x=e=>S.test(e),C=e=>e.startsWith("onUpdate:"),k=Object.assign,w=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},T=Object.prototype.hasOwnProperty,N=(e,t)=>T.call(e,t),E=Array.isArray,O=e=>"[object Map]"===B(e),A=e=>"[object Set]"===B(e),F=e=>"[object Date]"===B(e),P=e=>"function"==typeof e,R=e=>"string"==typeof e,$=e=>"symbol"==typeof e,M=e=>null!==e&&"object"==typeof e,V=e=>M(e)&&P(e.then)&&P(e.catch),I=Object.prototype.toString,B=e=>I.call(e),L=e=>"[object Object]"===B(e),j=e=>R(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,U=t(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),D=t("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),H=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},W=/-(\w)/g,z=H((e=>e.replace(W,((e,t)=>t?t.toUpperCase():"")))),K=/\B([A-Z])/g,G=H((e=>e.replace(K,"-$1").toLowerCase())),q=H((e=>e.charAt(0).toUpperCase()+e.slice(1))),J=H((e=>e?`on${q(e)}`:"")),Z=(e,t)=>!Object.is(e,t),Y=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},X=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ee=e=>{const t=R(e)?Number(e):NaN;return isNaN(t)?e:t};let te;let ne;class oe{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ne,!e&&ne&&(this.index=(ne.scopes||(ne.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=ne;try{return ne=this,e()}finally{ne=t}}}on(){ne=this}off(){ne=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},le=e=>(e.w&pe)>0,ce=e=>(e.n&pe)>0,ae=new WeakMap;let ue=0,pe=1;let fe;const de=Symbol(""),he=Symbol("");class me{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,re(this,n)}run(){if(!this.active)return this.fn();let e=fe,t=ve;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=fe,fe=this,ve=!0,pe=1<<++ue,ue<=30?(({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{("length"===n||n>=e)&&l.push(t)}))}else switch(void 0!==n&&l.push(i.get(n)),t){case"add":E(e)?j(n)&&l.push(i.get("length")):(l.push(i.get(de)),O(e)&&l.push(i.get(he)));break;case"delete":E(e)||(l.push(i.get(de)),O(e)&&l.push(i.get(he)));break;case"set":O(e)&&l.push(i.get(de))}if(1===l.length)l[0]&&ke(l[0]);else{const e=[];for(const t of l)t&&e.push(...t);ke(ie(e))}}function ke(e,t){const n=E(e)?e:[...e];for(const o of n)o.computed&&we(o);for(const o of n)o.computed||we(o)}function we(e,t){(e!==fe||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Te=t("__proto__,__v_isRef,__isVue"),Ne=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter($)),Ee=Me(),Oe=Me(!1,!0),Ae=Me(!0),Fe=Me(!0,!0),Pe=Re();function Re(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=xt(this);for(let t=0,r=this.length;t{e[t]=function(...e){_e();const n=xt(this)[t].apply(this,e);return be(),n}})),e}function $e(e){const t=xt(this);return Se(t,0,e),t.hasOwnProperty(e)}function Me(e=!1,t=!1){return function(n,o,r){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&r===(e?t?ft:pt:t?ut:at).get(n))return n;const s=E(n);if(!e){if(s&&N(Pe,o))return Reflect.get(Pe,o,r);if("hasOwnProperty"===o)return $e}const i=Reflect.get(n,o,r);return($(o)?Ne.has(o):Te(o))?i:(e||Se(n,0,o),t?i:Et(i)?s&&j(o)?i:i.value:M(i)?e?gt(i):ht(i):i)}}function Ve(e=!1){return function(t,n,o,r){let s=t[n];if(_t(s)&&Et(s)&&!Et(o))return!1;if(!e&&(bt(o)||_t(o)||(s=xt(s),o=xt(o)),!E(t)&&Et(s)&&!Et(o)))return s.value=o,!0;const i=E(t)&&j(n)?Number(n)!0,deleteProperty:(e,t)=>!0},Le=k({},Ie,{get:Oe,set:Ve(!0)}),je=k({},Be,{get:Fe}),Ue=e=>e,De=e=>Reflect.getPrototypeOf(e);function He(e,t,n=!1,o=!1){const r=xt(e=e.__v_raw),s=xt(t);n||(t!==s&&Se(r,0,t),Se(r,0,s));const{has:i}=De(r),l=o?Ue:n?wt:kt;return i.call(r,t)?l(e.get(t)):i.call(r,s)?l(e.get(s)):void(e!==r&&e.get(t))}function We(e,t=!1){const n=this.__v_raw,o=xt(n),r=xt(e);return t||(e!==r&&Se(o,0,e),Se(o,0,r)),e===r?n.has(e):n.has(e)||n.has(r)}function ze(e,t=!1){return e=e.__v_raw,!t&&Se(xt(e),0,de),Reflect.get(e,"size",e)}function Ke(e){e=xt(e);const t=xt(this);return De(t).has.call(t,e)||(t.add(e),Ce(t,"add",e,e)),this}function Ge(e,t){t=xt(t);const n=xt(this),{has:o,get:r}=De(n);let s=o.call(n,e);s||(e=xt(e),s=o.call(n,e));const i=r.call(n,e);return n.set(e,t),s?Z(t,i)&&Ce(n,"set",e,t):Ce(n,"add",e,t),this}function qe(e){const t=xt(this),{has:n,get:o}=De(t);let r=n.call(t,e);r||(e=xt(e),r=n.call(t,e)),o&&o.call(t,e);const s=t.delete(e);return r&&Ce(t,"delete",e,void 0),s}function Je(){const e=xt(this),t=0!==e.size,n=e.clear();return t&&Ce(e,"clear",void 0,void 0),n}function Ze(e,t){return function(n,o){const r=this,s=r.__v_raw,i=xt(s),l=t?Ue:e?wt:kt;return!e&&Se(i,0,de),s.forEach(((e,t)=>n.call(o,l(e),l(t),r)))}}function Ye(e,t,n){return function(...o){const r=this.__v_raw,s=xt(r),i=O(s),l="entries"===e||e===Symbol.iterator&&i,c="keys"===e&&i,a=r[e](...o),u=n?Ue:t?wt:kt;return!t&&Se(s,0,c?he:de),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:l?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Qe(e){return function(...t){return"delete"!==e&&this}}function Xe(){const e={get(e){return He(this,e)},get size(){return ze(this)},has:We,add:Ke,set:Ge,delete:qe,clear:Je,forEach:Ze(!1,!1)},t={get(e){return He(this,e,!1,!0)},get size(){return ze(this)},has:We,add:Ke,set:Ge,delete:qe,clear:Je,forEach:Ze(!1,!0)},n={get(e){return He(this,e,!0)},get size(){return ze(this,!0)},has(e){return We.call(this,e,!0)},add:Qe("add"),set:Qe("set"),delete:Qe("delete"),clear:Qe("clear"),forEach:Ze(!0,!1)},o={get(e){return He(this,e,!0,!0)},get size(){return ze(this,!0)},has(e){return We.call(this,e,!0)},add:Qe("add"),set:Qe("set"),delete:Qe("delete"),clear:Qe("clear"),forEach:Ze(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=Ye(r,!1,!1),n[r]=Ye(r,!0,!1),t[r]=Ye(r,!1,!0),o[r]=Ye(r,!0,!0)})),[e,n,t,o]}const[et,tt,nt,ot]=Xe();function rt(e,t){const n=t?e?ot:nt:e?tt:et;return(t,o,r)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(N(n,o)&&o in t?n:t,o,r)}const st={get:rt(!1,!1)},it={get:rt(!1,!0)},lt={get:rt(!0,!1)},ct={get:rt(!0,!0)},at=new WeakMap,ut=new WeakMap,pt=new WeakMap,ft=new WeakMap;function dt(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>B(e).slice(8,-1))(e))}function ht(e){return _t(e)?e:vt(e,!1,Ie,st,at)}function mt(e){return vt(e,!1,Le,it,ut)}function gt(e){return vt(e,!0,Be,lt,pt)}function vt(e,t,n,o,r){if(!M(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const i=dt(e);if(0===i)return e;const l=new Proxy(e,2===i?o:n);return r.set(e,l),l}function yt(e){return _t(e)?yt(e.__v_raw):!(!e||!e.__v_isReactive)}function _t(e){return!(!e||!e.__v_isReadonly)}function bt(e){return!(!e||!e.__v_isShallow)}function St(e){return yt(e)||_t(e)}function xt(e){const t=e&&e.__v_raw;return t?xt(t):e}function Ct(e){return Q(e,"__v_skip",!0),e}const kt=e=>M(e)?ht(e):e,wt=e=>M(e)?gt(e):e;function Tt(e){ve&&fe&&xe((e=xt(e)).dep||(e.dep=ie()))}function Nt(e,t){const n=(e=xt(e)).dep;n&&ke(n)}function Et(e){return!(!e||!0!==e.__v_isRef)}function Ot(e){return At(e,!1)}function At(e,t){return Et(e)?e:new Ft(e,t)}class Ft{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:xt(e),this._value=t?e:kt(e)}get value(){return Tt(this),this._value}set value(e){const t=this.__v_isShallow||bt(e)||_t(e);e=t?e:xt(e),Z(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:kt(e),Nt(this))}}function Pt(e){return Et(e)?e.value:e}const Rt={get:(e,t,n)=>Pt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Et(r)&&!Et(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function $t(e){return yt(e)?e:new Proxy(e,Rt)}class Mt{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:n}=e((()=>Tt(this)),(()=>Nt(this)));this._get=t,this._set=n}get value(){return this._get()}set value(e){this._set(e)}}class Vt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){var n;return null===(n=ae.get(e))||void 0===n?void 0:n.get(t)}(xt(this._object),this._key)}}function It(e,t,n){const o=e[t];return Et(o)?o:new Vt(e,t,n)}var Bt;class Lt{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this[Bt]=!1,this._dirty=!0,this.effect=new me(e,(()=>{this._dirty||(this._dirty=!0,Nt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=xt(this);return Tt(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function jt(e,t,n,o){let r;try{r=o?e(...o):e()}catch(s){Dt(s,t,n)}return r}function Ut(e,t,n,o){if(P(e)){const r=jt(e,t,n,o);return r&&V(r)&&r.catch((e=>{Dt(e,t,n)})),r}const r=[];for(let s=0;s>>1;rn(zt[o])rn(e)-rn(t))),Jt=0;Jtnull==e.id?1/0:e.id,sn=(e,t)=>{const n=rn(e)-rn(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ln(e){Wt=!1,Ht=!0,zt.sort(sn);try{for(Kt=0;KtR(e)?e.trim():e))),t&&(r=n.map(X))}let l,c=o[l=J(t)]||o[l=J(z(t))];!c&&s&&(c=o[l=J(G(t))]),c&&Ut(c,e,6,r);const a=o[l+"Once"];if(a){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,Ut(a,e,6,r)}}function un(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const s=e.emits;let i={},l=!1;if(!P(e)){const o=e=>{const n=un(e,t,!0);n&&(l=!0,k(i,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return s||l?(E(s)?s.forEach((e=>i[e]=null)):k(i,s),M(e)&&o.set(e,i),i):(M(e)&&o.set(e,null),null)}function pn(e,t){return!(!e||!x(t))&&(t=t.slice(2).replace(/Once$/,""),N(e,t[0].toLowerCase()+t.slice(1))||N(e,G(t))||N(e,t))}let fn=null,dn=null;function hn(e){const t=fn;return fn=e,dn=e&&e.type.__scopeId||null,t}function mn(e,t=fn,n){if(!t)return e;if(e._n)return e;const o=(...n)=>{o._d&&Tr(-1);const r=hn(t);let s;try{s=e(...n)}finally{hn(r),o._d&&Tr(1)}return s};return o._n=!0,o._c=!0,o._d=!0,o}function gn(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:s,propsOptions:[i],slots:l,attrs:c,emit:a,render:u,renderCache:p,data:f,setupState:d,ctx:h,inheritAttrs:m}=e;let g,v;const y=hn(e);try{if(4&n.shapeFlag){const e=r||o;g=Lr(u.call(e,e,p,s,d,f,h)),v=c}else{const e=t;0,g=Lr(e(s,e.length>1?{attrs:c,slots:l,emit:a}:null)),v=t.props?c:vn(c)}}catch(b){Sr.length=0,Dt(b,e,1),g=Mr(_r)}let _=g;if(v&&!1!==m){const e=Object.keys(v),{shapeFlag:t}=_;e.length&&7&t&&(i&&e.some(C)&&(v=yn(v,i)),_=Ir(_,v))}return n.dirs&&(_=Ir(_),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),g=_,hn(y),g}const vn=e=>{let t;for(const n in e)("class"===n||"style"===n||x(n))&&((t||(t={}))[n]=e[n]);return t},yn=(e,t)=>{const n={};for(const o in e)C(o)&&o.slice(9)in t||(n[o]=e[o]);return n};function _n(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense,xn={name:"Suspense",__isSuspense:!0,process(e,t,n,o,r,s,i,l,c,a){null==e?function(e,t,n,o,r,s,i,l,c){const{p:a,o:{createElement:u}}=c,p=u("div"),f=e.suspense=kn(e,r,o,t,p,n,s,i,l,c);a(null,f.pendingBranch=e.ssContent,p,null,o,f,s,i),f.deps>0?(Cn(e,"onPending"),Cn(e,"onFallback"),a(null,e.ssFallback,t,n,o,null,s,i),Nn(f,e.ssFallback)):f.resolve()}(t,n,o,r,s,i,l,c,a):function(e,t,n,o,r,s,i,l,{p:c,um:a,o:{createElement:u}}){const p=t.suspense=e.suspense;p.vnode=t,t.el=e.el;const f=t.ssContent,d=t.ssFallback,{activeBranch:h,pendingBranch:m,isInFallback:g,isHydrating:v}=p;if(m)p.pendingBranch=f,Ar(f,m)?(c(m,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0?p.resolve():g&&(c(h,d,n,o,r,null,s,i,l),Nn(p,d))):(p.pendingId++,v?(p.isHydrating=!1,p.activeBranch=m):a(m,r,p),p.deps=0,p.effects.length=0,p.hiddenContainer=u("div"),g?(c(null,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0?p.resolve():(c(h,d,n,o,r,null,s,i,l),Nn(p,d))):h&&Ar(f,h)?(c(h,f,n,o,r,p,s,i,l),p.resolve(!0)):(c(null,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0&&p.resolve()));else if(h&&Ar(f,h))c(h,f,n,o,r,p,s,i,l),Nn(p,f);else if(Cn(t,"onPending"),p.pendingBranch=f,p.pendingId++,c(null,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0)p.resolve();else{const{timeout:e,pendingId:t}=p;e>0?setTimeout((()=>{p.pendingId===t&&p.fallback(d)}),e):0===e&&p.fallback(d)}}(e,t,n,o,r,i,l,c,a)},hydrate:function(e,t,n,o,r,s,i,l,c){const a=t.suspense=kn(t,o,n,e.parentNode,document.createElement("div"),null,r,s,i,l,!0),u=c(e,a.pendingBranch=t.ssContent,n,a,s,i);0===a.deps&&a.resolve();return u},create:kn,normalize:function(e){const{shapeFlag:t,children:n}=e,o=32&t;e.ssContent=wn(o?n.default:n),e.ssFallback=o?wn(n.fallback):Mr(_r)}};function Cn(e,t){const n=e.props&&e.props[t];P(n)&&n()}function kn(e,t,n,o,r,s,i,l,c,a,u=!1){const{p:p,m:f,um:d,n:h,o:{parentNode:m,remove:g}}=a,v=e.props?ee(e.props.timeout):void 0,y={vnode:e,parent:t,parentComponent:n,isSVG:i,container:o,hiddenContainer:r,anchor:s,deps:0,pendingId:0,timeout:"number"==typeof v?v:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1){const{vnode:t,activeBranch:n,pendingBranch:o,pendingId:r,effects:s,parentComponent:i,container:l}=y;if(y.isHydrating)y.isHydrating=!1;else if(!e){const e=n&&o.transition&&"out-in"===o.transition.mode;e&&(n.transition.afterLeave=()=>{r===y.pendingId&&f(o,l,t,0)});let{anchor:t}=y;n&&(t=h(n),d(n,i,y,!0)),e||f(o,l,t,0)}Nn(y,o),y.pendingBranch=null,y.isInFallback=!1;let c=y.parent,a=!1;for(;c;){if(c.pendingBranch){c.effects.push(...s),a=!0;break}c=c.parent}a||tn(s),y.effects=[],Cn(t,"onResolve")},fallback(e){if(!y.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:o,container:r,isSVG:s}=y;Cn(t,"onFallback");const i=h(n),a=()=>{y.isInFallback&&(p(null,e,r,i,o,null,s,l,c),Nn(y,e))},u=e.transition&&"out-in"===e.transition.mode;u&&(n.transition.afterLeave=a),y.isInFallback=!0,d(n,o,null,!0),u||a()},move(e,t,n){y.activeBranch&&f(y.activeBranch,e,t,n),y.container=e},next:()=>y.activeBranch&&h(y.activeBranch),registerDep(e,t){const n=!!y.pendingBranch;n&&y.deps++;const o=e.vnode.el;e.asyncDep.catch((t=>{Dt(t,e,0)})).then((r=>{if(e.isUnmounted||y.isUnmounted||y.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:s}=e;es(e,r,!1),o&&(s.el=o);const l=!o&&e.subTree.el;t(e,s,m(o||e.subTree.el),o?null:h(e.subTree),y,i,c),l&&g(l),bn(e,s.el),n&&0==--y.deps&&y.resolve()}))},unmount(e,t){y.isUnmounted=!0,y.activeBranch&&d(y.activeBranch,n,e,t),y.pendingBranch&&d(y.pendingBranch,n,e,t)}};return y}function wn(e){let t;if(P(e)){const n=wr&&e._c;n&&(e._d=!1,Cr()),e=e(),n&&(e._d=!0,t=xr,kr())}if(E(e)){const t=function(e){let t;for(let n=0;nt!==e))),e}function Tn(e,t){t&&t.pendingBranch?E(e)?t.effects.push(...e):t.effects.push(e):tn(e)}function Nn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e,r=n.el=t.el;o&&o.subTree===n&&(o.vnode.el=r,bn(o,r))}function En(e,t){if(Kr){let n=Kr.provides;const o=Kr.parent&&Kr.parent.provides;o===n&&(n=Kr.provides=Object.create(o)),n[e]=t}else;}function On(e,t,n=!1){const o=Kr||fn;if(o){const r=null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&P(t)?t.call(o.proxy):t}}function An(e,t){return Rn(e,null,{flush:"post"})}const Fn={};function Pn(e,t,n){return Rn(e,t,n)}function Rn(e,t,{immediate:n,deep:o,flush:r}=v){const s=se()===(null==Kr?void 0:Kr.scope)?Kr:null;let i,l,c=!1,a=!1;if(Et(e)?(i=()=>e.value,c=bt(e)):yt(e)?(i=()=>e,o=!0):E(e)?(a=!0,c=e.some((e=>yt(e)||bt(e))),i=()=>e.map((e=>Et(e)?e.value:yt(e)?Vn(e):P(e)?jt(e,s,2):void 0))):i=P(e)?t?()=>jt(e,s,2):()=>{if(!s||!s.isUnmounted)return l&&l(),Ut(e,s,3,[u])}:_,t&&o){const e=i;i=()=>Vn(e())}let u=e=>{l=h.onStop=()=>{jt(e,s,4)}},p=a?new Array(e.length).fill(Fn):Fn;const f=()=>{if(h.active)if(t){const e=h.run();(o||c||(a?e.some(((e,t)=>Z(e,p[t]))):Z(e,p)))&&(l&&l(),Ut(t,s,3,[e,p===Fn?void 0:a&&p[0]===Fn?[]:p,u]),p=e)}else h.run()};let d;f.allowRecurse=!!t,"sync"===r?d=f:"post"===r?d=()=>sr(f,s&&s.suspense):(f.pre=!0,s&&(f.id=s.uid),d=()=>Xt(f));const h=new me(i,d);t?n?f():p=h.run():"post"===r?sr(h.run.bind(h),s&&s.suspense):h.run();return()=>{h.stop(),s&&s.scope&&w(s.scope.effects,h)}}function $n(e,t,n){const o=this.proxy,r=R(e)?e.includes(".")?Mn(o,e):()=>o[e]:e.bind(o,o);let s;P(t)?s=t:(s=t.handler,n=t);const i=Kr;qr(this);const l=Rn(r,s.bind(o),n);return i?qr(i):Jr(),l}function Mn(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{Vn(e,t)}));else if(L(e))for(const n in e)Vn(e[n],t);return e}function In(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return lo((()=>{e.isMounted=!0})),uo((()=>{e.isUnmounting=!0})),e}const Bn=[Function,Array],Ln={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Bn,onEnter:Bn,onAfterEnter:Bn,onEnterCancelled:Bn,onBeforeLeave:Bn,onLeave:Bn,onAfterLeave:Bn,onLeaveCancelled:Bn,onBeforeAppear:Bn,onAppear:Bn,onAfterAppear:Bn,onAppearCancelled:Bn},setup(e,{slots:t}){const n=Gr(),o=In();let r;return()=>{const s=t.default&&zn(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1)for(const e of s)if(e.type!==_r){i=e;break}const l=xt(e),{mode:c}=l;if(o.isLeaving)return Dn(i);const a=Hn(i);if(!a)return Dn(i);const u=Un(a,l,o,n);Wn(a,u);const p=n.subTree,f=p&&Hn(p);let d=!1;const{getTransitionKey:h}=a.type;if(h){const e=h();void 0===r?r=e:e!==r&&(r=e,d=!0)}if(f&&f.type!==_r&&(!Ar(a,f)||d)){const e=Un(f,l,o,n);if(Wn(f,e),"out-in"===c)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,!1!==n.update.active&&n.update()},Dn(i);"in-out"===c&&a.type!==_r&&(e.delayLeave=(e,t,n)=>{jn(o,f)[String(f.key)]=f,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return i}}};function jn(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Un(e,t,n,o){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:u,onBeforeLeave:p,onLeave:f,onAfterLeave:d,onLeaveCancelled:h,onBeforeAppear:m,onAppear:g,onAfterAppear:v,onAppearCancelled:y}=t,_=String(e.key),b=jn(n,e),S=(e,t)=>{e&&Ut(e,o,9,t)},x=(e,t)=>{const n=t[1];S(e,t),E(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},C={mode:s,persisted:i,beforeEnter(t){let o=l;if(!n.isMounted){if(!r)return;o=m||l}t._leaveCb&&t._leaveCb(!0);const s=b[_];s&&Ar(e,s)&&s.el._leaveCb&&s.el._leaveCb(),S(o,[t])},enter(e){let t=c,o=a,s=u;if(!n.isMounted){if(!r)return;t=g||c,o=v||a,s=y||u}let i=!1;const l=e._enterCb=t=>{i||(i=!0,S(t?s:o,[e]),C.delayedLeave&&C.delayedLeave(),e._enterCb=void 0)};t?x(t,[e,l]):l()},leave(t,o){const r=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return o();S(p,[t]);let s=!1;const i=t._leaveCb=n=>{s||(s=!0,o(),S(n?h:d,[t]),t._leaveCb=void 0,b[r]===e&&delete b[r])};b[r]=e,f?x(f,[t,i]):i()},clone:e=>Un(e,t,n,o)};return C}function Dn(e){if(Jn(e))return(e=Ir(e)).children=null,e}function Hn(e){return Jn(e)?e.children?e.children[0]:void 0:e}function Wn(e,t){6&e.shapeFlag&&e.component?Wn(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function zn(e,t=!1,n){let o=[],r=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;function qn(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,i=Mr(e,o,r);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Jn=e=>e.type.__isKeepAlive,Zn={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Gr(),o=n.ctx,r=new Map,s=new Set;let i=null;const l=n.suspense,{renderer:{p:c,m:a,um:u,o:{createElement:p}}}=o,f=p("div");function d(e){no(e),u(e,n,l,!0)}function h(e){r.forEach(((t,n)=>{const o=ss(t.type);!o||e&&e(o)||m(n)}))}function m(e){const t=r.get(e);i&&Ar(t,i)?i&&no(i):d(t),r.delete(e),s.delete(e)}o.activate=(e,t,n,o,r)=>{const s=e.component;a(e,t,n,0,l),c(s.vnode,e,t,n,s,l,o,e.slotScopeIds,r),sr((()=>{s.isDeactivated=!1,s.a&&Y(s.a);const t=e.props&&e.props.onVnodeMounted;t&&Hr(t,s.parent,e)}),l)},o.deactivate=e=>{const t=e.component;a(e,f,null,1,l),sr((()=>{t.da&&Y(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&Hr(n,t.parent,e),t.isDeactivated=!0}),l)},Pn((()=>[e.include,e.exclude]),(([e,t])=>{e&&h((t=>Yn(e,t))),t&&h((e=>!Yn(t,e)))}),{flush:"post",deep:!0});let g=null;const v=()=>{null!=g&&r.set(g,oo(n.subTree))};return lo(v),ao(v),uo((()=>{r.forEach((e=>{const{subTree:t,suspense:o}=n,r=oo(t);if(e.type!==r.type||e.key!==r.key)d(e);else{no(r);const e=r.component.da;e&&sr(e,o)}}))})),()=>{if(g=null,!t.default)return null;const n=t.default(),o=n[0];if(n.length>1)return i=null,n;if(!(Or(o)&&(4&o.shapeFlag||128&o.shapeFlag)))return i=null,o;let l=oo(o);const c=l.type,a=ss(Gn(l)?l.type.__asyncResolved||{}:c),{include:u,exclude:p,max:f}=e;if(u&&(!a||!Yn(u,a))||p&&a&&Yn(p,a))return i=l,o;const d=null==l.key?c:l.key,h=r.get(d);return l.el&&(l=Ir(l),128&o.shapeFlag&&(o.ssContent=l)),g=d,h?(l.el=h.el,l.component=h.component,l.transition&&Wn(l,l.transition),l.shapeFlag|=512,s.delete(d),s.add(d)):(s.add(d),f&&s.size>parseInt(f,10)&&m(s.values().next().value)),l.shapeFlag|=256,i=l,Sn(o.type)?o:l}}};function Yn(e,t){return E(e)?e.some((e=>Yn(e,t))):R(e)?e.split(",").includes(t):"[object RegExp]"===B(e)&&e.test(t)}function Qn(e,t){eo(e,"a",t)}function Xn(e,t){eo(e,"da",t)}function eo(e,t,n=Kr){const o=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(ro(t,o,n),n){let e=n.parent;for(;e&&e.parent;)Jn(e.parent.vnode)&&to(o,t,n,e),e=e.parent}}function to(e,t,n,o){const r=ro(t,e,o,!0);po((()=>{w(o[t],r)}),n)}function no(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function oo(e){return 128&e.shapeFlag?e.ssContent:e}function ro(e,t,n=Kr,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;_e(),qr(n);const r=Ut(t,n,e,o);return Jr(),be(),r});return o?r.unshift(s):r.push(s),s}}const so=e=>(t,n=Kr)=>(!Xr||"sp"===e)&&ro(e,((...e)=>t(...e)),n),io=so("bm"),lo=so("m"),co=so("bu"),ao=so("u"),uo=so("bum"),po=so("um"),fo=so("sp"),ho=so("rtg"),mo=so("rtc");function go(e,t=Kr){ro("ec",e,t)}function vo(e,t,n,o){const r=e.dirs,s=t&&t.dirs;for(let i=0;i!Or(e)||e.type!==_r&&!(e.type===vr&&!xo(e.children))))?e:null}const Co=e=>e?Zr(e)?rs(e)||e.proxy:Co(e.parent):null,ko=k(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Co(e.parent),$root:e=>Co(e.root),$emit:e=>e.emit,$options:e=>Po(e),$forceUpdate:e=>e.f||(e.f=()=>Xt(e.update)),$nextTick:e=>e.n||(e.n=Qt.bind(e.proxy)),$watch:e=>$n.bind(e)}),wo=(e,t)=>e!==v&&!e.__isScriptSetup&&N(e,t),To={get({_:e},t){const{ctx:n,setupState:o,data:r,props:s,accessCache:i,type:l,appContext:c}=e;let a;if("$"!==t[0]){const l=i[t];if(void 0!==l)switch(l){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(wo(o,t))return i[t]=1,o[t];if(r!==v&&N(r,t))return i[t]=2,r[t];if((a=e.propsOptions[0])&&N(a,t))return i[t]=3,s[t];if(n!==v&&N(n,t))return i[t]=4,n[t];Eo&&(i[t]=0)}}const u=ko[t];let p,f;return u?("$attrs"===t&&Se(e,0,t),u(e)):(p=l.__cssModules)&&(p=p[t])?p:n!==v&&N(n,t)?(i[t]=4,n[t]):(f=c.config.globalProperties,N(f,t)?f[t]:void 0)},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return wo(r,t)?(r[t]=n,!0):o!==v&&N(o,t)?(o[t]=n,!0):!N(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:s}},i){let l;return!!n[i]||e!==v&&N(e,i)||wo(t,i)||(l=s[0])&&N(l,i)||N(o,i)||N(ko,i)||N(r.config.globalProperties,i)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:N(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},No=k({},To,{get(e,t){if(t!==Symbol.unscopables)return To.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!n(t)});let Eo=!0;function Oo(e){const t=Po(e),n=e.proxy,o=e.ctx;Eo=!1,t.beforeCreate&&Ao(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:i,watch:l,provide:c,inject:a,created:u,beforeMount:p,mounted:f,beforeUpdate:d,updated:h,activated:m,deactivated:g,beforeUnmount:v,unmounted:y,render:b,renderTracked:S,renderTriggered:x,errorCaptured:C,serverPrefetch:k,expose:w,inheritAttrs:T,components:N,directives:O}=t;if(a&&function(e,t,n=_,o=!1){E(e)&&(e=Vo(e));for(const r in e){const n=e[r];let s;s=M(n)?"default"in n?On(n.from||r,n.default,!0):On(n.from||r):On(n),Et(s)&&o?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e}):t[r]=s}}(a,o,null,e.appContext.config.unwrapInjectedRef),i)for(const _ in i){const e=i[_];P(e)&&(o[_]=e.bind(n))}if(r){const t=r.call(n,n);M(t)&&(e.data=ht(t))}if(Eo=!0,s)for(const E in s){const e=s[E],t=P(e)?e.bind(n,n):P(e.get)?e.get.bind(n,n):_,r=!P(e)&&P(e.set)?e.set.bind(n):_,i=is({get:t,set:r});Object.defineProperty(o,E,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(l)for(const _ in l)Fo(l[_],o,n,_);if(c){const e=P(c)?c.call(n):c;Reflect.ownKeys(e).forEach((t=>{En(t,e[t])}))}function A(e,t){E(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(u&&Ao(u,e,"c"),A(io,p),A(lo,f),A(co,d),A(ao,h),A(Qn,m),A(Xn,g),A(go,C),A(mo,S),A(ho,x),A(uo,v),A(po,y),A(fo,k),E(w))if(w.length){const t=e.exposed||(e.exposed={});w.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});b&&e.render===_&&(e.render=b),null!=T&&(e.inheritAttrs=T),N&&(e.components=N),O&&(e.directives=O)}function Ao(e,t,n){Ut(E(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Fo(e,t,n,o){const r=o.includes(".")?Mn(n,o):()=>n[o];if(R(e)){const n=t[e];P(n)&&Pn(r,n)}else if(P(e))Pn(r,e.bind(n));else if(M(e))if(E(e))e.forEach((e=>Fo(e,t,n,o)));else{const o=P(e.handler)?e.handler.bind(n):t[e.handler];P(o)&&Pn(r,o,e)}}function Po(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let c;return l?c=l:r.length||n||o?(c={},r.length&&r.forEach((e=>Ro(c,e,i,!0))),Ro(c,t,i)):c=t,M(t)&&s.set(t,c),c}function Ro(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Ro(e,s,n,!0),r&&r.forEach((t=>Ro(e,t,n,!0)));for(const i in t)if(o&&"expose"===i);else{const o=$o[i]||n&&n[i];e[i]=o?o(e[i],t[i]):t[i]}return e}const $o={data:Mo,props:Bo,emits:Bo,methods:Bo,computed:Bo,beforeCreate:Io,created:Io,beforeMount:Io,mounted:Io,beforeUpdate:Io,updated:Io,beforeDestroy:Io,beforeUnmount:Io,destroyed:Io,unmounted:Io,activated:Io,deactivated:Io,errorCaptured:Io,serverPrefetch:Io,components:Bo,directives:Bo,watch:function(e,t){if(!e)return t;if(!t)return e;const n=k(Object.create(null),e);for(const o in t)n[o]=Io(e[o],t[o]);return n},provide:Mo,inject:function(e,t){return Bo(Vo(e),Vo(t))}};function Mo(e,t){return t?e?function(){return k(P(e)?e.call(this,this):e,P(t)?t.call(this,this):t)}:t:e}function Vo(e){if(E(e)){const t={};for(let n=0;n{c=!0;const[n,o]=Uo(e,t,!0);k(i,n),o&&l.push(...o)};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}if(!s&&!c)return M(e)&&o.set(e,y),y;if(E(s))for(let u=0;u-1,n[1]=o<0||t-1||N(n,"default"))&&l.push(e)}}}const a=[i,l];return M(e)&&o.set(e,a),a}function Do(e){return"$"!==e[0]}function Ho(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function Wo(e,t){return Ho(e)===Ho(t)}function zo(e,t){return E(t)?t.findIndex((t=>Wo(t,e))):P(t)&&Wo(t,e)?0:-1}const Ko=e=>"_"===e[0]||"$stable"===e,Go=e=>E(e)?e.map(Lr):[Lr(e)],qo=(e,t,n)=>{if(t._n)return t;const o=mn(((...e)=>Go(t(...e))),n);return o._c=!1,o},Jo=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Ko(r))continue;const n=e[r];if(P(n))t[r]=qo(0,n,o);else if(null!=n){const e=Go(n);t[r]=()=>e}}},Zo=(e,t)=>{const n=Go(t);e.slots.default=()=>n};function Yo(){return{app:null,config:{isNativeTag:b,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Qo=0;function Xo(e,t){return function(n,o=null){P(n)||(n=Object.assign({},n)),null==o||M(o)||(o=null);const r=Yo(),s=new Set;let i=!1;const l=r.app={_uid:Qo++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:ps,get config(){return r.config},set config(e){},use:(e,...t)=>(s.has(e)||(e&&P(e.install)?(s.add(e),e.install(l,...t)):P(e)&&(s.add(e),e(l,...t))),l),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),l),component:(e,t)=>t?(r.components[e]=t,l):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,l):r.directives[e],mount(s,c,a){if(!i){const u=Mr(n,o);return u.appContext=r,c&&t?t(u,s):e(u,s,a),i=!0,l._container=s,s.__vue_app__=l,rs(u.component)||u.component.proxy}},unmount(){i&&(e(null,l._container),delete l._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,l)};return l}}function er(e,t,n,o,r=!1){if(E(e))return void e.forEach(((e,s)=>er(e,t&&(E(t)?t[s]:t),n,o,r)));if(Gn(o)&&!r)return;const s=4&o.shapeFlag?rs(o.component)||o.component.proxy:o.el,i=r?null:s,{i:l,r:c}=e,a=t&&t.r,u=l.refs===v?l.refs={}:l.refs,p=l.setupState;if(null!=a&&a!==c&&(R(a)?(u[a]=null,N(p,a)&&(p[a]=null)):Et(a)&&(a.value=null)),P(c))jt(c,l,12,[i,u]);else{const t=R(c),o=Et(c);if(t||o){const l=()=>{if(e.f){const n=t?N(p,c)?p[c]:u[c]:c.value;r?E(n)&&w(n,s):E(n)?n.includes(s)||n.push(s):t?(u[c]=[s],N(p,c)&&(p[c]=u[c])):(c.value=[s],e.k&&(u[e.k]=c.value))}else t?(u[c]=i,N(p,c)&&(p[c]=i)):o&&(c.value=i,e.k&&(u[e.k]=i))};i?(l.id=-1,sr(l,n)):l()}}}let tr=!1;const nr=e=>/svg/.test(e.namespaceURI)&&"foreignObject"!==e.tagName,or=e=>8===e.nodeType;function rr(e){const{mt:t,p:n,o:{patchProp:o,createText:r,nextSibling:s,parentNode:i,remove:l,insert:c,createComment:a}}=e,u=(n,o,l,a,g,v=!1)=>{const y=or(n)&&"["===n.data,_=()=>h(n,o,l,a,g,y),{type:b,ref:S,shapeFlag:x,patchFlag:C}=o;let k=n.nodeType;o.el=n,-2===C&&(v=!1,o.dynamicChildren=null);let w=null;switch(b){case yr:3!==k?""===o.children?(c(o.el=r(""),i(n),n),w=n):w=_():(n.data!==o.children&&(tr=!0,n.data=o.children),w=s(n));break;case _r:w=8!==k||y?_():s(n);break;case br:if(y&&(k=(n=s(n)).nodeType),1===k||3===k){w=n;const e=!o.children.length;for(let t=0;t{i=i||!!t.dynamicChildren;const{type:c,props:a,patchFlag:u,shapeFlag:p,dirs:d}=t,h="input"===c&&d||"option"===c;if(h||-1!==u){if(d&&vo(t,null,n,"created"),a)if(h||!i||48&u)for(const t in a)(h&&t.endsWith("value")||x(t)&&!U(t))&&o(e,t,null,a[t],!1,void 0,n);else a.onClick&&o(e,"onClick",null,a.onClick,!1,void 0,n);let c;if((c=a&&a.onVnodeBeforeMount)&&Hr(c,n,t),d&&vo(t,null,n,"beforeMount"),((c=a&&a.onVnodeMounted)||d)&&Tn((()=>{c&&Hr(c,n,t),d&&vo(t,null,n,"mounted")}),r),16&p&&(!a||!a.innerHTML&&!a.textContent)){let o=f(e.firstChild,t,e,n,r,s,i);for(;o;){tr=!0;const e=o;o=o.nextSibling,l(e)}}else 8&p&&e.textContent!==t.children&&(tr=!0,e.textContent=t.children)}return e.nextSibling},f=(e,t,o,r,s,i,l)=>{l=l||!!t.dynamicChildren;const c=t.children,a=c.length;for(let p=0;p{const{slotScopeIds:u}=t;u&&(r=r?r.concat(u):u);const p=i(e),d=f(s(e),t,p,n,o,r,l);return d&&or(d)&&"]"===d.data?s(t.anchor=d):(tr=!0,c(t.anchor=a("]"),p,d),d)},h=(e,t,o,r,c,a)=>{if(tr=!0,t.el=null,a){const t=m(e);for(;;){const n=s(e);if(!n||n===t)break;l(n)}}const u=s(e),p=i(e);return l(e),n(null,t,p,u,o,r,nr(p),c),u},m=e=>{let t=0;for(;e;)if((e=s(e))&&or(e)&&("["===e.data&&t++,"]"===e.data)){if(0===t)return s(e);t--}return e};return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),on(),void(t._vnode=e);tr=!1,u(t.firstChild,e,null,null,null),on(),t._vnode=e,tr&&console.error("Hydration completed but contains mismatches.")},u]}const sr=Tn;function ir(e){return cr(e)}function lr(e){return cr(e,rr)}function cr(e,t){(te||(te="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{})).__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:a,parentNode:u,nextSibling:p,setScopeId:f=_,insertStaticContent:d}=e,h=(e,t,n,o=null,r=null,s=null,i=!1,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ar(e,t)&&(o=J(e),D(e,r,s,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:a,ref:u,shapeFlag:p}=t;switch(a){case yr:m(e,t,n,o);break;case _r:g(e,t,n,o);break;case br:null==e&&b(t,n,o,i);break;case vr:A(e,t,n,o,r,s,i,l,c);break;default:1&p?S(e,t,n,o,r,s,i,l,c):6&p?F(e,t,n,o,r,s,i,l,c):(64&p||128&p)&&a.process(e,t,n,o,r,s,i,l,c,X)}null!=u&&r&&er(u,e&&e.ref,s,t||e,!t)},m=(e,t,o,r)=>{if(null==e)n(t.el=i(t.children),o,r);else{const n=t.el=e.el;t.children!==e.children&&c(n,t.children)}},g=(e,t,o,r)=>{null==e?n(t.el=l(t.children||""),o,r):t.el=e.el},b=(e,t,n,o)=>{[e.el,e.anchor]=d(e.children,t,n,o,e.el,e.anchor)},S=(e,t,n,o,r,s,i,l,c)=>{i=i||"svg"===t.type,null==e?x(t,n,o,r,s,i,l,c):T(e,t,r,s,i,l,c)},x=(e,t,o,i,l,c,u,p)=>{let f,d;const{type:h,props:m,shapeFlag:g,transition:v,dirs:y}=e;if(f=e.el=s(e.type,c,m&&m.is,m),8&g?a(f,e.children):16&g&&w(e.children,f,null,i,l,c&&"foreignObject"!==h,u,p),y&&vo(e,null,i,"created"),C(f,e,e.scopeId,u,i),m){for(const t in m)"value"===t||U(t)||r(f,t,null,m[t],c,e.children,i,l,q);"value"in m&&r(f,"value",null,m.value),(d=m.onVnodeBeforeMount)&&Hr(d,i,e)}y&&vo(e,null,i,"beforeMount");const _=(!l||l&&!l.pendingBranch)&&v&&!v.persisted;_&&v.beforeEnter(f),n(f,t,o),((d=m&&m.onVnodeMounted)||_||y)&&sr((()=>{d&&Hr(d,i,e),_&&v.enter(f),y&&vo(e,null,i,"mounted")}),l)},C=(e,t,n,o,r)=>{if(n&&f(e,n),o)for(let s=0;s{for(let a=c;a{const c=t.el=e.el;let{patchFlag:u,dynamicChildren:p,dirs:f}=t;u|=16&e.patchFlag;const d=e.props||v,h=t.props||v;let m;n&&ar(n,!1),(m=h.onVnodeBeforeUpdate)&&Hr(m,n,t,e),f&&vo(t,e,n,"beforeUpdate"),n&&ar(n,!0);const g=s&&"foreignObject"!==t.type;if(p?E(e.dynamicChildren,p,c,n,o,g,i):l||I(e,t,c,null,n,o,g,i,!1),u>0){if(16&u)O(c,t,d,h,n,o,s);else if(2&u&&d.class!==h.class&&r(c,"class",null,h.class,s),4&u&&r(c,"style",d.style,h.style,s),8&u){const i=t.dynamicProps;for(let t=0;t{m&&Hr(m,n,t,e),f&&vo(t,e,n,"updated")}),o)},E=(e,t,n,o,r,s,i)=>{for(let l=0;l{if(n!==o){if(n!==v)for(const c in n)U(c)||c in o||r(e,c,n[c],null,l,t.children,s,i,q);for(const c in o){if(U(c))continue;const a=o[c],u=n[c];a!==u&&"value"!==c&&r(e,c,u,a,l,t.children,s,i,q)}"value"in o&&r(e,"value",n.value,o.value)}},A=(e,t,o,r,s,l,c,a,u)=>{const p=t.el=e?e.el:i(""),f=t.anchor=e?e.anchor:i("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:m}=t;m&&(a=a?a.concat(m):m),null==e?(n(p,o,r),n(f,o,r),w(t.children,o,f,s,l,c,a,u)):d>0&&64&d&&h&&e.dynamicChildren?(E(e.dynamicChildren,h,o,s,l,c,a),(null!=t.key||s&&t===s.subTree)&&ur(e,t,!0)):I(e,t,o,f,s,l,c,a,u)},F=(e,t,n,o,r,s,i,l,c)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?r.ctx.activate(t,n,o,i,c):P(t,n,o,r,s,i,c):R(e,t,c)},P=(e,t,n,o,r,s,i)=>{const l=e.component=function(e,t,n){const o=e.type,r=(t?t.appContext:e.appContext)||Wr,s={uid:zr++,vnode:e,type:o,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new oe(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Uo(o,r),emitsOptions:un(o,r),emit:null,emitted:null,propsDefaults:v,inheritAttrs:o.inheritAttrs,ctx:v,data:v,props:v,attrs:v,slots:v,refs:v,setupState:v,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};s.ctx={_:s},s.root=t?t.root:s,s.emit=an.bind(null,s),e.ce&&e.ce(s);return s}(e,o,r);if(Jn(e)&&(l.ctx.renderer=X),function(e,t=!1){Xr=t;const{props:n,children:o}=e.vnode,r=Zr(e);(function(e,t,n,o=!1){const r={},s={};Q(s,Fr,1),e.propsDefaults=Object.create(null),Lo(e,t,r,s);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);e.props=n?o?r:mt(r):e.type.props?r:s,e.attrs=s})(e,n,r,t),((e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=xt(t),Q(t,"_",n)):Jo(t,e.slots={})}else e.slots={},t&&Zo(e,t);Q(e.slots,Fr,1)})(e,o);const s=r?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Ct(new Proxy(e.ctx,To));const{setup:o}=n;if(o){const n=e.setupContext=o.length>1?os(e):null;qr(e),_e();const r=jt(o,e,0,[e.props,n]);if(be(),Jr(),V(r)){if(r.then(Jr,Jr),t)return r.then((n=>{es(e,n,t)})).catch((t=>{Dt(t,e,0)}));e.asyncDep=r}else es(e,r,t)}else ns(e,t)}(e,t):void 0;Xr=!1}(l),l.asyncDep){if(r&&r.registerDep(l,$),!e.el){const e=l.subTree=Mr(_r);g(null,e,t,n)}}else $(l,e,t,n,r,s,i)},R=(e,t,n)=>{const o=t.component=e.component;if(function(e,t,n){const{props:o,children:r,component:s}=e,{props:i,children:l,patchFlag:c}=t,a=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!r&&!l||l&&l.$stable)||o!==i&&(o?!i||_n(o,i,a):!!i);if(1024&c)return!0;if(16&c)return o?_n(o,i,a):!!i;if(8&c){const e=t.dynamicProps;for(let t=0;tKt&&zt.splice(t,1)}(o.update),o.update()}else t.el=e.el,o.vnode=t},$=(e,t,n,o,r,s,i)=>{const l=e.effect=new me((()=>{if(e.isMounted){let t,{next:n,bu:o,u:l,parent:c,vnode:a}=e,p=n;ar(e,!1),n?(n.el=a.el,M(e,n,i)):n=a,o&&Y(o),(t=n.props&&n.props.onVnodeBeforeUpdate)&&Hr(t,c,n,a),ar(e,!0);const f=gn(e),d=e.subTree;e.subTree=f,h(d,f,u(d.el),J(d),e,r,s),n.el=f.el,null===p&&bn(e,f.el),l&&sr(l,r),(t=n.props&&n.props.onVnodeUpdated)&&sr((()=>Hr(t,c,n,a)),r)}else{let i;const{el:l,props:c}=t,{bm:a,m:u,parent:p}=e,f=Gn(t);if(ar(e,!1),a&&Y(a),!f&&(i=c&&c.onVnodeBeforeMount)&&Hr(i,p,t),ar(e,!0),l&&ne){const n=()=>{e.subTree=gn(e),ne(l,e.subTree,e,r,null)};f?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const i=e.subTree=gn(e);h(null,i,n,o,e,r,s),t.el=i.el}if(u&&sr(u,r),!f&&(i=c&&c.onVnodeMounted)){const e=t;sr((()=>Hr(i,p,e)),r)}(256&t.shapeFlag||p&&Gn(p.vnode)&&256&p.vnode.shapeFlag)&&e.a&&sr(e.a,r),e.isMounted=!0,t=n=o=null}}),(()=>Xt(c)),e.scope),c=e.update=()=>l.run();c.id=e.uid,ar(e,!0),c()},M=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:i}}=e,l=xt(r),[c]=e.propsOptions;let a=!1;if(!(o||i>0)||16&i){let o;Lo(e,t,r,s)&&(a=!0);for(const s in l)t&&(N(t,s)||(o=G(s))!==s&&N(t,o))||(c?!n||void 0===n[s]&&void 0===n[o]||(r[s]=jo(c,l,s,void 0,e,!0)):delete r[s]);if(s!==l)for(const e in s)t&&N(t,e)||(delete s[e],a=!0)}else if(8&i){const n=e.vnode.dynamicProps;for(let o=0;o{const{vnode:o,slots:r}=e;let s=!0,i=v;if(32&o.shapeFlag){const e=t._;e?n&&1===e?s=!1:(k(r,t),n||1!==e||delete r._):(s=!t.$stable,Jo(t,r)),i=t}else t&&(Zo(e,t),i={default:1});if(s)for(const l in r)Ko(l)||l in i||delete r[l]})(e,t.children,n),_e(),nn(),be()},I=(e,t,n,o,r,s,i,l,c=!1)=>{const u=e&&e.children,p=e?e.shapeFlag:0,f=t.children,{patchFlag:d,shapeFlag:h}=t;if(d>0){if(128&d)return void L(u,f,n,o,r,s,i,l,c);if(256&d)return void B(u,f,n,o,r,s,i,l,c)}8&h?(16&p&&q(u,r,s),f!==u&&a(n,f)):16&p?16&h?L(u,f,n,o,r,s,i,l,c):q(u,r,s,!0):(8&p&&a(n,""),16&h&&w(f,n,o,r,s,i,l,c))},B=(e,t,n,o,r,s,i,l,c)=>{const a=(e=e||y).length,u=(t=t||y).length,p=Math.min(a,u);let f;for(f=0;fu?q(e,r,s,!0,!1,p):w(t,n,o,r,s,i,l,c,p)},L=(e,t,n,o,r,s,i,l,c)=>{let a=0;const u=t.length;let p=e.length-1,f=u-1;for(;a<=p&&a<=f;){const o=e[a],u=t[a]=c?jr(t[a]):Lr(t[a]);if(!Ar(o,u))break;h(o,u,n,null,r,s,i,l,c),a++}for(;a<=p&&a<=f;){const o=e[p],a=t[f]=c?jr(t[f]):Lr(t[f]);if(!Ar(o,a))break;h(o,a,n,null,r,s,i,l,c),p--,f--}if(a>p){if(a<=f){const e=f+1,p=ef)for(;a<=p;)D(e[a],r,s,!0),a++;else{const d=a,m=a,g=new Map;for(a=m;a<=f;a++){const e=t[a]=c?jr(t[a]):Lr(t[a]);null!=e.key&&g.set(e.key,a)}let v,_=0;const b=f-m+1;let S=!1,x=0;const C=new Array(b);for(a=0;a=b){D(o,r,s,!0);continue}let u;if(null!=o.key)u=g.get(o.key);else for(v=m;v<=f;v++)if(0===C[v-m]&&Ar(o,t[v])){u=v;break}void 0===u?D(o,r,s,!0):(C[u-m]=a+1,u>=x?x=u:S=!0,h(o,t[u],n,null,r,s,i,l,c),_++)}const k=S?function(e){const t=e.slice(),n=[0];let o,r,s,i,l;const c=e.length;for(o=0;o>1,e[n[l]]0&&(t[o]=n[s-1]),n[s]=o)}}s=n.length,i=n[s-1];for(;s-- >0;)n[s]=i,i=t[i];return n}(C):y;for(v=k.length-1,a=b-1;a>=0;a--){const e=m+a,p=t[e],f=e+1{const{el:i,type:l,transition:c,children:a,shapeFlag:u}=e;if(6&u)return void j(e.component.subTree,t,o,r);if(128&u)return void e.suspense.move(t,o,r);if(64&u)return void l.move(e,t,o,X);if(l===vr){n(i,t,o);for(let e=0;e{let s;for(;e&&e!==t;)s=p(e),n(e,o,r),e=s;n(t,o,r)})(e,t,o);if(2!==r&&1&u&&c)if(0===r)c.beforeEnter(i),n(i,t,o),sr((()=>c.enter(i)),s);else{const{leave:e,delayLeave:r,afterLeave:s}=c,l=()=>n(i,t,o),a=()=>{e(i,(()=>{l(),s&&s()}))};r?r(i,l,a):a()}else n(i,t,o)},D=(e,t,n,o=!1,r=!1)=>{const{type:s,props:i,ref:l,children:c,dynamicChildren:a,shapeFlag:u,patchFlag:p,dirs:f}=e;if(null!=l&&er(l,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const d=1&u&&f,h=!Gn(e);let m;if(h&&(m=i&&i.onVnodeBeforeUnmount)&&Hr(m,t,e),6&u)K(e.component,n,o);else{if(128&u)return void e.suspense.unmount(n,o);d&&vo(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,X,o):a&&(s!==vr||p>0&&64&p)?q(a,t,n,!1,!0):(s===vr&&384&p||!r&&16&u)&&q(c,t,n),o&&H(e)}(h&&(m=i&&i.onVnodeUnmounted)||d)&&sr((()=>{m&&Hr(m,t,e),d&&vo(e,null,t,"unmounted")}),n)},H=e=>{const{type:t,el:n,anchor:r,transition:s}=e;if(t===vr)return void W(n,r);if(t===br)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=p(e),o(e),e=n;o(t)})(e);const i=()=>{o(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:o}=s,r=()=>t(n,i);o?o(e.el,i,r):r()}else i()},W=(e,t)=>{let n;for(;e!==t;)n=p(e),o(e),e=n;o(t)},K=(e,t,n)=>{const{bum:o,scope:r,update:s,subTree:i,um:l}=e;o&&Y(o),r.stop(),s&&(s.active=!1,D(i,e,t,n)),l&&sr(l,t),sr((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},q=(e,t,n,o=!1,r=!1,s=0)=>{for(let i=s;i6&e.shapeFlag?J(e.component.subTree):128&e.shapeFlag?e.suspense.next():p(e.anchor||e.el),Z=(e,t,n)=>{null==e?t._vnode&&D(t._vnode,null,null,!0):h(t._vnode||null,e,t,null,null,null,n),nn(),on(),t._vnode=e},X={p:h,um:D,m:j,r:H,mt:P,mc:w,pc:I,pbc:E,n:J,o:e};let ee,ne;return t&&([ee,ne]=t(X)),{render:Z,hydrate:ee,createApp:Xo(Z,ee)}}function ar({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ur(e,t,n=!1){const o=e.children,r=t.children;if(E(o)&&E(r))for(let s=0;se&&(e.disabled||""===e.disabled),fr=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,dr=(e,t)=>{const n=e&&e.to;if(R(n)){if(t){return t(n)}return null}return n};function hr(e,t,n,{o:{insert:o},m:r},s=2){0===s&&o(e.targetAnchor,t,n);const{el:i,anchor:l,shapeFlag:c,children:a,props:u}=e,p=2===s;if(p&&o(i,t,n),(!p||pr(u))&&16&c)for(let f=0;f{16&v&&u(y,e,t,r,s,i,l,c)};g?_(n,a):p&&_(p,f)}else{t.el=e.el;const o=t.anchor=e.anchor,u=t.target=e.target,d=t.targetAnchor=e.targetAnchor,m=pr(e.props),v=m?n:u,y=m?o:d;if(i=i||fr(u),_?(f(e.dynamicChildren,_,v,r,s,i,l),ur(e,t,!0)):c||p(e,t,v,y,r,s,i,l,!1),g)m||hr(t,n,o,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=dr(t.props,h);e&&hr(t,e,null,a,0)}else m&&hr(t,u,d,a,1)}gr(t)},remove(e,t,n,o,{um:r,o:{remove:s}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:u,target:p,props:f}=e;if(p&&s(u),(i||!pr(f))&&(s(a),16&l))for(let d=0;d0?xr||y:null,kr(),wr>0&&xr&&xr.push(e),e}function Er(e,t,n,o,r){return Nr(Mr(e,t,n,o,r,!0))}function Or(e){return!!e&&!0===e.__v_isVNode}function Ar(e,t){return e.type===t.type&&e.key===t.key}const Fr="__vInternal",Pr=({key:e})=>null!=e?e:null,Rr=({ref:e,ref_key:t,ref_for:n})=>null!=e?R(e)||Et(e)||P(e)?{i:fn,r:e,k:t,f:!!n}:e:null;function $r(e,t=null,n=null,o=0,r=null,s=(e===vr?0:1),i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pr(t),ref:t&&Rr(t),scopeId:dn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fn};return l?(Ur(c,n),128&s&&e.normalize(c)):n&&(c.shapeFlag|=R(n)?8:16),wr>0&&!i&&xr&&(c.patchFlag>0||6&s)&&32!==c.patchFlag&&xr.push(c),c}const Mr=function(e,t=null,n=null,r=0,s=null,i=!1){e&&e!==_o||(e=_r);if(Or(e)){const o=Ir(e,t,!0);return n&&Ur(o,n),wr>0&&!i&&xr&&(6&o.shapeFlag?xr[xr.indexOf(e)]=o:xr.push(o)),o.patchFlag|=-2,o}l=e,P(l)&&"__vccOpts"in l&&(e=e.__vccOpts);var l;if(t){t=Vr(t);let{class:e,style:n}=t;e&&!R(e)&&(t.class=c(e)),M(n)&&(St(n)&&!E(n)&&(n=k({},n)),t.style=o(n))}const a=R(e)?1:Sn(e)?128:(e=>e.__isTeleport)(e)?64:M(e)?4:P(e)?2:0;return $r(e,t,n,r,s,a,i,!0)};function Vr(e){return e?St(e)||Fr in e?k({},e):e:null}function Ir(e,t,n=!1){const{props:o,ref:r,patchFlag:s,children:i}=e,l=t?Dr(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Pr(l),ref:t&&t.ref?n&&r?E(r)?r.concat(Rr(t)):[r,Rr(t)]:Rr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==vr?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ir(e.ssContent),ssFallback:e.ssFallback&&Ir(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Br(e=" ",t=0){return Mr(yr,null,e,t)}function Lr(e){return null==e||"boolean"==typeof e?Mr(_r):E(e)?Mr(vr,null,e.slice()):"object"==typeof e?jr(e):Mr(yr,null,String(e))}function jr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Ir(e)}function Ur(e,t){let n=0;const{shapeFlag:o}=e;if(null==t)t=null;else if(E(t))n=16;else if("object"==typeof t){if(65&o){const n=t.default;return void(n&&(n._c&&(n._d=!1),Ur(e,n()),n._c&&(n._d=!0)))}{n=32;const o=t._;o||Fr in t?3===o&&fn&&(1===fn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=fn}}else P(t)?(t={default:t,_ctx:fn},n=32):(t=String(t),64&o?(n=16,t=[Br(t)]):n=8);e.children=t,e.shapeFlag|=n}function Dr(...e){const t={};for(let n=0;nKr||fn,qr=e=>{Kr=e,e.scope.on()},Jr=()=>{Kr&&Kr.scope.off(),Kr=null};function Zr(e){return 4&e.vnode.shapeFlag}let Yr,Qr,Xr=!1;function es(e,t,n){P(t)?e.render=t:M(t)&&(e.setupState=$t(t)),ns(e,n)}function ts(e){Yr=e,Qr=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,No))}}function ns(e,t,n){const o=e.type;if(!e.render){if(!t&&Yr&&!o.render){const t=o.template||Po(e).template;if(t){const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:i}=o,l=k(k({isCustomElement:n,delimiters:s},r),i);o.render=Yr(t,l)}}e.render=o.render||_,Qr&&Qr(e)}qr(e),_e(),Oo(e),be(),Jr()}function os(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=function(e){return new Proxy(e.attrs,{get:(t,n)=>(Se(e,0,"$attrs"),t[n])})}(e))},slots:e.slots,emit:e.emit,expose:t}}function rs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy($t(Ct(e.exposed)),{get:(t,n)=>n in t?t[n]:n in ko?ko[n](e):void 0,has:(e,t)=>t in e||t in ko}))}function ss(e,t=!0){return P(e)?e.displayName||e.name:e.name||t&&e.__name}const is=(e,t)=>function(e,t,n=!1){let o,r;const s=P(e);return s?(o=e,r=_):(o=e.get,r=e.set),new Lt(o,r,s||!r,n)}(e,0,Xr);function ls(){const e=Gr();return e.setupContext||(e.setupContext=os(e))}function cs(e,t,n){const o=arguments.length;return 2===o?M(t)&&!E(t)?Or(t)?Mr(e,null,[t]):Mr(e,t):Mr(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&Or(n)&&(n=[n]),Mr(e,t,n))}const as=Symbol("");function us(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let o=0;o0&&xr&&xr.push(e),!0}const ps="3.2.47",fs="undefined"!=typeof document?document:null,ds=fs&&fs.createElement("template"),hs={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?fs.createElementNS("http://www.w3.org/2000/svg",e):fs.createElement(e,n?{is:n}:void 0);return"select"===e&&o&&null!=o.multiple&&r.setAttribute("multiple",o.multiple),r},createText:e=>fs.createTextNode(e),createComment:e=>fs.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fs.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const i=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{ds.innerHTML=o?`${e}`:e;const r=ds.content;if(o){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};const ms=/\s*!important$/;function gs(e,t,n){if(E(n))n.forEach((n=>gs(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=function(e,t){const n=ys[t];if(n)return n;let o=z(t);if("filter"!==o&&o in e)return ys[t]=o;o=q(o);for(let r=0;r{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();Ut(function(e,t){if(E(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=(()=>Cs||(ks.then((()=>Cs=0)),Cs=Date.now()))(),n}(o,r);bs(e,n,i,l)}else i&&(!function(e,t,n,o){e.removeEventListener(t,n,o)}(e,n,i,l),s[t]=void 0)}}const xs=/(?:Once|Passive|Capture)$/;let Cs=0;const ks=Promise.resolve();const ws=/^on[a-z]/;function Ts(e,t){const n=Kn(e);class o extends Es{constructor(e){super(n,e,t)}}return o.def=n,o}const Ns="undefined"!=typeof HTMLElement?HTMLElement:class{};class Es extends Ns{constructor(e,t={},n){super(),this._def=e,this._props=t,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Qt((()=>{this._connected||(wi(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let n=0;n{for(const t of e)this._setAttr(t.attributeName)})).observe(this,{attributes:!0});const e=(e,t=!1)=>{const{props:n,styles:o}=e;let r;if(n&&!E(n))for(const s in n){const e=n[s];(e===Number||e&&e.type===Number)&&(s in this._props&&(this._props[s]=ee(this._props[s])),(r||(r=Object.create(null)))[z(s)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this._applyStyles(o),this._update()},t=this._def.__asyncLoader;t?t().then((t=>e(t,!0))):e(this._def)}_resolveProps(e){const{props:t}=e,n=E(t)?t:Object.keys(t||{});for(const o of Object.keys(this))"_"!==o[0]&&n.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of n.map(z))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(e){this._setProp(o,e)}})}_setAttr(e){let t=this.getAttribute(e);const n=z(e);this._numberProps&&this._numberProps[n]&&(t=ee(t)),this._setProp(n,t,!1)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,o=!0){t!==this._props[e]&&(this._props[e]=t,o&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(G(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(G(e),t+""):t||this.removeAttribute(G(e))))}_update(){wi(this._createVNode(),this.shadowRoot)}_createVNode(){const e=Mr(this._def,k({},this._props));return this._instance||(e.ce=e=>{this._instance=e,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,{detail:t}))};e.emit=(e,...n)=>{t(e,n),G(e)!==e&&t(G(e),n)};let n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof Es){e.parent=n._instance,e.provides=n._instance.provides;break}}),e}_applyStyles(e){e&&e.forEach((e=>{const t=document.createElement("style");t.textContent=e,this.shadowRoot.appendChild(t)}))}}function Os(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{Os(n.activeBranch,t)}))}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)As(e.el,t);else if(e.type===vr)e.children.forEach((e=>Os(e,t)));else if(e.type===br){let{el:n,anchor:o}=e;for(;n&&(As(n,t),n!==o);)n=n.nextSibling}}function As(e,t){if(1===e.nodeType){const n=e.style;for(const e in t)n.setProperty(`--${e}`,t[e])}}const Fs="transition",Ps="animation",Rs=(e,{slots:t})=>cs(Ln,Bs(e),t);Rs.displayName="Transition";const $s={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ms=Rs.props=k({},Ln.props,$s),Vs=(e,t=[])=>{E(e)?e.forEach((e=>e(...t))):e&&e(...t)},Is=e=>!!e&&(E(e)?e.some((e=>e.length>1)):e.length>1);function Bs(e){const t={};for(const k in e)k in $s||(t[k]=e[k]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:a=i,appearToClass:u=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,h=function(e){if(null==e)return null;if(M(e))return[Ls(e.enter),Ls(e.leave)];{const t=Ls(e);return[t,t]}}(r),m=h&&h[0],g=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:_,onLeave:b,onLeaveCancelled:S,onBeforeAppear:x=v,onAppear:C=y,onAppearCancelled:w=_}=t,T=(e,t,n)=>{Us(e,t?u:l),Us(e,t?a:i),n&&n()},N=(e,t)=>{e._isLeaving=!1,Us(e,p),Us(e,d),Us(e,f),t&&t()},E=e=>(t,n)=>{const r=e?C:y,i=()=>T(t,e,n);Vs(r,[t,i]),Ds((()=>{Us(t,e?c:s),js(t,e?u:l),Is(r)||Ws(t,o,m,i)}))};return k(t,{onBeforeEnter(e){Vs(v,[e]),js(e,s),js(e,i)},onBeforeAppear(e){Vs(x,[e]),js(e,c),js(e,a)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>N(e,t);js(e,p),qs(),js(e,f),Ds((()=>{e._isLeaving&&(Us(e,p),js(e,d),Is(b)||Ws(e,o,g,n))})),Vs(b,[e,n])},onEnterCancelled(e){T(e,!1),Vs(_,[e])},onAppearCancelled(e){T(e,!0),Vs(w,[e])},onLeaveCancelled(e){N(e),Vs(S,[e])}})}function Ls(e){return ee(e)}function js(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function Us(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ds(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let Hs=0;function Ws(e,t,n,o){const r=e._endId=++Hs,s=()=>{r===e._endId&&o()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:c}=zs(e,t);if(!i)return o();const a=i+"end";let u=0;const p=()=>{e.removeEventListener(a,f),s()},f=t=>{t.target===e&&++u>=c&&p()};setTimeout((()=>{u(n[e]||"").split(", "),r=o("transitionDelay"),s=o("transitionDuration"),i=Ks(r,s),l=o("animationDelay"),c=o("animationDuration"),a=Ks(l,c);let u=null,p=0,f=0;t===Fs?i>0&&(u=Fs,p=i,f=s.length):t===Ps?a>0&&(u=Ps,p=a,f=c.length):(p=Math.max(i,a),u=p>0?i>a?Fs:Ps:null,f=u?u===Fs?s.length:c.length:0);return{type:u,timeout:p,propCount:f,hasTransform:u===Fs&&/\b(transform|all)(,|$)/.test(o("transitionProperty").toString())}}function Ks(e,t){for(;e.lengthGs(t)+Gs(e[n]))))}function Gs(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function qs(){return document.body.offsetHeight}const Js=new WeakMap,Zs=new WeakMap,Ys={name:"TransitionGroup",props:k({},Ms,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Gr(),o=In();let r,s;return ao((()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const o=e.cloneNode();e._vtc&&e._vtc.forEach((e=>{e.split(/\s+/).forEach((e=>e&&o.classList.remove(e)))}));n.split(/\s+/).forEach((e=>e&&o.classList.add(e))),o.style.display="none";const r=1===t.nodeType?t:t.parentNode;r.appendChild(o);const{hasTransform:s}=zs(o);return r.removeChild(o),s}(r[0].el,n.vnode.el,t))return;r.forEach(Xs),r.forEach(ei);const o=r.filter(ti);qs(),o.forEach((e=>{const n=e.el,o=n.style;js(n,t),o.transform=o.webkitTransform=o.transitionDuration="";const r=n._moveCb=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n._moveCb=null,Us(n,t))};n.addEventListener("transitionend",r)}))})),()=>{const i=xt(e),l=Bs(i);let c=i.tag||vr;r=s,s=t.default?zn(t.default()):[];for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return E(t)?e=>Y(t,e):t};function oi(e){e.target.composing=!0}function ri(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const si={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e._assign=ni(r);const s=o||r.props&&"number"===r.props.type;bs(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),s&&(o=X(o)),e._assign(o)})),n&&bs(e,"change",(()=>{e.value=e.value.trim()})),t||(bs(e,"compositionstart",oi),bs(e,"compositionend",ri),bs(e,"change",ri))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},s){if(e._assign=ni(s),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((r||"number"===e.type)&&X(e.value)===t)return}const i=null==t?"":t;e.value!==i&&(e.value=i)}},ii={deep:!0,created(e,t,n){e._assign=ni(n),bs(e,"change",(()=>{const t=e._modelValue,n=pi(e),o=e.checked,r=e._assign;if(E(t)){const e=m(t,n),s=-1!==e;if(o&&!s)r(t.concat(n));else if(!o&&s){const n=[...t];n.splice(e,1),r(n)}}else if(A(t)){const e=new Set(t);o?e.add(n):e.delete(n),r(e)}else r(fi(e,o))}))},mounted:li,beforeUpdate(e,t,n){e._assign=ni(n),li(e,t,n)}};function li(e,{value:t,oldValue:n},o){e._modelValue=t,E(t)?e.checked=m(t,o.props.value)>-1:A(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=h(t,fi(e,!0)))}const ci={created(e,{value:t},n){e.checked=h(t,n.props.value),e._assign=ni(n),bs(e,"change",(()=>{e._assign(pi(e))}))},beforeUpdate(e,{value:t,oldValue:n},o){e._assign=ni(o),t!==n&&(e.checked=h(t,o.props.value))}},ai={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const r=A(t);bs(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?X(pi(e)):pi(e)));e._assign(e.multiple?r?new Set(t):t:t[0])})),e._assign=ni(o)},mounted(e,{value:t}){ui(e,t)},beforeUpdate(e,t,n){e._assign=ni(n)},updated(e,{value:t}){ui(e,t)}};function ui(e,t){const n=e.multiple;if(!n||E(t)||A(t)){for(let o=0,r=e.options.length;o-1:t.has(s);else if(h(pi(r),t))return void(e.selectedIndex!==o&&(e.selectedIndex=o))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function pi(e){return"_value"in e?e._value:e.value}function fi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const di={created(e,t,n){hi(e,t,n,null,"created")},mounted(e,t,n){hi(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){hi(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){hi(e,t,n,o,"updated")}};function hi(e,t,n,o,r){const s=function(e,t){switch(e){case"SELECT":return ai;case"TEXTAREA":return si;default:switch(t){case"checkbox":return ii;case"radio":return ci;default:return si}}}(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,o)}const mi=["ctrl","shift","alt","meta"],gi={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>mi.some((n=>e[`${n}Key`]&&!t.includes(n)))},vi={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},yi={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):_i(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),_i(e,!0),o.enter(e)):o.leave(e,(()=>{_i(e,!1)})):_i(e,t))},beforeUnmount(e,{value:t}){_i(e,t)}};function _i(e,t){e.style.display=t?e._vod:"none"}const bi=k({patchProp:(e,t,n,o,r=!1,s,i,l,c)=>{"class"===t?function(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,o,r):"style"===t?function(e,t,n){const o=e.style,r=R(n);if(n&&!r){if(t&&!R(t))for(const e in t)null==n[e]&&gs(o,e,"");for(const e in n)gs(o,e,n[e])}else{const s=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=s)}}(e,n,o):x(t)?C(t)||Ss(e,t,0,o,i):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,o){if(o)return"innerHTML"===t||"textContent"===t||!!(t in e&&ws.test(t)&&P(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if(ws.test(t)&&R(n))return!1;return t in e}(e,t,o,r))?function(e,t,n,o,r,s,i){if("innerHTML"===t||"textContent"===t)return o&&i(o,r,s),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const o=null==n?"":n;return e.value===o&&"OPTION"!==e.tagName||(e.value=o),void(null==n&&e.removeAttribute(t))}let l=!1;if(""===n||null==n){const o=typeof e[t];"boolean"===o?n=d(n):null==n&&"string"===o?(n="",l=!0):"number"===o&&(n=0,l=!0)}try{e[t]=n}catch(c){}l&&e.removeAttribute(t)}(e,t,o,s,i,l,c):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),function(e,t,n,o,r){if(o&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(_s,t.slice(6,t.length)):e.setAttributeNS(_s,t,n);else{const o=f(t);null==n||o&&!d(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}(e,t,o,r))}},hs);let Si,xi=!1;function Ci(){return Si||(Si=ir(bi))}function ki(){return Si=xi?Si:lr(bi),xi=!0,Si}const wi=(...e)=>{Ci().render(...e)},Ti=(...e)=>{ki().hydrate(...e)};function Ni(e){if(R(e)){return document.querySelector(e)}return e}const Ei=_;function Oi(e){throw e}function Ai(e){}function Fi(e,t,n,o){const r=new SyntaxError(String(e));return r.code=e,r.loc=t,r}const Pi=Symbol(""),Ri=Symbol(""),$i=Symbol(""),Mi=Symbol(""),Vi=Symbol(""),Ii=Symbol(""),Bi=Symbol(""),Li=Symbol(""),ji=Symbol(""),Ui=Symbol(""),Di=Symbol(""),Hi=Symbol(""),Wi=Symbol(""),zi=Symbol(""),Ki=Symbol(""),Gi=Symbol(""),qi=Symbol(""),Ji=Symbol(""),Zi=Symbol(""),Yi=Symbol(""),Qi=Symbol(""),Xi=Symbol(""),el=Symbol(""),tl=Symbol(""),nl=Symbol(""),ol=Symbol(""),rl=Symbol(""),sl=Symbol(""),il=Symbol(""),ll=Symbol(""),cl=Symbol(""),al=Symbol(""),ul=Symbol(""),pl=Symbol(""),fl=Symbol(""),dl=Symbol(""),hl=Symbol(""),ml=Symbol(""),gl=Symbol(""),vl={[Pi]:"Fragment",[Ri]:"Teleport",[$i]:"Suspense",[Mi]:"KeepAlive",[Vi]:"BaseTransition",[Ii]:"openBlock",[Bi]:"createBlock",[Li]:"createElementBlock",[ji]:"createVNode",[Ui]:"createElementVNode",[Di]:"createCommentVNode",[Hi]:"createTextVNode",[Wi]:"createStaticVNode",[zi]:"resolveComponent",[Ki]:"resolveDynamicComponent",[Gi]:"resolveDirective",[qi]:"resolveFilter",[Ji]:"withDirectives",[Zi]:"renderList",[Yi]:"renderSlot",[Qi]:"createSlots",[Xi]:"toDisplayString",[el]:"mergeProps",[tl]:"normalizeClass",[nl]:"normalizeStyle",[ol]:"normalizeProps",[rl]:"guardReactiveProps",[sl]:"toHandlers",[il]:"camelize",[ll]:"capitalize",[cl]:"toHandlerKey",[al]:"setBlockTracking",[ul]:"pushScopeId",[pl]:"popScopeId",[fl]:"withCtx",[dl]:"unref",[hl]:"isRef",[ml]:"withMemo",[gl]:"isMemoSame"};const yl={source:"",start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function _l(e,t,n,o,r,s,i,l=!1,c=!1,a=!1,u=yl){return e&&(l?(e.helper(Ii),e.helper(ql(e.inSSR,a))):e.helper(Gl(e.inSSR,a)),i&&e.helper(Ji)),{type:13,tag:t,props:n,children:o,patchFlag:r,dynamicProps:s,directives:i,isBlock:l,disableTracking:c,isComponent:a,loc:u}}function bl(e,t=yl){return{type:17,loc:t,elements:e}}function Sl(e,t=yl){return{type:15,loc:t,properties:e}}function xl(e,t){return{type:16,loc:yl,key:R(e)?Cl(e,!0):e,value:t}}function Cl(e,t=!1,n=yl,o=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:o}}function kl(e,t=yl){return{type:8,loc:t,children:e}}function wl(e,t=[],n=yl){return{type:14,loc:n,callee:e,arguments:t}}function Tl(e,t,n=!1,o=!1,r=yl){return{type:18,params:e,returns:t,newline:n,isSlot:o,loc:r}}function Nl(e,t,n,o=!0){return{type:19,test:e,consequent:t,alternate:n,newline:o,loc:yl}}const El=e=>4===e.type&&e.isStatic,Ol=(e,t)=>e===t||e===G(t);function Al(e){return Ol(e,"Teleport")?Ri:Ol(e,"Suspense")?$i:Ol(e,"KeepAlive")?Mi:Ol(e,"BaseTransition")?Vi:void 0}const Fl=/^\d|[^\$\w]/,Pl=e=>!Fl.test(e),Rl=/[A-Za-z_$\xA0-\uFFFF]/,$l=/[\.\?\w$\xA0-\uFFFF]/,Ml=/\s+[.[]\s*|\s*[.[]\s+/g,Vl=e=>{e=e.trim().replace(Ml,(e=>e.trim()));let t=0,n=[],o=0,r=0,s=null;for(let i=0;i4===e.key.type&&e.key.content===o))}return n}function Xl(e,t){return`_${t}_${e.replace(/[^\w]/g,((t,n)=>"-"===t?"_":e.charCodeAt(n).toString()))}`}function ec(e,{helper:t,removeHelper:n,inSSR:o}){e.isBlock||(e.isBlock=!0,n(Gl(o,e.isComponent)),t(Ii),t(ql(o,e.isComponent)))}const tc=/&(gt|lt|amp|apos|quot);/g,nc={gt:">",lt:"<",amp:"&",apos:"'",quot:'"'},oc={delimiters:["{{","}}"],getNamespace:()=>0,getTextMode:()=>0,isVoidTag:b,isPreTag:b,isCustomElement:b,decodeEntities:e=>e.replace(tc,((e,t)=>nc[t])),onError:Oi,onWarn:Ai,comments:!1};function rc(e,t={}){const n=function(e,t){const n=k({},oc);let o;for(o in t)n[o]=void 0===t[o]?oc[o]:t[o];return{options:n,column:1,line:1,offset:0,originalSource:e,source:e,inPre:!1,inVPre:!1,onWarn:n.onWarn}}(e,t),o=yc(n);return function(e,t=yl){return{type:0,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:t}}(sc(n,0,[]),_c(n,o))}function sc(e,t,n){const o=bc(n),r=o?o.ns:0,s=[];for(;!wc(e,t,n);){const i=e.source;let l;if(0===t||1===t)if(!e.inVPre&&Sc(i,e.options.delimiters[0]))l=mc(e,t);else if(0===t&&"<"===i[0])if(1===i.length);else if("!"===i[1])l=Sc(i,"\x3c!--")?cc(e):Sc(i,""===i[2]){xc(e,3);continue}if(/[a-z]/i.test(i[2])){fc(e,1,o);continue}l=ac(e)}else/[a-z]/i.test(i[1])?l=uc(e,n):"?"===i[1]&&(l=ac(e));if(l||(l=gc(e,t)),E(l))for(let e=0;e/.exec(e.source);if(o){n=e.source.slice(4,o.index);const t=e.source.slice(0,o.index);let r=1,s=0;for(;-1!==(s=t.indexOf("\x3c!--",r));)xc(e,s-r+1),r=s+1;xc(e,o.index+o[0].length-r+1)}else n=e.source.slice(4),xc(e,e.source.length);return{type:3,content:n,loc:_c(e,t)}}function ac(e){const t=yc(e),n="?"===e.source[1]?1:2;let o;const r=e.source.indexOf(">");return-1===r?(o=e.source.slice(n),xc(e,e.source.length)):(o=e.source.slice(n,r),xc(e,r+1)),{type:3,content:o,loc:_c(e,t)}}function uc(e,t){const n=e.inPre,o=e.inVPre,r=bc(t),s=fc(e,0,r),i=e.inPre&&!n,l=e.inVPre&&!o;if(s.isSelfClosing||e.options.isVoidTag(s.tag))return i&&(e.inPre=!1),l&&(e.inVPre=!1),s;t.push(s);const c=e.options.getTextMode(s,r),a=sc(e,c,t);if(t.pop(),s.children=a,Tc(e.source,s.tag))fc(e,1,r);else if(0===e.source.length&&"script"===s.tag.toLowerCase()){const e=a[0];e&&Sc(e.loc.source,"\x3c!--")}return s.loc=_c(e,s.loc.start),i&&(e.inPre=!1),l&&(e.inVPre=!1),s}const pc=t("if,else,else-if,for,slot");function fc(e,t,n){const o=yc(e),r=/^<\/?([a-z][^\t\r\n\f />]*)/i.exec(e.source),s=r[1],i=e.options.getNamespace(s,n);xc(e,r[0].length),Cc(e);const l=yc(e),c=e.source;e.options.isPreTag(s)&&(e.inPre=!0);let a=dc(e,t);0===t&&!e.inVPre&&a.some((e=>7===e.type&&"pre"===e.name))&&(e.inVPre=!0,k(e,l),e.source=c,a=dc(e,t).filter((e=>"v-pre"!==e.name)));let u=!1;if(0===e.source.length||(u=Sc(e.source,"/>"),xc(e,u?2:1)),1===t)return;let p=0;return e.inVPre||("slot"===s?p=2:"template"===s?a.some((e=>7===e.type&&pc(e.name)))&&(p=3):function(e,t,n){const o=n.options;if(o.isCustomElement(e))return!1;if("component"===e||/^[A-Z]/.test(e)||Al(e)||o.isBuiltInComponent&&o.isBuiltInComponent(e)||o.isNativeTag&&!o.isNativeTag(e))return!0;for(let r=0;r0&&!Sc(e.source,">")&&!Sc(e.source,"/>");){if(Sc(e.source,"/")){xc(e,1),Cc(e);continue}const r=hc(e,o);6===r.type&&r.value&&"class"===r.name&&(r.value.content=r.value.content.replace(/\s+/g," ").trim()),0===t&&n.push(r),/^[^\t\r\n\f />]/.test(e.source),Cc(e)}return n}function hc(e,t){const n=yc(e),o=/^[^\t\r\n\f />][^\t\r\n\f />=]*/.exec(e.source)[0];t.has(o),t.add(o);{const e=/["'<]/g;let t;for(;t=e.exec(o););}let r;xc(e,o.length),/^[\t\r\n\f ]*=/.test(e.source)&&(Cc(e),xc(e,1),Cc(e),r=function(e){const t=yc(e);let n;const o=e.source[0],r='"'===o||"'"===o;if(r){xc(e,1);const t=e.source.indexOf(o);-1===t?n=vc(e,e.source.length,4):(n=vc(e,t,4),xc(e,1))}else{const t=/^[^\t\r\n\f >]+/.exec(e.source);if(!t)return;const o=/["'<=`]/g;let r;for(;r=o.exec(t[0]););n=vc(e,t[0].length,4)}return{content:n,isQuoted:r,loc:_c(e,t)}}(e));const s=_c(e,n);if(!e.inVPre&&/^(v-[A-Za-z0-9-]|:|\.|@|#)/.test(o)){const t=/(?:^v-([a-z0-9-]+))?(?:(?::|^\.|^@|^#)(\[[^\]]+\]|[^\.]+))?(.+)?$/i.exec(o);let i,l=Sc(o,"."),c=t[1]||(l||Sc(o,":")?"bind":Sc(o,"@")?"on":"slot");if(t[2]){const r="slot"===c,s=o.lastIndexOf(t[2]),l=_c(e,kc(e,n,s),kc(e,n,s+t[2].length+(r&&t[3]||"").length));let a=t[2],u=!0;a.startsWith("[")?(u=!1,a=a.endsWith("]")?a.slice(1,a.length-1):a.slice(1)):r&&(a+=t[3]||""),i={type:4,content:a,isStatic:u,constType:u?3:0,loc:l}}if(r&&r.isQuoted){const e=r.loc;e.start.offset++,e.start.column++,e.end=Bl(e.start,r.content),e.source=e.source.slice(1,-1)}const a=t[3]?t[3].slice(1).split("."):[];return l&&a.push("prop"),{type:7,name:c,exp:r&&{type:4,content:r.content,isStatic:!1,constType:0,loc:r.loc},arg:i,modifiers:a,loc:s}}return!e.inVPre&&Sc(o,"v-"),{type:6,name:o,value:r&&{type:2,content:r.content,loc:r.loc},loc:s}}function mc(e,t){const[n,o]=e.options.delimiters,r=e.source.indexOf(o,n.length);if(-1===r)return;const s=yc(e);xc(e,n.length);const i=yc(e),l=yc(e),c=r-n.length,a=e.source.slice(0,c),u=vc(e,c,t),p=u.trim(),f=u.indexOf(p);f>0&&Ll(i,a,f);return Ll(l,a,c-(u.length-p.length-f)),xc(e,o.length),{type:5,content:{type:4,isStatic:!1,constType:0,content:p,loc:_c(e,i,l)},loc:_c(e,s)}}function gc(e,t){const n=3===t?["]]>"]:["<",e.options.delimiters[0]];let o=e.source.length;for(let s=0;st&&(o=t)}const r=yc(e);return{type:2,content:vc(e,o,t),loc:_c(e,r)}}function vc(e,t,n){const o=e.source.slice(0,t);return xc(e,t),2!==n&&3!==n&&o.includes("&")?e.options.decodeEntities(o,4===n):o}function yc(e){const{column:t,line:n,offset:o}=e;return{column:t,line:n,offset:o}}function _c(e,t,n){return{start:t,end:n=n||yc(e),source:e.originalSource.slice(t.offset,n.offset)}}function bc(e){return e[e.length-1]}function Sc(e,t){return e.startsWith(t)}function xc(e,t){const{source:n}=e;Ll(e,n,t),e.source=n.slice(t)}function Cc(e){const t=/^[\t\r\n\f ]+/.exec(e.source);t&&xc(e,t[0].length)}function kc(e,t,n){return Bl(t,e.originalSource.slice(t.offset,n),n)}function wc(e,t,n){const o=e.source;switch(t){case 0:if(Sc(o,"=0;--e)if(Tc(o,n[e].tag))return!0;break;case 1:case 2:{const e=bc(n);if(e&&Tc(o,e.tag))return!0;break}case 3:if(Sc(o,"]]>"))return!0}return!o}function Tc(e,t){return Sc(e,"]/.test(e[2+t.length]||">")}function Nc(e,t){Oc(e,t,Ec(e,e.children[0]))}function Ec(e,t){const{children:n}=e;return 1===n.length&&1===t.type&&!Kl(t)}function Oc(e,t,n=!1){const{children:o}=e,r=o.length;let s=0;for(let i=0;i0){if(o>=2){e.codegenNode.patchFlag="-1",e.codegenNode=t.hoist(e.codegenNode),s++;continue}}else{const n=e.codegenNode;if(13===n.type){const o=Mc(n);if((!o||512===o||1===o)&&Rc(e,t)>=2){const o=$c(e);o&&(n.props=t.hoist(o))}n.dynamicProps&&(n.dynamicProps=t.hoist(n.dynamicProps))}}}if(1===e.type){const n=1===e.tagType;n&&t.scopes.vSlot++,Oc(e,t),n&&t.scopes.vSlot--}else if(11===e.type)Oc(e,t,1===e.children.length);else if(9===e.type)for(let n=0;n1)for(let r=0;r`_${vl[w.helper(e)]}`,replaceNode(e){w.parent.children[w.childIndex]=w.currentNode=e},removeNode(e){const t=e?w.parent.children.indexOf(e):w.currentNode?w.childIndex:-1;e&&e!==w.currentNode?w.childIndex>t&&(w.childIndex--,w.onNodeRemoved()):(w.currentNode=null,w.onNodeRemoved()),w.parent.children.splice(t,1)},onNodeRemoved:()=>{},addIdentifiers(e){},removeIdentifiers(e){},hoist(e){R(e)&&(e=Cl(e)),w.hoists.push(e);const t=Cl(`_hoisted_${w.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache:(e,t=!1)=>function(e,t,n=!1){return{type:20,index:e,value:t,isVNode:n,loc:yl}}(w.cached++,e,t)};return w}function Ic(e,t){const n=Vc(e,t);Bc(e,n),t.hoistStatic&&Nc(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:o}=e;if(1===o.length){const n=o[0];if(Ec(e,n)&&n.codegenNode){const o=n.codegenNode;13===o.type&&ec(o,t),e.codegenNode=o}else e.codegenNode=n}else if(o.length>1){let o=64;e.codegenNode=_l(t,n(Pi),void 0,e.children,o+"",void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached}function Bc(e,t){t.currentNode=e;const{nodeTransforms:n}=t,o=[];for(let s=0;s{n--};for(;nt===e:t=>e.test(t);return(e,o)=>{if(1===e.type){const{props:r}=e;if(3===e.tagType&&r.some(Wl))return;const s=[];for(let i=0;i`${vl[e]}: _${vl[e]}`;function Dc(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:o=!1,filename:r="template.vue.html",scopeId:s=null,optimizeImports:i=!1,runtimeGlobalName:l="Vue",runtimeModuleName:c="vue",ssrRuntimeModuleName:a="vue/server-renderer",ssr:u=!1,isTS:p=!1,inSSR:f=!1}){const d={mode:t,prefixIdentifiers:n,sourceMap:o,filename:r,scopeId:s,optimizeImports:i,runtimeGlobalName:l,runtimeModuleName:c,ssrRuntimeModuleName:a,ssr:u,isTS:p,inSSR:f,source:e.loc.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${vl[e]}`,push(e,t){d.code+=e},indent(){h(++d.indentLevel)},deindent(e=!1){e?--d.indentLevel:h(--d.indentLevel)},newline(){h(d.indentLevel)}};function h(e){d.push("\n"+" ".repeat(e))}return d}function Hc(e,t={}){const n=Dc(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:o,push:r,prefixIdentifiers:s,indent:i,deindent:l,newline:c,ssr:a}=n,u=Array.from(e.helpers),p=u.length>0,f=!s&&"module"!==o,d=n;!function(e,t){const{push:n,newline:o,runtimeGlobalName:r}=t,s=r,i=Array.from(e.helpers);if(i.length>0&&(n(`const _Vue = ${s}\n`),e.hoists.length)){n(`const { ${[ji,Ui,Di,Hi,Wi].filter((e=>i.includes(e))).map(Uc).join(", ")} } = _Vue\n`)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:o}=t;o();for(let r=0;r0)&&c()),e.directives.length&&(Wc(e.directives,"directive",n),e.temps>0&&c()),e.temps>0){r("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(r("\n"),c()),a||r("return "),e.codegenNode?Gc(e.codegenNode,n):r("null"),f&&(l(),r("}")),l(),r("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function Wc(e,t,{helper:n,push:o,newline:r,isTS:s}){const i=n("component"===t?zi:Gi);for(let l=0;l3||!1;t.push("["),n&&t.indent(),Kc(e,t,n),n&&t.deindent(),t.push("]")}function Kc(e,t,n=!1,o=!0){const{push:r,newline:s}=t;for(let i=0;ie||"null"))}([s,i,l,c,a]),t),n(")"),p&&n(")");u&&(n(", "),Gc(u,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:o,pure:r}=t,s=R(e.callee)?e.callee:o(e.callee);r&&n(jc);n(s+"(",e),Kc(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:o,deindent:r,newline:s}=t,{properties:i}=e;if(!i.length)return void n("{}",e);const l=i.length>1||!1;n(l?"{":"{ "),l&&o();for(let c=0;c "),(c||l)&&(n("{"),o());i?(c&&n("return "),E(i)?zc(i,t):Gc(i,t)):l&&Gc(l,t);(c||l)&&(r(),n("}"));a&&n(")")}(e,t);break;case 19:!function(e,t){const{test:n,consequent:o,alternate:r,newline:s}=e,{push:i,indent:l,deindent:c,newline:a}=t;if(4===n.type){const e=!Pl(n.content);e&&i("("),qc(n,t),e&&i(")")}else i("("),Gc(n,t),i(")");s&&l(),t.indentLevel++,s||i(" "),i("? "),Gc(o,t),t.indentLevel--,s&&a(),s||i(" "),i(": ");const u=19===r.type;u||t.indentLevel++;Gc(r,t),u||t.indentLevel--;s&&c(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:o,indent:r,deindent:s,newline:i}=t;n(`_cache[${e.index}] || (`),e.isVNode&&(r(),n(`${o(al)}(-1),`),i());n(`_cache[${e.index}] = `),Gc(e.value,t),e.isVNode&&(n(","),i(),n(`${o(al)}(1),`),i(),n(`_cache[${e.index}]`),s());n(")")}(e,t);break;case 21:Kc(e.body,t,!0,!1)}}function qc(e,t){const{content:n,isStatic:o}=e;t.push(o?JSON.stringify(n):n,e)}function Jc(e,t){for(let n=0;nfunction(e,t,n,o){if(!("else"===t.name||t.exp&&t.exp.content.trim())){t.exp=Cl("true",!1,t.exp?t.exp.loc:e.loc)}if("if"===t.name){const r=Qc(e,t),s={type:9,loc:e.loc,branches:[r]};if(n.replaceNode(s),o)return o(s,r,!0)}else{const r=n.parent.children;let s=r.indexOf(e);for(;s-- >=-1;){const i=r[s];if(i&&3===i.type)n.removeNode(i);else{if(!i||2!==i.type||i.content.trim().length){if(i&&9===i.type){n.removeNode();const r=Qc(e,t);i.branches.push(r);const s=o&&o(i,r,!1);Bc(r,n),s&&s(),n.currentNode=null}break}n.removeNode(i)}}}}(e,t,n,((e,t,o)=>{const r=n.parent.children;let s=r.indexOf(e),i=0;for(;s-- >=0;){const e=r[s];e&&9===e.type&&(i+=e.branches.length)}return()=>{if(o)e.codegenNode=Xc(t,i,n);else{const o=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);o.alternate=Xc(t,i+e.branches.length-1,n)}}}))));function Qc(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!jl(e,"for")?e.children:[e],userKey:Ul(e,"key"),isTemplateIf:n}}function Xc(e,t,n){return e.condition?Nl(e.condition,ea(e,t,n),wl(n.helper(Di),['""',"true"])):ea(e,t,n)}function ea(e,t,n){const{helper:o}=n,r=xl("key",Cl(`${t}`,!1,yl,2)),{children:s}=e,i=s[0];if(1!==s.length||1!==i.type){if(1===s.length&&11===i.type){const e=i.codegenNode;return Yl(e,r,n),e}{let t=64;return _l(n,o(Pi),Sl([r]),s,t+"",void 0,void 0,!0,!1,!1,e.loc)}}{const e=i.codegenNode,t=14===(l=e).type&&l.callee===ml?l.arguments[1].returns:l;return 13===t.type&&ec(t,n),Yl(t,r,n),e}var l}const ta=Lc("for",((e,t,n)=>{const{helper:o,removeHelper:r}=n;return function(e,t,n,o){if(!t.exp)return;const r=sa(t.exp);if(!r)return;const{scopes:s}=n,{source:i,value:l,key:c,index:a}=r,u={type:11,loc:t.loc,source:i,valueAlias:l,keyAlias:c,objectIndexAlias:a,parseResult:r,children:zl(e)?e.children:[e]};n.replaceNode(u),s.vFor++;const p=o&&o(u);return()=>{s.vFor--,p&&p()}}(e,t,n,(t=>{const s=wl(o(Zi),[t.source]),i=zl(e),l=jl(e,"memo"),c=Ul(e,"key"),a=c&&(6===c.type?Cl(c.value.content,!0):c.exp),u=c?xl("key",a):null,p=4===t.source.type&&t.source.constType>0,f=p?64:c?128:256;return t.codegenNode=_l(n,o(Pi),void 0,s,f+"",void 0,void 0,!0,!p,!1,e.loc),()=>{let c;const{children:f}=t,d=1!==f.length||1!==f[0].type,h=Kl(e)?e:i&&1===e.children.length&&Kl(e.children[0])?e.children[0]:null;if(h?(c=h.codegenNode,i&&u&&Yl(c,u,n)):d?c=_l(n,o(Pi),u?Sl([u]):void 0,e.children,"64",void 0,void 0,!0,void 0,!1):(c=f[0].codegenNode,i&&u&&Yl(c,u,n),c.isBlock!==!p&&(c.isBlock?(r(Ii),r(ql(n.inSSR,c.isComponent))):r(Gl(n.inSSR,c.isComponent))),c.isBlock=!p,c.isBlock?(o(Ii),o(ql(n.inSSR,c.isComponent))):o(Gl(n.inSSR,c.isComponent))),l){const e=Tl(la(t.parseResult,[Cl("_cached")]));e.body={type:21,body:[kl(["const _memo = (",l.exp,")"]),kl(["if (_cached",...a?[" && _cached.key === ",a]:[],` && ${n.helperString(gl)}(_cached, _memo)) return _cached`]),kl(["const _item = ",c]),Cl("_item.memo = _memo"),Cl("return _item")],loc:yl},s.arguments.push(e,Cl("_cache"),Cl(String(n.cached++)))}else s.arguments.push(Tl(la(t.parseResult),c,!0))}}))}));const na=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,oa=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,ra=/^\(|\)$/g;function sa(e,t){const n=e.loc,o=e.content,r=o.match(na);if(!r)return;const[,s,i]=r,l={source:ia(n,i.trim(),o.indexOf(i,s.length)),value:void 0,key:void 0,index:void 0};let c=s.trim().replace(ra,"").trim();const a=s.indexOf(c),u=c.match(oa);if(u){c=c.replace(oa,"").trim();const e=u[1].trim();let t;if(e&&(t=o.indexOf(e,a+c.length),l.key=ia(n,e,t)),u[2]){const r=u[2].trim();r&&(l.index=ia(n,r,o.indexOf(r,l.key?t+e.length:a+c.length)))}}return c&&(l.value=ia(n,c,a)),l}function ia(e,t,n){return Cl(t,!1,Il(e,n,t.length))}function la({value:e,key:t,index:n},o=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map(((e,t)=>e||Cl("_".repeat(t+1),!1)))}([e,t,n,...o])}const ca=Cl("undefined",!1),aa=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=jl(e,"slot");if(n)return t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},ua=(e,t,n)=>Tl(e,t,!1,!0,t.length?t[0].loc:n);function pa(e,t,n=ua){t.helper(fl);const{children:o,loc:r}=e,s=[],i=[];let l=t.scopes.vSlot>0||t.scopes.vFor>0;const c=jl(e,"slot",!0);if(c){const{arg:e,exp:t}=c;e&&!El(e)&&(l=!0),s.push(xl(e||Cl("default",!0),n(t,o,r)))}let a=!1,u=!1;const p=[],f=new Set;let d=0;for(let g=0;gxl("default",n(e,t,r));a?p.length&&p.some((e=>ha(e)))&&(u||s.push(e(void 0,p))):s.push(e(void 0,o))}const h=l?2:da(e.children)?3:1;let m=Sl(s.concat(xl("_",Cl(h+"",!1))),r);return i.length&&(m=wl(t.helper(Qi),[m,bl(i)])),{slots:m,hasDynamicSlots:l}}function fa(e,t,n){const o=[xl("name",e),xl("fn",t)];return null!=n&&o.push(xl("key",Cl(String(n),!0))),Sl(o)}function da(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:o}=e,r=1===e.tagType;let s=r?function(e,t,n=!1){let{tag:o}=e;const r=ba(o),s=Ul(e,"is");if(s)if(r){const e=6===s.type?s.value&&Cl(s.value.content,!0):s.exp;if(e)return wl(t.helper(Ki),[e])}else 6===s.type&&s.value.content.startsWith("vue:")&&(o=s.value.content.slice(4));const i=!r&&jl(e,"is");if(i&&i.exp)return wl(t.helper(Ki),[i.exp]);const l=Al(o)||t.isBuiltInComponent(o);if(l)return n||t.helper(l),l;return t.helper(zi),t.components.add(o),Xl(o,"component")}(e,t):`"${n}"`;const i=M(s)&&s.callee===Ki;let l,c,a,u,p,f,d=0,h=i||s===Ri||s===$i||!r&&("svg"===n||"foreignObject"===n);if(o.length>0){const n=va(e,t,void 0,r,i);l=n.props,d=n.patchFlag,p=n.dynamicPropNames;const o=n.directives;f=o&&o.length?bl(o.map((e=>function(e,t){const n=[],o=ma.get(e);o?n.push(t.helperString(o)):(t.helper(Gi),t.directives.add(e.name),n.push(Xl(e.name,"directive")));const{loc:r}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=Cl("true",!1,r);n.push(Sl(e.modifiers.map((e=>xl(e,t))),r))}return bl(n,e.loc)}(e,t)))):void 0,n.shouldUseBlock&&(h=!0)}if(e.children.length>0){s===Mi&&(h=!0,d|=1024);if(r&&s!==Ri&&s!==Mi){const{slots:n,hasDynamicSlots:o}=pa(e,t);c=n,o&&(d|=1024)}else if(1===e.children.length&&s!==Ri){const n=e.children[0],o=n.type,r=5===o||8===o;r&&0===Ac(n,t)&&(d|=1),c=r||2===o?n:e.children}else c=e.children}0!==d&&(a=String(d),p&&p.length&&(u=function(e){let t="[";for(let n=0,o=e.length;n0;let d=!1,h=0,m=!1,g=!1,v=!1,y=!1,_=!1,b=!1;const S=[],C=e=>{a.length&&(u.push(Sl(ya(a),l)),a=[]),e&&u.push(e)},k=({key:e,value:n})=>{if(El(e)){const s=e.content,i=x(s);if(!i||o&&!r||"onclick"===s.toLowerCase()||"onUpdate:modelValue"===s||U(s)||(y=!0),i&&U(s)&&(b=!0),20===n.type||(4===n.type||8===n.type)&&Ac(n,t)>0)return;"ref"===s?m=!0:"class"===s?g=!0:"style"===s?v=!0:"key"===s||S.includes(s)||S.push(s),!o||"class"!==s&&"style"!==s||S.includes(s)||S.push(s)}else _=!0};for(let x=0;x0&&a.push(xl(Cl("ref_for",!0),Cl("true")))),"is"===n&&(ba(i)||o&&o.content.startsWith("vue:")))continue;a.push(xl(Cl(n,!0,Il(e,0,n.length)),Cl(o?o.content:"",s,o?o.loc:e)))}else{const{name:n,arg:c,exp:h,loc:m}=r,g="bind"===n,v="on"===n;if("slot"===n)continue;if("once"===n||"memo"===n)continue;if("is"===n||g&&Dl(c,"is")&&ba(i))continue;if(v&&s)continue;if((g&&Dl(c,"key")||v&&f&&Dl(c,"vue:before-update"))&&(d=!0),g&&Dl(c,"ref")&&t.scopes.vFor>0&&a.push(xl(Cl("ref_for",!0),Cl("true"))),!c&&(g||v)){_=!0,h&&(g?(C(),u.push(h)):C({type:14,loc:m,callee:t.helper(sl),arguments:o?[h]:[h,"true"]}));continue}const y=t.directiveTransforms[n];if(y){const{props:n,needRuntime:o}=y(r,e,t);!s&&n.forEach(k),v&&c&&!El(c)?C(Sl(n,l)):a.push(...n),o&&(p.push(r),$(o)&&ma.set(r,o))}else D(n)||(p.push(r),f&&(d=!0))}}let w;if(u.length?(C(),w=u.length>1?wl(t.helper(el),u,l):u[0]):a.length&&(w=Sl(ya(a),l)),_?h|=16:(g&&!o&&(h|=2),v&&!o&&(h|=4),S.length&&(h|=8),y&&(h|=32)),d||0!==h&&32!==h||!(m||b||p.length>0)||(h|=512),!t.inSSR&&w)switch(w.type){case 15:let e=-1,n=-1,o=!1;for(let t=0;t{if(Kl(e)){const{children:n,loc:o}=e,{slotName:r,slotProps:s}=function(e,t){let n,o='"default"';const r=[];for(let s=0;s0){const{props:o,directives:s}=va(e,t,r,!1,!1);n=o}return{slotName:o,slotProps:n}}(e,t),i=[t.prefixIdentifiers?"_ctx.$slots":"$slots",r,"{}","undefined","true"];let l=2;s&&(i[2]=s,l=3),n.length&&(i[3]=Tl([],n,!1,!1,o),l=4),t.scopeId&&!t.slotted&&(l=5),i.splice(l),e.codegenNode=wl(t.helper(Yi),i,o)}};const xa=/^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,Ca=(e,t,n,o)=>{const{loc:r,modifiers:s,arg:i}=e;let l;if(4===i.type)if(i.isStatic){let e=i.content;e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);l=Cl(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?J(z(e)):`on:${e}`,!0,i.loc)}else l=kl([`${n.helperString(cl)}(`,i,")"]);else l=i,l.children.unshift(`${n.helperString(cl)}(`),l.children.push(")");let c=e.exp;c&&!c.content.trim()&&(c=void 0);let a=n.cacheHandlers&&!c&&!n.inVOnce;if(c){const e=Vl(c.content),t=!(e||xa.test(c.content)),n=c.content.includes(";");(t||a&&e)&&(c=kl([`${t?"$event":"(...args)"} => ${n?"{":"("}`,c,n?"}":")"]))}let u={props:[xl(l,c||Cl("() => {}",!1,r))]};return o&&(u=o(u)),a&&(u.props[0].value=n.cache(u.props[0].value)),u.props.forEach((e=>e.key.isHandlerKey=!0)),u},ka=(e,t,n)=>{const{exp:o,modifiers:r,loc:s}=e,i=e.arg;return 4!==i.type?(i.children.unshift("("),i.children.push(') || ""')):i.isStatic||(i.content=`${i.content} || ""`),r.includes("camel")&&(4===i.type?i.content=i.isStatic?z(i.content):`${n.helperString(il)}(${i.content})`:(i.children.unshift(`${n.helperString(il)}(`),i.children.push(")"))),n.inSSR||(r.includes("prop")&&wa(i,"."),r.includes("attr")&&wa(i,"^")),!o||4===o.type&&!o.content.trim()?{props:[xl(i,Cl("",!0,s))]}:{props:[xl(i,o)]}},wa=(e,t)=>{4===e.type?e.content=e.isStatic?t+e.content:`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},Ta=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let o,r=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])))))for(let e=0;e{if(1===e.type&&jl(e,"once",!0)){if(Na.has(e)||t.inVOnce)return;return Na.add(e),t.inVOnce=!0,t.helper(al),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}}},Oa=(e,t,n)=>{const{exp:o,arg:r}=e;if(!o)return Aa();const s=o.loc.source,i=4===o.type?o.content:s,l=n.bindingMetadata[s];if("props"===l||"props-aliased"===l)return Aa();if(!i.trim()||!Vl(i))return Aa();const c=r||Cl("modelValue",!0),a=r?El(r)?`onUpdate:${z(r.content)}`:kl(['"onUpdate:" + ',r]):"onUpdate:modelValue";let u;u=kl([`${n.isTS?"($event: any)":"$event"} => ((`,o,") = $event)"]);const p=[xl(c,e.exp),xl(a,u)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map((e=>(Pl(e)?e:JSON.stringify(e))+": true")).join(", "),n=r?El(r)?`${r.content}Modifiers`:kl([r,' + "Modifiers"']):"modelModifiers";p.push(xl(n,Cl(`{ ${t} }`,!1,e.loc,2)))}return Aa(p)};function Aa(e=[]){return{props:e}}const Fa=new WeakSet,Pa=(e,t)=>{if(1===e.type){const n=jl(e,"memo");if(!n||Fa.has(e))return;return Fa.add(e),()=>{const o=e.codegenNode||t.currentNode.codegenNode;o&&13===o.type&&(1!==e.tagType&&ec(o,t),e.codegenNode=wl(t.helper(ml),[n.exp,Tl(void 0,o),"_cache",String(t.cached++)]))}}};function Ra(e,t={}){const n=t.onError||Oi,o="module"===t.mode;!0===t.prefixIdentifiers?n(Fi(47)):o&&n(Fi(48));t.cacheHandlers&&n(Fi(49)),t.scopeId&&!o&&n(Fi(50));const r=R(e)?rc(e,t):e,[s,i]=[[Ea,Yc,Pa,ta,Sa,ga,aa,Ta],{on:Ca,bind:ka,model:Oa}];return Ic(r,k({},t,{prefixIdentifiers:false,nodeTransforms:[...s,...t.nodeTransforms||[]],directiveTransforms:k({},i,t.directiveTransforms||{})})),Hc(r,k({},t,{prefixIdentifiers:false}))}const $a=Symbol(""),Ma=Symbol(""),Va=Symbol(""),Ia=Symbol(""),Ba=Symbol(""),La=Symbol(""),ja=Symbol(""),Ua=Symbol(""),Da=Symbol(""),Ha=Symbol("");var Wa;let za;Wa={[$a]:"vModelRadio",[Ma]:"vModelCheckbox",[Va]:"vModelText",[Ia]:"vModelSelect",[Ba]:"vModelDynamic",[La]:"withModifiers",[ja]:"withKeys",[Ua]:"vShow",[Da]:"Transition",[Ha]:"TransitionGroup"},Object.getOwnPropertySymbols(Wa).forEach((e=>{vl[e]=Wa[e]}));const Ka=t("style,iframe,script,noscript",!0),Ga={isVoidTag:p,isNativeTag:e=>a(e)||u(e),isPreTag:e=>"pre"===e,decodeEntities:function(e,t=!1){return za||(za=document.createElement("div")),t?(za.innerHTML=`
`,za.children[0].getAttribute("foo")):(za.innerHTML=e,za.textContent)},isBuiltInComponent:e=>Ol(e,"Transition")?Da:Ol(e,"TransitionGroup")?Ha:void 0,getNamespace(e,t){let n=t?t.ns:0;if(t&&2===n)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some((e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content)))&&(n=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(n=0);else t&&1===n&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(n=0));if(0===n){if("svg"===e)return 1;if("math"===e)return 2}return n},getTextMode({tag:e,ns:t}){if(0===t){if("textarea"===e||"title"===e)return 1;if(Ka(e))return 2}return 0}},qa=(e,t)=>{const n=l(e);return Cl(JSON.stringify(n),!1,t,3)};const Ja=t("passive,once,capture"),Za=t("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),Ya=t("left,right"),Qa=t("onkeyup,onkeydown,onkeypress",!0),Xa=(e,t)=>El(e)&&"onclick"===e.content.toLowerCase()?Cl(t,!0):4!==e.type?kl(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,eu=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()},tu=[e=>{1===e.type&&e.props.forEach(((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:Cl("style",!0,t.loc),exp:qa(t.value.content,t.loc),modifiers:[],loc:t.loc})}))}],nu={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:o,loc:r}=e;return t.children.length&&(t.children.length=0),{props:[xl(Cl("innerHTML",!0,r),o||Cl("",!0))]}},text:(e,t,n)=>{const{exp:o,loc:r}=e;return t.children.length&&(t.children.length=0),{props:[xl(Cl("textContent",!0),o?Ac(o,n)>0?o:wl(n.helperString(Xi),[o],r):Cl("",!0))]}},model:(e,t,n)=>{const o=Oa(e,t,n);if(!o.props.length||1===t.tagType)return o;const{tag:r}=t,s=n.isCustomElement(r);if("input"===r||"textarea"===r||"select"===r||s){let e=Va,i=!1;if("input"===r||s){const n=Ul(t,"type");if(n){if(7===n.type)e=Ba;else if(n.value)switch(n.value.content){case"radio":e=$a;break;case"checkbox":e=Ma;break;case"file":i=!0}}else(function(e){return e.props.some((e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))})(t)&&(e=Ba)}else"select"===r&&(e=Ia);i||(o.needRuntime=n.helper(e))}return o.props=o.props.filter((e=>!(4===e.key.type&&"modelValue"===e.key.content))),o},on:(e,t,n)=>Ca(e,t,n,(t=>{const{modifiers:o}=e;if(!o.length)return t;let{key:r,value:s}=t.props[0];const{keyModifiers:i,nonKeyModifiers:l,eventOptionModifiers:c}=((e,t,n,o)=>{const r=[],s=[],i=[];for(let l=0;l({props:[],needRuntime:n.helper(Ua)})};const ou=Object.create(null);function ru(e,t){if(!R(e)){if(!e.nodeType)return _;e=e.innerHTML}const n=e,o=ou[n];if(o)return o;if("#"===e[0]){const t=document.querySelector(e);e=t?t.innerHTML:""}const r=k({hoistStatic:!0,onError:void 0,onWarn:_},t);r.isCustomElement||"undefined"==typeof customElements||(r.isCustomElement=e=>!!customElements.get(e));const{code:s}=function(e,t={}){return Ra(e,k({},Ga,t,{nodeTransforms:[eu,...tu,...t.nodeTransforms||[]],directiveTransforms:k({},nu,t.directiveTransforms||{}),transformHoist:null}))}(e,r),i=new Function(s)();return i._rc=!0,ou[n]=i}return ts(ru),e.BaseTransition=Ln,e.Comment=_r,e.EffectScope=oe,e.Fragment=vr,e.KeepAlive=Zn,e.ReactiveEffect=me,e.Static=br,e.Suspense=xn,e.Teleport=mr,e.Text=yr,e.Transition=Rs,e.TransitionGroup=Qs,e.VueElement=Es,e.assertNumber=function(e,t){},e.callWithAsyncErrorHandling=Ut,e.callWithErrorHandling=jt,e.camelize=z,e.capitalize=q,e.cloneVNode=Ir,e.compatUtils=null,e.compile=ru,e.computed=is,e.createApp=(...e)=>{const t=Ci().createApp(...e),{mount:n}=t;return t.mount=e=>{const o=Ni(e);if(!o)return;const r=t._component;P(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t},e.createBlock=Er,e.createCommentVNode=function(e="",t=!1){return t?(Cr(),Er(_r,null,e)):Mr(_r,null,e)},e.createElementBlock=function(e,t,n,o,r,s){return Nr($r(e,t,n,o,r,s,!0))},e.createElementVNode=$r,e.createHydrationRenderer=lr,e.createPropsRestProxy=function(e,t){const n={};for(const o in e)t.includes(o)||Object.defineProperty(n,o,{enumerable:!0,get:()=>e[o]});return n},e.createRenderer=ir,e.createSSRApp=(...e)=>{const t=ki().createApp(...e),{mount:n}=t;return t.mount=e=>{const t=Ni(e);if(t)return n(t,!0,t instanceof SVGElement)},t},e.createSlots=function(e,t){for(let n=0;n{const t=o.fn(...e);return t&&(t.key=o.key),t}:o.fn)}return e},e.createStaticVNode=function(e,t){const n=Mr(br,null,e);return n.staticCount=t,n},e.createTextVNode=Br,e.createVNode=Mr,e.customRef=function(e){return new Mt(e)},e.defineAsyncComponent=function(e){P(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:i=!0,onError:l}=e;let c,a=null,u=0;const p=()=>{let e;return a||(e=a=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise(((t,n)=>{l(e,(()=>t((u++,a=null,p()))),(()=>n(e)),u+1)}));throw e})).then((t=>e!==a&&a?a:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),c=t,t))))};return Kn({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const e=Kr;if(c)return()=>qn(c,e);const t=t=>{a=null,Dt(t,e,13,!o)};if(i&&e.suspense)return p().then((t=>()=>qn(t,e))).catch((e=>(t(e),()=>o?Mr(o,{error:e}):null)));const l=Ot(!1),u=Ot(),f=Ot(!!r);return r&&setTimeout((()=>{f.value=!1}),r),null!=s&&setTimeout((()=>{if(!l.value&&!u.value){const e=new Error(`Async component timed out after ${s}ms.`);t(e),u.value=e}}),s),p().then((()=>{l.value=!0,e.parent&&Jn(e.parent.vnode)&&Xt(e.parent.update)})).catch((e=>{t(e),u.value=e})),()=>l.value&&c?qn(c,e):u.value&&o?Mr(o,{error:u.value}):n&&!f.value?Mr(n):void 0}})},e.defineComponent=Kn,e.defineCustomElement=Ts,e.defineEmits=function(){return null},e.defineExpose=function(e){},e.defineProps=function(){return null},e.defineSSRCustomElement=e=>Ts(e,Ti),e.effect=function(e,t){e.effect&&(e=e.effect.fn);const n=new me(e);t&&(k(n,t),t.scope&&re(n,t.scope)),t&&t.lazy||n.run();const o=n.run.bind(n);return o.effect=n,o},e.effectScope=function(e){return new oe(e)},e.getCurrentInstance=Gr,e.getCurrentScope=se,e.getTransitionRawChildren=zn,e.guardReactiveProps=Vr,e.h=cs,e.handleError=Dt,e.hydrate=Ti,e.initCustomFormatter=function(){},e.initDirectivesForSSR=Ei,e.inject=On,e.isMemoSame=us,e.isProxy=St,e.isReactive=yt,e.isReadonly=_t,e.isRef=Et,e.isRuntimeOnly=()=>!Yr,e.isShallow=bt,e.isVNode=Or,e.markRaw=Ct,e.mergeDefaults=function(e,t){const n=E(e)?e.reduce(((e,t)=>(e[t]={},e)),{}):e;for(const o in t){const e=n[o];e?E(e)||P(e)?n[o]={type:e,default:t[o]}:e.default=t[o]:null===e&&(n[o]={default:t[o]})}return n},e.mergeProps=Dr,e.nextTick=Qt,e.normalizeClass=c,e.normalizeProps=function(e){if(!e)return null;let{class:t,style:n}=e;return t&&!R(t)&&(e.class=c(t)),n&&(e.style=o(n)),e},e.normalizeStyle=o,e.onActivated=Qn,e.onBeforeMount=io,e.onBeforeUnmount=uo,e.onBeforeUpdate=co,e.onDeactivated=Xn,e.onErrorCaptured=go,e.onMounted=lo,e.onRenderTracked=mo,e.onRenderTriggered=ho,e.onScopeDispose=function(e){ne&&ne.cleanups.push(e)},e.onServerPrefetch=fo,e.onUnmounted=po,e.onUpdated=ao,e.openBlock=Cr,e.popScopeId=function(){dn=null},e.provide=En,e.proxyRefs=$t,e.pushScopeId=function(e){dn=e},e.queuePostFlushCb=tn,e.reactive=ht,e.readonly=gt,e.ref=Ot,e.registerRuntimeCompiler=ts,e.render=wi,e.renderList=function(e,t,n,o){let r;const s=n&&n[o];if(E(e)||R(e)){r=new Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,i=n.length;oe.devtools.emit(t,...n))),cn=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null===(s=null===(r=window.navigator)||void 0===r?void 0:r.userAgent)||void 0===s?void 0:s.includes("jsdom"))){(o.__VUE_DEVTOOLS_HOOK_REPLAY__=o.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((e=>{t(e,o)})),setTimeout((()=>{e.devtools||(o.__VUE_DEVTOOLS_HOOK_REPLAY__=null,cn=[])}),3e3)}else cn=[]},e.setTransitionHooks=Wn,e.shallowReactive=mt,e.shallowReadonly=function(e){return vt(e,!0,je,ct,ft)},e.shallowRef=function(e){return At(e,!0)},e.ssrContextKey=as,e.ssrUtils=null,e.stop=function(e){e.effect.stop()},e.toDisplayString=e=>R(e)?e:null==e?"":E(e)||M(e)&&(e.toString===I||!P(e.toString))?JSON.stringify(e,g,2):String(e),e.toHandlerKey=J,e.toHandlers=function(e,t){const n={};for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:J(o)]=e[o];return n},e.toRaw=xt,e.toRef=It,e.toRefs=function(e){const t=E(e)?new Array(e.length):{};for(const n in e)t[n]=It(e,n);return t},e.transformVNodeArgs=function(e){},e.triggerRef=function(e){Nt(e)},e.unref=Pt,e.useAttrs=function(){return ls().attrs},e.useCssModule=function(e="$style"){return v},e.useCssVars=function(e){const t=Gr();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>As(e,n)))},o=()=>{const o=e(t.proxy);Os(t.subTree,o),n(o)};An(o),lo((()=>{const e=new MutationObserver(o);e.observe(t.subTree.el.parentNode,{childList:!0}),po((()=>e.disconnect()))}))},e.useSSRContext=()=>{},e.useSlots=function(){return ls().slots},e.useTransitionState=In,e.vModelCheckbox=ii,e.vModelDynamic=di,e.vModelRadio=ci,e.vModelSelect=ai,e.vModelText=si,e.vShow=yi,e.version=ps,e.warn=function(e,...t){},e.watch=Pn,e.watchEffect=function(e,t){return Rn(e,null,t)},e.watchPostEffect=An,e.watchSyncEffect=function(e,t){return Rn(e,null,{flush:"sync"})},e.withAsyncContext=function(e){const t=Gr();let n=e();return Jr(),V(n)&&(n=n.catch((e=>{throw qr(t),e}))),[n,()=>qr(t)]},e.withCtx=mn,e.withDefaults=function(e,t){return null},e.withDirectives=function(e,t){const n=fn;if(null===n)return e;const o=rs(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;sn=>{if(!("key"in n))return;const o=G(n.key);return t.some((e=>e===o||vi[e]===o))?e(n):void 0},e.withMemo=function(e,t,n,o){const r=n[o];if(r&&us(r,e))return r;const s=t();return s.memo=e.slice(),n[o]=s},e.withModifiers=(e,t)=>(n,...o)=>{for(let e=0;emn,Object.defineProperty(e,"__esModule",{value:!0}),e}({}); diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/settings/appsettings.Development.json b/be/Web.Gateway/Web.Gateway/wwwroot/settings/appsettings.Development.json new file mode 100644 index 000000000..5f8979a00 --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/settings/appsettings.Development.json @@ -0,0 +1,165 @@ +{ + "AlwaysAllowAuthorization": "False", + "App": { + "CorsOrigins": [ + "http://localhost:59080", + "http://localhost:59081", + "http://localhost:59090", + "http://localhost:59091", + "http://localhost:59093", + "http://localhost:59094", + "http://localhost:59095", + "http://localhost:59096", + "http://localhost:59097", + "http://localhost:59098", + "http://localhost:59099", + "http://localhost:59090", + "http://localhost:59091", + "http://localhost:59093", + "http://localhost:59094", + "http://localhost:59095", + "http://localhost:59096", + "http://localhost:59097", + "http://localhost:59098", + "http://localhost:59099", + "https://localhost:59090", + "https://localhost:59091", + "https://localhost:59093", + "https://localhost:59094", + "https://localhost:59095", + "https://localhost:59096", + "https://localhost:59097", + "https://localhost:59098", + "https://localhost:59099", + "https://localhost:59090", + "https://localhost:59091", + "https://localhost:59093", + "https://localhost:59094", + "https://localhost:59095", + "https://localhost:59096", + "https://localhost:59097", + "https://localhost:59098", + "https://localhost:59099", + "http://localhost:9527" + ] + }, + "AuthServer": { + "Audience": "Auth", + "Authority": "http://localhost:59093/", + "ClientId": "Auth_App", + "ClientSecret": "1q2w3E*", + "RequireHttpsMetadata": "false", + "SwaggerClientId": "Auth_App", + "SwaggerClientSecret": "1q2w3e*", + "UseAuth": "true" + }, + // "ConnectionStrings": { + // "AbpAuditLogging": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpBackgroundJobs": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpBlobStoring": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpFeatureManagement": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpIdentity": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpIdentityServer": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpPermissionManagement": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpSettingManagement": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "AbpTenantManagement": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "Auth": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "Basedata": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "DataExchange": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "FileStorage": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "Inventory": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "Job": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "Label": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "Message": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + // "Store": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;" + // }, + "ConnectionStrings": { + "AbpAuditLogging": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpBackgroundJobs": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpBlobStoring": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpFeatureManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpIdentity": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpIdentityServer": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpPermissionManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpSettingManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpTenantManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Auth": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Basedata": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "DataExchange": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "FileStorage": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Inventory": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Job": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Label": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Message": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Store": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;" + }, + "IdentityClients": { + "Default": { + "Authority": "http://localhost:59093", + "ClientId": "Auth_App", + "ClientSecret": "1q2w3E*", + "GrantType": "client_credentials", + "RequireHttps": "false", + "Scope": "Auth" + } + }, + "IsMultiTenancy": "True", + "Redis": { + "Configuration": "localhost:21194", + "KeyPrefix": "Wms:" + }, + "RemoteServices": { + "Auth": { + "BaseUrl": "http://dev.ccwin-in.com:59093/" + }, + "BaseData": { + "BaseUrl": "http://dev.ccwin-in.com:59094/" + }, + "Default": { + "BaseUrl": "http://dev.ccwin-in.com:59093" + }, + "FileStorage": { + "BaseUrl": "http://dev.ccwin-in.com:59092/" + }, + "Inventory": { + "BaseUrl": "http://dev.ccwin-in.com:59095/" + }, + "Job": { + "BaseUrl": "http://dev.ccwin-in.com:59095/" + }, + "Label": { + "BaseUrl": "http://dev.ccwin-in.com:59092/" + }, + "Message": { + "BaseUrl": "http://dev.ccwin-in.com:59092/" + }, + "Store": { + "BaseUrl": "http://dev.ccwin-in.com:59095/" + } + }, + "Serilog": { + "WriteTo": [ + { + "Args": { + "configure": [ + { + "Args": { + "path": "logs/log.txt", + "retainedFileCountLimit": "30", + "rollingInterval": "Day" + }, + "Name": "File" + } + ] + }, + "Name": "Async" + }, + { + "Args": { + "serverUrl": "http://localhost:5341" + }, + "Name": "Seq" + } + ] + } +} \ No newline at end of file diff --git a/be/Web.Gateway/Web.Gateway/wwwroot/settings/appsettings.json b/be/Web.Gateway/Web.Gateway/wwwroot/settings/appsettings.json new file mode 100644 index 000000000..6dd1cb14f --- /dev/null +++ b/be/Web.Gateway/Web.Gateway/wwwroot/settings/appsettings.json @@ -0,0 +1,154 @@ +{ + //是否绕过权限验证 + "AlwaysAllowAuthorization": "True", + //跨域 + "App": { + "CorsOrigins": [ + "http://localhost:59080", + "http://localhost:59081", + "http://localhost:59090", + "http://localhost:59091", + "http://localhost:59093", + "http://localhost:59094", + "http://localhost:59095", + "http://localhost:59096", + "http://localhost:59097", + "http://localhost:59098", + "http://localhost:59099", + "http://localhost:59090", + "http://localhost:59091", + "http://localhost:59093", + "http://localhost:59094", + "http://localhost:59095", + "http://localhost:59096", + "http://localhost:59097", + "http://localhost:59098", + "http://localhost:59099", + "https://localhost:59090", + "https://localhost:59091", + "https://localhost:59093", + "https://localhost:59094", + "https://localhost:59095", + "https://localhost:59096", + "https://localhost:59097", + "https://localhost:59098", + "https://localhost:59099", + "https://localhost:59090", + "https://localhost:59091", + "https://localhost:59093", + "https://localhost:59094", + "https://localhost:59095", + "https://localhost:59096", + "https://localhost:59097", + "https://localhost:59098", + "https://localhost:59099", + "http://localhost:9527" + ] + }, + //ids4的建权服务端配置 + "AuthServer": { + "Audience": "Auth", + "Authority": "http://localhost:21093/", + "ClientId": "Auth_App", + "ClientSecret": "1q2w3E*", + "RequireHttpsMetadata": "false", + "SwaggerClientId": "Auth_App", + "SwaggerClientSecret": "1q2w3e*", + "UseAuth": "true" + }, + //ids4的建权客户端配置 配置要和服务端对应 + "IdentityClients": { + "Default": { + "Authority": "http://localhost:59093", + "ClientId": "Auth_App", + "ClientSecret": "1q2w3E*", + "GrantType": "client_credentials", + "RequireHttps": "false", + "Scope": "Auth" + } + }, + //数据库连接 + "Database": "SQLServer", + "ConnectionStrings": { + "AbpAuditLogging": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpBackgroundJobs": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpBlobStoring": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpFeatureManagement": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpIdentity": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpIdentityServer": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpPermissionManagement": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpSettingManagement": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "AbpTenantManagement": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Auth": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Basedata": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "DataExchange": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "FileStorage": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Inventory": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Job": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Label": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Message": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;", + "Store": "Server=database,1433;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;" + }, + //多租户 + "IsMultiTenancy": "True", + //缓存服务器 + "Redis": { + "Configuration": "redis:6379", + "KeyPrefix": "Wms:" + }, + //转发地址配置 + "RemoteServices": { + "Auth": { + "BaseUrl": "http://dev.ccwin-in.com:59093/" + }, + "BaseData": { + "BaseUrl": "http://dev.ccwin-in.com:59094/" + }, + "Default": { + "BaseUrl": "http://dev.ccwin-in.com:59093" + }, + "FileStorage": { + "BaseUrl": "http://dev.ccwin-in.com:59092/" + }, + "Inventory": { + "BaseUrl": "http://dev.ccwin-in.com:59095/" + }, + "Job": { + "BaseUrl": "http://dev.ccwin-in.com:59095/" + }, + "Label": { + "BaseUrl": "http://dev.ccwin-in.com:59092/" + }, + "Message": { + "BaseUrl": "http://dev.ccwin-in.com:59092/" + }, + "Store": { + "BaseUrl": "http://dev.ccwin-in.com:59095/" + } + }, + "Serilog": { + "WriteTo": [ + { + "Args": { + "configure": [ + { + "Args": { + "path": "logs/log.txt", + "retainedFileCountLimit": "30", + "rollingInterval": "Day" + }, + "Name": "File" + } + ] + }, + "Name": "Async" + }, + { + "Args": { + "serverUrl": "http://seq:5341" + }, + "Name": "Seq" + } + ] + } +} \ No newline at end of file