From aa3c53272599752035a65aae3fdec0b572787fdd Mon Sep 17 00:00:00 2001 From: "821644@qq.com" <821644@qq.com> Date: Sun, 12 Apr 2026 22:05:03 +0800 Subject: [PATCH] Fix compilation errors and repository duplicate definitions - Fixed duplicate repository definitions by removing separate files and keeping only main definitions - Fixed IRepository SaveAsync method return type to match BaseRepository (Task) - Removed duplicate using statements and resolved type conflicts - Fixed DeviceStatus enum issue in DbContext (changed to string property) - Added missing LogEntry and TagMapping models - Fixed TaskStatus naming conflicts in ScheduledTaskRepository - Resolved duplicate ConversionRule class definition - Fixed CNCDbContext references to use correct model namespaces - Updated CNCBusinessDbContext to include missing TaskExecutionResults DbSet - Build now succeeds with only warnings (no errors) --- DEVELOPMENT_REQUIREMENTS.md | 264 + Haoliang.Api/Haoliang.Api.csproj | 4 +- Haoliang.Api/Middleware/LoggingMiddleware.cs | 1 + Haoliang.Api/Program.cs | 7 + Haoliang.Api/Startup.cs | 94 +- .../Debug/net6.0/Haoliang.Api.assets.cache | Bin 18023 -> 70539 bytes .../obj/Haoliang.Api.csproj.nuget.dgspec.json | 76 +- .../obj/Haoliang.Api.csproj.nuget.g.props | 3 + .../obj/Haoliang.Api.csproj.nuget.g.targets | 6 +- Haoliang.Api/obj/project.assets.json | 8239 ++++++++++++++--- Haoliang.Api/obj/project.nuget.cache | 126 +- Haoliang.Core/Services/AlarmService.cs | 465 + .../Services/BackgroundTaskService.cs | 384 + .../Services/ConsoleLoggerService.cs | 42 + Haoliang.Core/Services/RealTimeService.cs | 728 +- Haoliang.Core/Services/SystemConfigService.cs | 257 + Haoliang.Core/Services/TemplateService.cs | 1006 ++ .../Debug/net6.0/Haoliang.Core.assets.cache | Bin 26592 -> 31785 bytes .../Haoliang.Core.csproj.nuget.dgspec.json | 77 + .../obj/Haoliang.Core.csproj.nuget.g.props | 3 + Haoliang.Core/obj/project.assets.json | 465 +- Haoliang.Core/obj/project.nuget.cache | 17 +- .../Entities/CNCBusinessDbContext.cs | 5 +- Haoliang.Data/Entities/CNCDbContext.cs | 19 +- Haoliang.Data/Haoliang.Data.csproj | 8 +- Haoliang.Data/Repositories/AlarmRepository.cs | 132 - .../Repositories/CollectionLogRepository.cs | 126 - .../Repositories/CollectionRepository.cs | 60 - .../CollectionResultRepository.cs | 216 - .../Repositories/CollectionTaskRepository.cs | 132 - .../Repositories/DeviceRepository.cs | 66 - Haoliang.Data/Repositories/IRepository.cs | 2 +- .../ProgramProductionSummaryRepository.cs | 176 - .../Repositories/ScheduledTaskRepository.cs | 4 +- .../Repositories/SystemConfigRepository.cs | 140 - .../Repositories/SystemRepository.cs | 207 - .../Debug/net6.0/Haoliang.Data.assets.cache | Bin 32351 -> 9786 bytes ...oliang.Data.csproj.AssemblyReference.cache | Bin 78662 -> 87000 bytes ...oliang.Data.csproj.CoreCompileInputs.cache | 2 +- .../Haoliang.Data.csproj.nuget.dgspec.json | 97 +- .../obj/Haoliang.Data.csproj.nuget.g.props | 5 +- .../obj/Haoliang.Data.csproj.nuget.g.targets | 7 +- Haoliang.Data/obj/project.assets.json | 2718 +----- Haoliang.Data/obj/project.nuget.cache | 95 +- .../AdditionalCollectionModels.cs | 211 +- .../DataCollection/CollectionModels.cs | 78 +- Haoliang.Models/Device/CNCDevice.cs | 16 +- .../Production/AdditionalModels.cs | 30 +- .../Production/ProductionRecord.cs | 6 +- Haoliang.Models/System/Enums.cs | 10 +- Haoliang.Models/System/LogEntry.cs | 17 + Haoliang.Models/System/SystemModels.cs | 2 +- Haoliang.Models/System/SystemTypes.cs | 10 +- Haoliang.Models/Template/CNCBrandTemplate.cs | 2 +- Haoliang.Models/Template/TagMapping.cs | 17 + .../bin/Debug/net6.0/Haoliang.Models.dll | Bin 71168 -> 183296 bytes .../bin/Debug/net6.0/Haoliang.Models.pdb | Bin 35212 -> 73260 bytes .../bin/Debug/net6.0/ref/Haoliang.Models.dll | Bin 47616 -> 118272 bytes ...iang.Models.csproj.CoreCompileInputs.cache | 2 +- .../obj/Debug/net6.0/Haoliang.Models.dll | Bin 71168 -> 183296 bytes .../obj/Debug/net6.0/Haoliang.Models.pdb | Bin 35212 -> 73260 bytes .../obj/Debug/net6.0/ref/Haoliang.Models.dll | Bin 47616 -> 118272 bytes Haoliang.Tests/Haoliang.Tests.csproj | 1 - .../Debug/net6.0/Haoliang.Tests.assets.cache | Bin 71886 -> 100246 bytes .../Haoliang.Tests.csproj.nuget.dgspec.json | 56 +- .../obj/Haoliang.Tests.csproj.nuget.g.props | 5 +- .../obj/Haoliang.Tests.csproj.nuget.g.targets | 3 +- Haoliang.Tests/obj/project.assets.json | 3095 +++++-- Haoliang.Tests/obj/project.nuget.cache | 119 +- appsettings.json | 124 + 70 files changed, 13819 insertions(+), 6466 deletions(-) create mode 100644 DEVELOPMENT_REQUIREMENTS.md create mode 100644 Haoliang.Core/Services/BackgroundTaskService.cs create mode 100644 Haoliang.Core/Services/ConsoleLoggerService.cs create mode 100644 Haoliang.Core/Services/SystemConfigService.cs delete mode 100644 Haoliang.Data/Repositories/AlarmRepository.cs delete mode 100644 Haoliang.Data/Repositories/CollectionLogRepository.cs delete mode 100644 Haoliang.Data/Repositories/CollectionResultRepository.cs delete mode 100644 Haoliang.Data/Repositories/CollectionTaskRepository.cs delete mode 100644 Haoliang.Data/Repositories/ProgramProductionSummaryRepository.cs delete mode 100644 Haoliang.Data/Repositories/SystemConfigRepository.cs create mode 100644 Haoliang.Models/System/LogEntry.cs create mode 100644 Haoliang.Models/Template/TagMapping.cs create mode 100644 appsettings.json diff --git a/DEVELOPMENT_REQUIREMENTS.md b/DEVELOPMENT_REQUIREMENTS.md new file mode 100644 index 0000000..98acc9b --- /dev/null +++ b/DEVELOPMENT_REQUIREMENTS.md @@ -0,0 +1,264 @@ +# CNC机床数据采集分析系统 - 开发规范 + +## 🚀 项目概述 + +CNC机床多品牌统一化分布式数据采集分析系统,实现设备状态监控、零件产量自动统计、加工过程分析、人员与设备绑定管理,及BI大屏实时展示。 + +## 📋 技术栈 + +- **Backend**: .NET 6.0 WebApi (IIS部署) +- **Frontend**: Vue.js 管理后台 + BI大屏 +- **Database**: MariaDB 10.6+ (本地部署,双库分离) +- **Real-Time**: SignalR WebSocket +- **Testing**: xUnit + Moq +- **Caching**: Memory Cache + Redis + +## 🏗️ 项目结构 + +``` +src/ +├── Haoliang.Api/ # API接口层 (.NET 6.0) +│ ├── Controllers/ # API控制器 +│ ├── Hubs/ # SignalR Hub +│ ├── Middleware/ # 中间件 +│ └── Filters/ # 过滤器 +├── Haoliang.Core/ # 业务逻辑层 (.NET 6.0) +│ └── Services/ # 业务服务 +├── Haoliang.Data/ # 数据访问层 (.NET 6.0) +│ └── Repositories/ # 数据仓储 +├── Haoliang.Models/ # 数据模型层 (.NET 6.0) +└── Haoliang.Tests/ # 单元测试 (.NET 6.0) +``` + +## 🔧 开发环境要求 + +### 必需组件 +- .NET 6.0 SDK +- Visual Studio 2022 或 VS Code +- MySQL/MariaDB 10.6+ +- Git +- Redis (可选,用于分布式缓存) + +### IDE推荐配置 +- C# Dev Kit 扩展 +- IntelliCode C# 扩展 +- GitLens 扩展 +- Docker 扩展 + +## 📝 代码规范 + +### C# 代码规范 +- 使用 PascalCase 命名空间和类名 +- 使用 camelCase 参数和局部变量 +- 使用 PascalCase 公共方法和属性 +- 使用 _ 前缀表示私有字段 + +### API 设计规范 +- RESTful API 设计 +- 统一响应格式:`{ success, data, message, timestamp }` +- API 版本化:`/api/v1/` +- 状态码:200(成功), 400(客户端错误), 500(服务器错误) + +### 注释规范 +- 使用 XML 文档注释 +- 公共接口必须注释 +- 复杂业务逻辑需要注释 +- 使用英文注释 + +## 🔄 Git 工作流 + +### 强制要求:每次修改必须提交到Git仓库 + +**仓库信息**: +- **仓库地址**: https://git.cjy.net.cn/jcl/haoliang.git +- **用户名**: 821644@qq.com +- **密码**: 123465a + +### 提交规范 + +#### 1. 每次修改完成后必须执行以下步骤: + +```bash +# 1. 查看当前状态 +git status + +# 2. 添加所有修改的文件 +git add . + +# 3. 查看即将提交的变更 +git status + +# 4. 创建提交(根据修改内容选择合适的类型) +git commit -m "类型: 简短描述 + +详细说明(可选)" + +# 5. 推送到远程仓库 +git push origin main +``` + +#### 2. 提交信息规范 + +**提交类型**: +- `feat`: 新功能 +- `fix`: 修复bug +- `docs`: 文档更新 +- `style`: 代码格式调整 +- `refactor`: 代码重构 +- `test`: 测试相关 +- `chore`: 构建或辅助工具变动 + +**示例**: +```bash +git commit -m "feat: 添加生产统计功能 +- 实现OEE计算 +- 添加生产趋势分析 +- 集成实时数据更新" + +git commit -m "fix: 修复设备状态同步问题 +- 解决WebSocket连接异常 +- 优化状态机逻辑" +``` + +#### 3. 分支管理策略 + +**主分支**: +- `main`: 生产环境代码 + +**开发流程**: +```bash +# 创建功能分支 +git checkout -b feature/user-management + +# 开发完成后合并到main +git checkout main +git merge feature/user-management + +# 删除分支 +git branch -d feature/user-management +``` + +## 🧪 测试要求 + +### 单元测试 +- 所有核心服务必须有单元测试 +- 测试覆盖率不低于80% +- 使用 Moq 进行模拟测试 +- 测试文件命名: `[ClassName]Tests.cs` + +### 集成测试 +- API端点必须有集成测试 +- 使用 TestHost 进行测试 +- 测试数据库连接和事务 + +### 测试命令 +```bash +# 运行所有测试 +dotnet test + +# 运行特定测试 +dotnet test --filter "ProductionServiceTests" + +# 生成测试报告 +dotnet test --collect:"XPlat Code Coverage" +``` + +## 🚀 部署要求 + +### 开发环境 +- 使用 Docker Compose 快速启动 +- 配置文件:`docker-compose.yml` +- 数据库迁移:`dotnet ef database update` + +### 生产环境 +- Windows Server 2019+ +- IIS 10.0+ +- .NET 6.0 运行时 +- MariaDB 10.6+ + +### 性能要求 +- 支持100+设备同时采集 +- API响应时间 < 500ms +- WebSocket延迟 < 100ms +- 7×24小时稳定运行 + +## 🔒 安全要求 + +### 认证授权 +- JWT Token 认证 +- 角色基础访问控制(RBAC) +- 密码加密存储 + +### 数据安全 +- 数据库连接字符串加密 +- 敏感信息配置化 +- 审计日志记录 + +### 网络安全 +- HTTPS强制加密 +- CORS跨域配置 +- API限流保护 + +## 📊 监控和日志 + +### 日志级别 +- **Error**: 系统错误和异常 +- **Warning**: 警告和潜在问题 +- **Information**: 重要业务操作 +- **Debug**: 调试信息 + +### 性能监控 +- 使用 Application Insights +- 关键指标监控 +- 告警规则配置 + +## 🔄 代码审查流程 + +1. **开发完成** → 提交到Git +2. **自动构建** → CI/CD流水线 +3. **自动化测试** → 单元测试+集成测试 +4. **代码审查** → 团队成员Review +5. **部署上线** → 生产环境发布 + +## 📚 相关文档 + +- [API接口文档](https://git.cjy.net.cn/jcl/haoliang.git/blob/main/docs/api.md) +- [数据库设计文档](https://git.cjy.net.cn/jcl/haoliang.git/blob/main/docs/database.md) +- [部署运维文档](https://git.cjy.net.cn/jcl/haoliang.git/blob/main/docs/deployment.md) +- [用户操作手册](https://git.cjy.net.cn/jcl/haoliang.git/blob/main/docs/user-manual.md) + +## 🆘 常见问题 + +### Git操作问题 +```bash +# 解决Git认证问题 +git config --global user.name "821644@qq.com" +git config --global user.password "123465a" + +# 清理Git缓存 +git rm -r --cached . +git add . +``` + +### 构建问题 +```bash +# 清理解决方案 +dotnet clean +dotnet restore + +# 重新生成项目文件 +dotnet build --force +``` + +### 数据库问题 +```bash +# 更新数据库迁移 +dotnet ef database update + +# 创建新的迁移 +dotnet ef migrations add MigrationName +``` + +--- + +**注意**: 本文档将随着项目发展持续更新,请定期查看最新版本。 \ No newline at end of file diff --git a/Haoliang.Api/Haoliang.Api.csproj b/Haoliang.Api/Haoliang.Api.csproj index 78da64e..1ad916c 100644 --- a/Haoliang.Api/Haoliang.Api.csproj +++ b/Haoliang.Api/Haoliang.Api.csproj @@ -21,12 +21,12 @@ - + - + diff --git a/Haoliang.Api/Middleware/LoggingMiddleware.cs b/Haoliang.Api/Middleware/LoggingMiddleware.cs index d766cc9..540c275 100644 --- a/Haoliang.Api/Middleware/LoggingMiddleware.cs +++ b/Haoliang.Api/Middleware/LoggingMiddleware.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Text; using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; diff --git a/Haoliang.Api/Program.cs b/Haoliang.Api/Program.cs index 943323a..daf5ad2 100644 --- a/Haoliang.Api/Program.cs +++ b/Haoliang.Api/Program.cs @@ -1,6 +1,8 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using Serilog; +using Serilog.Events; using System; using System.Collections.Generic; using System.IO; @@ -19,6 +21,11 @@ namespace Haoliang.Api public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) + .UseSerilog((context, services, configuration) => configuration + .ReadFrom.Configuration(context.Configuration) + .Enrich.FromLogContext() + .WriteTo.Console() + .WriteTo.File("logs/app.log", rollingInterval: RollingInterval.Day)) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); diff --git a/Haoliang.Api/Startup.cs b/Haoliang.Api/Startup.cs index 820df8c..d3076af 100644 --- a/Haoliang.Api/Startup.cs +++ b/Haoliang.Api/Startup.cs @@ -6,12 +6,16 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using Pomelo.EntityFrameworkCore.MySql; using Haoliang.Core.Services; using Haoliang.Api.Middleware; +using Haoliang.Data.Entities; +using Haoliang.Data.Repositories; namespace Haoliang.Api { @@ -81,8 +85,50 @@ namespace Haoliang.Api { // 配置数据库连接 var connectionString = Configuration.GetConnectionString("DefaultConnection"); - services.AddDbContext(options => - options.UseSqlServer(connectionString)); + var businessConnectionString = Configuration.GetConnectionString("BusinessDbConnection"); + + // 业务数据库配置 + if (!string.IsNullOrEmpty(businessConnectionString)) + { + services.AddDbContext(options => + options.UseMySql(businessConnectionString, + ServerVersion.AutoDetect(businessConnectionString), + mysqlOptions => mysqlOptions.EnableRetryOnFailure( + maxRetryCount: 3, + maxRetryDelay: TimeSpan.FromSeconds(30), + errorNumbersToAdd: null))); + } + + // 日志数据库配置 + var logConnectionString = Configuration.GetConnectionString("LogDbConnection"); + if (!string.IsNullOrEmpty(logConnectionString)) + { + services.AddDbContext(options => + options.UseMySql(logConnectionString, + ServerVersion.AutoDetect(logConnectionString), + mysqlOptions => mysqlOptions.EnableRetryOnFailure( + maxRetryCount: 3, + maxRetryDelay: TimeSpan.FromSeconds(30), + errorNumbersToAdd: null))); + } + + // 注册主要数据库上下文(用于业务操作) + services.AddDbContext(options => + options.UseMySql(connectionString, + ServerVersion.AutoDetect(connectionString), + mysqlOptions => mysqlOptions.EnableRetryOnFailure( + maxRetryCount: 3, + maxRetryDelay: TimeSpan.FromSeconds(30), + errorNumbersToAdd: null))); + + // 配置数据库连接池 + services.AddDbContextPool(options => + options.UseMySql(connectionString, + ServerVersion.AutoDetect(connectionString), + mysqlOptions => mysqlOptions.EnableRetryOnFailure( + maxRetryCount: 3, + maxRetryDelay: TimeSpan.FromSeconds(30), + errorNumbersToAdd: null))); // 配置内存缓存 services.AddMemoryCache(); @@ -97,34 +143,60 @@ namespace Haoliang.Api // 注册服务 services.AddScoped(); services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddScoped(); - services.AddScoped(); - services.AddScoped(); - services.AddScoped(); - services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddScoped(); - services.AddScoped(); services.AddScoped(); services.AddScoped(); // 注册配置服务 services.AddScoped(); + services.AddScoped(); + + // 注册中间件服务 + services.AddScoped(); + + // 注册后台任务服务 + services.AddHostedService(); // 注册仓储 services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddScoped(); - services.AddScoped(); - services.AddScoped(); + services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); services.AddScoped(); - services.AddScoped(); - services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + + // 注册设备状态相关仓储 + services.AddScoped(); + + // 注册Ping服务 + services.AddScoped(); + + // 注册数据解析和存储服务 + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); // 注册SignalR Hub services.AddSingleton(); diff --git a/Haoliang.Api/obj/Debug/net6.0/Haoliang.Api.assets.cache b/Haoliang.Api/obj/Debug/net6.0/Haoliang.Api.assets.cache index 2c101fe8184c15fc82d822e8f28ea46a2d83833b..31fbef23d298c2f3c2a98e0d972d91b18a5f9e01 100644 GIT binary patch literal 70539 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%0DB|AmY;bfHg%KP_3BsD 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 literal 18023 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 J)+vYBe*xwS+Mxgd diff --git a/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.dgspec.json b/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.dgspec.json index 6b3adca..b007a06 100644 --- a/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.dgspec.json +++ b/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.dgspec.json @@ -56,6 +56,14 @@ "target": "Package", "version": "[6.0.0, )" }, + "Microsoft.AspNetCore.SignalR": { + "target": "Package", + "version": "[1.1.0, )" + }, + "Microsoft.AspNetCore.SignalR.Protocols.MessagePack": { + "target": "Package", + "version": "[1.1.0, )" + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -68,13 +76,37 @@ "target": "Package", "version": "[7.0.2, )" }, + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[7.0.0, )" + }, + "Microsoft.Extensions.Caching.StackExchangeRedis": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Moq": { + "target": "Package", + "version": "[4.20.69, )" + }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", "version": "[7.0.0, )" }, + "StackExchange.Redis": { + "target": "Package", + "version": "[2.6.122, )" + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[6.5.0, )" + }, + "Xunit.DependencyInjection": { + "target": "Package", + "version": "[7.7.0, )" + }, + "xunit": { + "target": "Package", + "version": "[2.6.1, )" } }, "imports": [ @@ -121,6 +153,9 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { + "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj": { + "projectPath": "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj" + }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } @@ -136,6 +171,36 @@ "frameworks": { "net6.0": { "targetAlias": "net6.0", + "dependencies": { + "BCrypt.Net-Next": { + "target": "Package", + "version": "[4.0.3, )" + }, + "Microsoft.AspNetCore.Http.Abstractions": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.SignalR": { + "target": "Package", + "version": "[1.1.0, )" + }, + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Microsoft.Extensions.Logging.Abstractions": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Microsoft.IdentityModel.Tokens": { + "target": "Package", + "version": "[6.26.0, )" + }, + "System.IdentityModel.Tokens.Jwt": { + "target": "Package", + "version": "[6.26.0, )" + } + }, "imports": [ "net461", "net462", @@ -177,9 +242,6 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj": { - "projectPath": "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj" - }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } @@ -198,19 +260,19 @@ "dependencies": { "Microsoft.EntityFrameworkCore": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Design": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Tools": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", - "version": "[7.0.0, )" + "version": "[6.0.0, )" } }, "imports": [ diff --git a/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.props b/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.props index 05a849d..b400a2d 100644 --- a/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.props +++ b/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.props @@ -13,12 +13,15 @@ + + /root/.nuget/packages/xunit.dependencyinjection/7.7.0 + /root/.nuget/packages/xunit.analyzers/1.4.0 /root/.nuget/packages/microsoft.extensions.apidescription.server/6.0.5 /root/.nuget/packages/microsoft.entityframeworkcore.tools/7.0.2 diff --git a/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.targets b/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.targets index 7d031bf..700965e 100644 --- a/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.targets +++ b/Haoliang.Api/obj/Haoliang.Api.csproj.nuget.g.targets @@ -1,9 +1,11 @@  - - + + + + \ No newline at end of file diff --git a/Haoliang.Api/obj/project.assets.json b/Haoliang.Api/obj/project.assets.json index 9726e89..db9081a 100644 --- a/Haoliang.Api/obj/project.assets.json +++ b/Haoliang.Api/obj/project.assets.json @@ -2,6 +2,27 @@ "version": 3, "targets": { "net6.0": { + "BCrypt.Net-Next/4.0.3": { + "type": "package", + "compile": { + "lib/net6.0/BCrypt.Net-Next.dll": {} + }, + "runtime": { + "lib/net6.0/BCrypt.Net-Next.dll": {} + } + }, + "Castle.Core/5.1.1": { + "type": "package", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + }, + "compile": { + "lib/net6.0/Castle.Core.dll": {} + }, + "runtime": { + "lib/net6.0/Castle.Core.dll": {} + } + }, "Humanizer.Core/2.14.1": { "type": "package", "compile": { @@ -11,6 +32,75 @@ "lib/net6.0/Humanizer.dll": {} } }, + "MessagePack/1.7.3.4": { + "type": "package", + "dependencies": { + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0", + "System.ValueTuple": "4.3.0" + }, + "compile": { + "lib/netstandard2.0/MessagePack.dll": {} + }, + "runtime": { + "lib/netstandard2.0/MessagePack.dll": {} + } + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": {} + } + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": {} + } + }, + "Microsoft.AspNetCore.Connections.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.IO.Pipelines": "4.5.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + } + }, "Microsoft.AspNetCore.Cors/2.3.0": { "type": "package", "dependencies": { @@ -27,6 +117,49 @@ "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll": {} } }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": {} + } + }, "Microsoft.AspNetCore.Http.Abstractions/2.3.0": { "type": "package", "dependencies": { @@ -40,6 +173,39 @@ "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {} } }, + "Microsoft.AspNetCore.Http.Connections/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Connections.Common": "1.1.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.WebSockets": "2.2.0", + "Newtonsoft.Json": "11.0.2", + "System.Security.Principal.Windows": "4.5.0" + }, + "compile": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll": {} + }, + "runtime": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Connections.Common/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "2.2.0", + "Newtonsoft.Json": "11.0.2", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + } + }, "Microsoft.AspNetCore.Http.Extensions/2.3.0": { "type": "package", "dependencies": { @@ -97,6 +263,134 @@ "Microsoft.AspNetCore.App" ] }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": {} + }, + "runtime": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": {} + } + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Connections": "1.1.0", + "Microsoft.AspNetCore.SignalR.Core": "1.1.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Common/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Newtonsoft.Json": "11.0.2", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll": {} + }, + "runtime": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Core/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authorization": "2.2.0", + "Microsoft.AspNetCore.SignalR.Common": "1.1.0", + "Microsoft.AspNetCore.SignalR.Protocols.Json": "1.1.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "System.Reflection.Emit": "4.3.0", + "System.Threading.Channels": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.SignalR.Common": "1.1.0", + "Newtonsoft.Json": "11.0.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Protocols.MessagePack/1.1.0": { + "type": "package", + "dependencies": { + "MessagePack": "1.7.3.4", + "Microsoft.AspNetCore.SignalR.Common": "1.1.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.dll": {} + } + }, + "Microsoft.AspNetCore.WebSockets/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Net.WebSockets.WebSocketProtocol": "4.5.1" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll": {} + } + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": {} + } + }, "Microsoft.CSharp/4.7.0": { "type": "package", "compile": { @@ -231,6 +525,32 @@ "buildTransitive/net6.0/_._": {} } }, + "Microsoft.Extensions.Caching.StackExchangeRedis/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "StackExchange.Redis": "2.2.4" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll": {} + } + }, + "Microsoft.Extensions.Configuration/2.1.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.1.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} + } + }, "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { "type": "package", "dependencies": { @@ -304,6 +624,59 @@ "buildTransitive/net6.0/_._": {} } }, + "Microsoft.Extensions.FileProviders.Physical/2.1.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.1.0", + "Microsoft.Extensions.FileSystemGlobbing": "2.1.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + } + }, + "Microsoft.Extensions.FileSystemGlobbing/2.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} + } + }, + "Microsoft.Extensions.Hosting/2.1.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "2.1.0", + "Microsoft.Extensions.DependencyInjection": "2.1.0", + "Microsoft.Extensions.FileProviders.Physical": "2.1.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.1.0", + "Microsoft.Extensions.Logging": "2.1.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.dll": {} + } + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": {} + } + }, "Microsoft.Extensions.Logging/7.0.0": { "type": "package", "dependencies": { @@ -338,6 +711,15 @@ "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} } }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": {} + } + }, "Microsoft.Extensions.Options/8.0.2": { "type": "package", "dependencies": { @@ -369,71 +751,223 @@ "buildTransitive/net6.0/_._": {} } }, - "Microsoft.Net.Http.Headers/2.3.0": { + "Microsoft.IdentityModel.Abstractions/6.26.0": { "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0", - "System.Buffers": "4.6.0" - }, "compile": { - "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} + "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {} }, "runtime": { - "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} + "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {} } }, - "Microsoft.OpenApi/1.2.3": { + "Microsoft.IdentityModel.JsonWebTokens/6.26.0": { "type": "package", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.26.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, "compile": { - "lib/netstandard2.0/Microsoft.OpenApi.dll": {} + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} }, "runtime": { - "lib/netstandard2.0/Microsoft.OpenApi.dll": {} + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} } }, - "Mono.TextTemplating/2.2.1": { + "Microsoft.IdentityModel.Logging/6.26.0": { "type": "package", "dependencies": { - "System.CodeDom": "4.4.0" + "Microsoft.IdentityModel.Abstractions": "6.26.0" }, "compile": { - "lib/netstandard2.0/Mono.TextTemplating.dll": {} + "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {} }, "runtime": { - "lib/netstandard2.0/Mono.TextTemplating.dll": {} + "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {} } }, - "MySqlConnector/2.2.5": { + "Microsoft.IdentityModel.Tokens/6.26.0": { "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.26.0", + "System.Security.Cryptography.Cng": "4.5.0" + }, "compile": { - "lib/net6.0/MySqlConnector.dll": {} + "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {} }, "runtime": { - "lib/net6.0/MySqlConnector.dll": {} + "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {} } }, - "Newtonsoft.Json/13.0.1": { + "Microsoft.Net.Http.Headers/2.3.0": { "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0", + "System.Buffers": "4.6.0" + }, "compile": { - "lib/netstandard2.0/Newtonsoft.Json.dll": {} + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} }, "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": {} + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} } }, - "Newtonsoft.Json.Bson/1.0.2": { + "Microsoft.NETCore.Platforms/2.0.0": { "type": "package", - "dependencies": { - "Newtonsoft.Json": "12.0.1" - }, "compile": { - "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {} + "lib/netstandard1.0/_._": {} }, "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {} + "lib/netstandard1.0/_._": {} } }, - "Pomelo.EntityFrameworkCore.MySql/7.0.0": { + "Microsoft.NETCore.Targets/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "Microsoft.OpenApi/1.2.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": {} + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/Microsoft.Win32.Primitives.dll": {} + } + }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "dependencies": { + "System.CodeDom": "4.4.0" + }, + "compile": { + "lib/netstandard2.0/Mono.TextTemplating.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Mono.TextTemplating.dll": {} + } + }, + "Moq/4.20.69": { + "type": "package", + "dependencies": { + "Castle.Core": "5.1.1" + }, + "compile": { + "lib/net6.0/Moq.dll": {} + }, + "runtime": { + "lib/net6.0/Moq.dll": {} + } + }, + "MySqlConnector/2.2.5": { + "type": "package", + "compile": { + "lib/net6.0/MySqlConnector.dll": {} + }, + "runtime": { + "lib/net6.0/MySqlConnector.dll": {} + } + }, + "NETStandard.Library/1.6.1": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.Compression.ZipFile": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Net.Http": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Sockets": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + } + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": {} + } + }, + "Newtonsoft.Json.Bson/1.0.2": { + "type": "package", + "dependencies": { + "Newtonsoft.Json": "12.0.1" + }, + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {} + } + }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "type": "package", + "dependencies": { + "System.IO.Pipelines": "5.0.1" + }, + "compile": { + "lib/net5.0/Pipelines.Sockets.Unofficial.dll": {} + }, + "runtime": { + "lib/net5.0/Pipelines.Sockets.Unofficial.dll": {} + } + }, + "Pomelo.EntityFrameworkCore.MySql/7.0.0": { "type": "package", "dependencies": { "Microsoft.EntityFrameworkCore.Relational": "7.0.2", @@ -446,6 +980,189 @@ "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} } }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/debian.8-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "debian.8-x64" + } + } + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/fedora.23-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "fedora.23-x64" + } + } + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/fedora.24-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "fedora.24-x64" + } + } + }, + "runtime.native.System/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.IO.Compression/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/opensuse.13.2-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "opensuse.13.2-x64" + } + } + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/opensuse.42.1-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "opensuse.42.1-x64" + } + } + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.Apple.dylib": { + "assetType": "native", + "rid": "osx.10.10-x64" + } + } + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.OpenSsl.dylib": { + "assetType": "native", + "rid": "osx.10.10-x64" + } + } + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/rhel.7-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "rhel.7-x64" + } + } + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/ubuntu.14.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "ubuntu.14.04-x64" + } + } + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/ubuntu.16.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "ubuntu.16.04-x64" + } + } + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/ubuntu.16.10-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "ubuntu.16.10-x64" + } + } + }, + "StackExchange.Redis/2.6.122": { + "type": "package", + "dependencies": { + "Pipelines.Sockets.Unofficial": "2.2.8" + }, + "compile": { + "lib/net6.0/StackExchange.Redis.dll": {} + }, + "runtime": { + "lib/net6.0/StackExchange.Redis.dll": {} + } + }, "Swashbuckle.AspNetCore/6.5.0": { "type": "package", "dependencies": { @@ -497,6 +1214,18 @@ "Microsoft.AspNetCore.App" ] }, + "System.AppContext/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.AppContext.dll": {} + }, + "runtime": { + "lib/netstandard1.6/System.AppContext.dll": {} + } + }, "System.Buffers/4.6.0": { "type": "package", "compile": { @@ -515,295 +1244,1697 @@ "lib/netstandard2.0/System.CodeDom.dll": {} } }, - "System.Diagnostics.DiagnosticSource/8.0.1": { + "System.Collections/4.3.0": { "type": "package", "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" }, "compile": { - "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} - }, - "runtime": { - "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} + "ref/netstandard1.3/System.Collections.dll": {} } }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "System.Collections.Concurrent/4.3.0": { "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, "compile": { - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} + "ref/netstandard1.3/System.Collections.Concurrent.dll": {} }, "runtime": { - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} + "lib/netstandard1.3/System.Collections.Concurrent.dll": {} + } + }, + "System.Console/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" }, - "build": { - "buildTransitive/netcoreapp3.1/_._": {} + "compile": { + "ref/netstandard1.3/System.Console.dll": {} } }, - "System.Text.Encodings.Web/8.0.0": { + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Diagnostics.Debug.dll": {} + } + }, + "System.Diagnostics.DiagnosticSource/8.0.1": { "type": "package", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" }, "compile": { - "lib/net6.0/System.Text.Encodings.Web.dll": {} + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} }, "runtime": { - "lib/net6.0/System.Text.Encodings.Web.dll": {} + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} }, "build": { "buildTransitive/net6.0/_._": {} + } + }, + "System.Diagnostics.EventLog/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Diagnostics.EventLog.dll": {} + }, + "runtime": { + "lib/net6.0/System.Diagnostics.EventLog.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} }, "runtimeTargets": { - "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": { + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.Messages.dll": { "assetType": "runtime", - "rid": "browser" + "rid": "win" + }, + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.dll": { + "assetType": "runtime", + "rid": "win" } } }, - "System.Text.Json/7.0.0": { + "System.Diagnostics.Tools/4.3.0": { "type": "package", "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "7.0.0" + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" }, "compile": { - "lib/net6.0/System.Text.Json.dll": {} - }, - "runtime": { - "lib/net6.0/System.Text.Json.dll": {} - }, - "build": { - "buildTransitive/net6.0/System.Text.Json.targets": {} + "ref/netstandard1.0/System.Diagnostics.Tools.dll": {} } }, - "Haoliang.Core/1.0.0": { - "type": "project", - "framework": ".NETCoreApp,Version=v6.0", + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", "dependencies": { - "Haoliang.Models": "1.0.0" + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" }, "compile": { - "bin/placeholder/Haoliang.Core.dll": {} + "ref/netstandard1.5/System.Diagnostics.Tracing.dll": {} + } + }, + "System.Globalization/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Globalization.dll": {} + } + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Globalization.Calendars.dll": {} + } + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.IdentityModel.Tokens.Jwt/6.26.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.26.0", + "Microsoft.IdentityModel.Tokens": "6.26.0" + }, + "compile": { + "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {} }, "runtime": { - "bin/placeholder/Haoliang.Core.dll": {} + "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {} } }, - "Haoliang.Data/1.0.0": { - "type": "project", - "framework": ".NETCoreApp,Version=v6.0", + "System.IO/4.3.0": { + "type": "package", "dependencies": { - "Haoliang.Core": "1.0.0", - "Haoliang.Models": "1.0.0", - "Microsoft.EntityFrameworkCore": "7.0.2", - "Microsoft.EntityFrameworkCore.Design": "7.0.2", - "Microsoft.EntityFrameworkCore.Tools": "7.0.2", - "Pomelo.EntityFrameworkCore.MySql": "7.0.0" + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" }, "compile": { - "bin/placeholder/Haoliang.Data.dll": {} + "ref/netstandard1.5/System.IO.dll": {} + } + }, + "System.IO.Compression/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.IO.Compression.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.IO.Compression.ZipFile/4.3.0": { + "type": "package", + "dependencies": { + "System.Buffers": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.IO.Compression.ZipFile.dll": {} }, "runtime": { - "bin/placeholder/Haoliang.Data.dll": {} + "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": {} } }, - "Haoliang.Models/1.0.0": { - "type": "project", - "framework": ".NETCoreApp,Version=v6.0", + "System.IO.FileSystem/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, "compile": { - "bin/placeholder/Haoliang.Models.dll": {} + "ref/netstandard1.3/System.IO.FileSystem.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} }, "runtime": { - "bin/placeholder/Haoliang.Models.dll": {} + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} } - } - } - }, - "libraries": { - "Humanizer.Core/2.14.1": { - "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", - "type": "package", - "path": "humanizer.core/2.14.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "humanizer.core.2.14.1.nupkg.sha512", - "humanizer.core.nuspec", - "lib/net6.0/Humanizer.dll", - "lib/net6.0/Humanizer.xml", - "lib/netstandard1.0/Humanizer.dll", - "lib/netstandard1.0/Humanizer.xml", - "lib/netstandard2.0/Humanizer.dll", - "lib/netstandard2.0/Humanizer.xml", - "logo.png" - ] - }, - "Microsoft.AspNetCore.Cors/2.3.0": { - "sha512": "AVVAOi4oGar9+7pFYGWw5NeD8qITe+lswIawJJ64zuLpU5YYdW90ALM8XDsYjEulNLziM3qgqjoLaWpr9Ic4vQ==", - "type": "package", - "path": "microsoft.aspnetcore.cors/2.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Cors.xml", - "microsoft.aspnetcore.cors.2.3.0.nupkg.sha512", - "microsoft.aspnetcore.cors.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Abstractions/2.3.0": { - "sha512": "39r9PPrjA6s0blyFv5qarckjNkaHRA5B+3b53ybuGGNTXEj1/DStQJ4NWjFL6QTRQpL9zt7nDyKxZdJOlcnq+Q==", - "type": "package", - "path": "microsoft.aspnetcore.http.abstractions/2.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.xml", - "microsoft.aspnetcore.http.abstractions.2.3.0.nupkg.sha512", - "microsoft.aspnetcore.http.abstractions.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Extensions/2.3.0": { - "sha512": "EY2u/wFF5jsYwGXXswfQWrSsFPmiXsniAlUWo3rv/MGYf99ZFsENDnZcQP6W3c/+xQmQXq0NauzQ7jyy+o1LDQ==", - "type": "package", - "path": "microsoft.aspnetcore.http.extensions/2.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.xml", - "microsoft.aspnetcore.http.extensions.2.3.0.nupkg.sha512", - "microsoft.aspnetcore.http.extensions.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Features/2.3.0": { - "sha512": "f10WUgcsKqrkmnz6gt8HeZ7kyKjYN30PO7cSic1lPtH7paPtnQqXPOveul/SIPI43PhRD4trttg4ywnrEmmJpA==", - "type": "package", - "path": "microsoft.aspnetcore.http.features/2.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.xml", - "microsoft.aspnetcore.http.features.2.3.0.nupkg.sha512", - "microsoft.aspnetcore.http.features.nuspec" - ] - }, - "Microsoft.AspNetCore.JsonPatch/6.0.0": { - "sha512": "SUiwg0XQ5NtmnELHXSdX4mAwawFnAOwSx2Zz6NIhQnEN1tZDoAWEHc8dS/S7y8cE52+9bHj+XbYZuLGF7OrQPA==", - "type": "package", - "path": "microsoft.aspnetcore.jsonpatch/6.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.AspNetCore.JsonPatch.dll", - "lib/net461/Microsoft.AspNetCore.JsonPatch.xml", - "lib/net6.0/Microsoft.AspNetCore.JsonPatch.dll", - "lib/net6.0/Microsoft.AspNetCore.JsonPatch.xml", - "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.xml", - "microsoft.aspnetcore.jsonpatch.6.0.0.nupkg.sha512", - "microsoft.aspnetcore.jsonpatch.nuspec" - ] - }, - "Microsoft.AspNetCore.Mvc.NewtonsoftJson/6.0.0": { - "sha512": "YMwSWgBuwkVn9k4/2wWxfwEbx8T5Utj13UH/zmUm5lbkKcY+tJyt9w9P4rY5pO1XtCitoh1+L+Feqz9qxG/CvA==", - "type": "package", - "path": "microsoft.aspnetcore.mvc.newtonsoftjson/6.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "THIRD-PARTY-NOTICES.TXT", - "lib/net6.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll", - "lib/net6.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.xml", - "microsoft.aspnetcore.mvc.newtonsoftjson.6.0.0.nupkg.sha512", - "microsoft.aspnetcore.mvc.newtonsoftjson.nuspec" - ] - }, - "Microsoft.CSharp/4.7.0": { - "sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", - "type": "package", - "path": "microsoft.csharp/4.7.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/Microsoft.CSharp.dll", - "lib/netcoreapp2.0/_._", - "lib/netstandard1.3/Microsoft.CSharp.dll", - "lib/netstandard2.0/Microsoft.CSharp.dll", - "lib/netstandard2.0/Microsoft.CSharp.xml", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/uap10.0.16299/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "microsoft.csharp.4.7.0.nupkg.sha512", - "microsoft.csharp.nuspec", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/Microsoft.CSharp.dll", - "ref/netcore50/Microsoft.CSharp.xml", - "ref/netcore50/de/Microsoft.CSharp.xml", - "ref/netcore50/es/Microsoft.CSharp.xml", - "ref/netcore50/fr/Microsoft.CSharp.xml", - "ref/netcore50/it/Microsoft.CSharp.xml", - "ref/netcore50/ja/Microsoft.CSharp.xml", - "ref/netcore50/ko/Microsoft.CSharp.xml", - "ref/netcore50/ru/Microsoft.CSharp.xml", - "ref/netcore50/zh-hans/Microsoft.CSharp.xml", - "ref/netcore50/zh-hant/Microsoft.CSharp.xml", - "ref/netcoreapp2.0/_._", - "ref/netstandard1.0/Microsoft.CSharp.dll", - "ref/netstandard1.0/Microsoft.CSharp.xml", - "ref/netstandard1.0/de/Microsoft.CSharp.xml", - "ref/netstandard1.0/es/Microsoft.CSharp.xml", - "ref/netstandard1.0/fr/Microsoft.CSharp.xml", - "ref/netstandard1.0/it/Microsoft.CSharp.xml", - "ref/netstandard1.0/ja/Microsoft.CSharp.xml", - "ref/netstandard1.0/ko/Microsoft.CSharp.xml", - "ref/netstandard1.0/ru/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", - "ref/netstandard2.0/Microsoft.CSharp.dll", - "ref/netstandard2.0/Microsoft.CSharp.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/uap10.0.16299/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.EntityFrameworkCore/7.0.2": { - "sha512": "5QEspjTHk/cgM98AaB12mDXF7jlInlYhG0gxS6X8ZJ2rzmyIAsvYNEwoOUifd/gt5v5HblYClYfZ9YYIEjSkew==", - "type": "package", - "path": "microsoft.entityframeworkcore/7.0.2", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", + }, + "System.IO.Pipelines/5.0.1": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/System.IO.Pipelines.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/System.IO.Pipelines.dll": {} + } + }, + "System.Linq/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Linq.dll": {} + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": {} + } + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Linq.Expressions.dll": {} + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": {} + } + }, + "System.Net.Http/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.DiagnosticSource": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Net.Http.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.6/System.Net.Http.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Net.Http.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Net.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Net.Primitives.dll": {} + } + }, + "System.Net.Sockets/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Net.Sockets.dll": {} + } + }, + "System.Net.WebSockets.WebSocketProtocol/4.5.1": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll": {} + }, + "runtime": { + "lib/netcoreapp2.1/System.Net.WebSockets.WebSocketProtocol.dll": {} + } + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.ObjectModel.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": {} + } + }, + "System.Reflection/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.Reflection.dll": {} + } + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.1/System.Reflection.Emit.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": {} + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": {} + } + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Extensions.dll": {} + } + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Primitives.dll": {} + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/_._": {} + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": {} + } + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "ref/netstandard1.5/System.Runtime.dll": {} + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "compile": { + "ref/netcoreapp1.1/System.Runtime.InteropServices.dll": {} + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + }, + "compile": { + "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} + }, + "runtime": { + "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.1/System.Runtime.Numerics.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": {} + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll": {} + }, + "runtimeTargets": { + "runtimes/osx/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { + "assetType": "runtime", + "rid": "osx" + }, + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Cng/4.5.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll": {} + }, + "runtime": { + "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": {} + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/_._": {} + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assetType": "runtime", + "rid": "unix" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Principal.Windows/4.5.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "2.0.0" + }, + "compile": { + "ref/netstandard2.0/System.Security.Principal.Windows.dll": {} + }, + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Text.Encodings.Web.dll": {} + }, + "runtime": { + "lib/net6.0/System.Text.Encodings.Web.dll": {} + }, + "build": { + "buildTransitive/net6.0/_._": {} + }, + "runtimeTargets": { + "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": { + "assetType": "runtime", + "rid": "browser" + } + } + }, + "System.Text.Json/7.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "7.0.0" + }, + "compile": { + "lib/net6.0/System.Text.Json.dll": {} + }, + "runtime": { + "lib/net6.0/System.Text.Json.dll": {} + }, + "build": { + "buildTransitive/net6.0/System.Text.Json.targets": {} + } + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netcoreapp1.1/System.Text.RegularExpressions.dll": {} + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": {} + } + }, + "System.Threading/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Threading.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": {} + } + }, + "System.Threading.Channels/4.5.0": { + "type": "package", + "compile": { + "lib/netcoreapp2.1/System.Threading.Channels.dll": {} + }, + "runtime": { + "lib/netcoreapp2.1/System.Threading.Channels.dll": {} + } + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Threading.Tasks.dll": {} + } + }, + "System.Threading.Tasks.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} + }, + "runtime": { + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} + } + }, + "System.Threading.Timer/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.2/System.Threading.Timer.dll": {} + } + }, + "System.ValueTuple/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "lib/netstandard1.0/System.ValueTuple.dll": {} + }, + "runtime": { + "lib/netstandard1.0/System.ValueTuple.dll": {} + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Xml.ReaderWriter.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} + } + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Xml.XDocument.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": {} + } + }, + "xunit/2.6.1": { + "type": "package", + "dependencies": { + "xunit.analyzers": "1.4.0", + "xunit.assert": "2.6.1", + "xunit.core": "[2.6.1]" + } + }, + "xunit.abstractions/2.0.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/xunit.abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/xunit.abstractions.dll": {} + } + }, + "xunit.analyzers/1.4.0": { + "type": "package" + }, + "xunit.assert/2.6.1": { + "type": "package", + "compile": { + "lib/net6.0/xunit.assert.dll": {} + }, + "runtime": { + "lib/net6.0/xunit.assert.dll": {} + } + }, + "xunit.core/2.6.1": { + "type": "package", + "dependencies": { + "xunit.extensibility.core": "[2.6.1]", + "xunit.extensibility.execution": "[2.6.1]" + }, + "build": { + "build/xunit.core.props": {}, + "build/xunit.core.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/xunit.core.props": {}, + "buildMultiTargeting/xunit.core.targets": {} + } + }, + "Xunit.DependencyInjection/7.7.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Hosting": "2.1.0", + "xunit.extensibility.execution": "[2.2.0, 3.0.0)" + }, + "compile": { + "lib/netstandard2.0/Xunit.DependencyInjection.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Xunit.DependencyInjection.dll": {} + }, + "build": { + "buildTransitive/netstandard2.0/Xunit.DependencyInjection.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Xunit.DependencyInjection.targets": {} + } + }, + "xunit.extensibility.core/2.6.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + }, + "compile": { + "lib/netstandard1.1/xunit.core.dll": {} + }, + "runtime": { + "lib/netstandard1.1/xunit.core.dll": {} + } + }, + "xunit.extensibility.execution/2.6.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.6.1]" + }, + "compile": { + "lib/netstandard1.1/xunit.execution.dotnet.dll": {} + }, + "runtime": { + "lib/netstandard1.1/xunit.execution.dotnet.dll": {} + } + }, + "Haoliang.Core/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "dependencies": { + "BCrypt.Net-Next": "4.0.3", + "Haoliang.Data": "1.0.0", + "Haoliang.Models": "1.0.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.SignalR": "1.1.0", + "Microsoft.Extensions.Caching.Memory": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.IdentityModel.Tokens": "6.26.0", + "System.IdentityModel.Tokens.Jwt": "6.26.0" + }, + "compile": { + "bin/placeholder/Haoliang.Core.dll": {} + }, + "runtime": { + "bin/placeholder/Haoliang.Core.dll": {} + } + }, + "Haoliang.Data/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "dependencies": { + "Haoliang.Models": "1.0.0", + "Microsoft.EntityFrameworkCore": "6.0.0", + "Microsoft.EntityFrameworkCore.Design": "6.0.0", + "Microsoft.EntityFrameworkCore.Tools": "6.0.0", + "Pomelo.EntityFrameworkCore.MySql": "6.0.0" + }, + "compile": { + "bin/placeholder/Haoliang.Data.dll": {} + }, + "runtime": { + "bin/placeholder/Haoliang.Data.dll": {} + } + }, + "Haoliang.Models/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "compile": { + "bin/placeholder/Haoliang.Models.dll": {} + }, + "runtime": { + "bin/placeholder/Haoliang.Models.dll": {} + } + } + } + }, + "libraries": { + "BCrypt.Net-Next/4.0.3": { + "sha512": "W+U9WvmZQgi5cX6FS5GDtDoPzUCV4LkBLkywq/kRZhuDwcbavOzcDAr3LXJFqHUi952Yj3LEYoWW0jbEUQChsA==", + "type": "package", + "path": "bcrypt.net-next/4.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "bcrypt.net-next.4.0.3.nupkg.sha512", + "bcrypt.net-next.nuspec", + "ico.png", + "lib/net20/BCrypt.Net-Next.dll", + "lib/net20/BCrypt.Net-Next.xml", + "lib/net35/BCrypt.Net-Next.dll", + "lib/net35/BCrypt.Net-Next.xml", + "lib/net462/BCrypt.Net-Next.dll", + "lib/net462/BCrypt.Net-Next.xml", + "lib/net472/BCrypt.Net-Next.dll", + "lib/net472/BCrypt.Net-Next.xml", + "lib/net48/BCrypt.Net-Next.dll", + "lib/net48/BCrypt.Net-Next.xml", + "lib/net5.0/BCrypt.Net-Next.dll", + "lib/net5.0/BCrypt.Net-Next.xml", + "lib/net6.0/BCrypt.Net-Next.dll", + "lib/net6.0/BCrypt.Net-Next.xml", + "lib/netstandard2.0/BCrypt.Net-Next.dll", + "lib/netstandard2.0/BCrypt.Net-Next.xml", + "lib/netstandard2.1/BCrypt.Net-Next.dll", + "lib/netstandard2.1/BCrypt.Net-Next.xml", + "readme.md" + ] + }, + "Castle.Core/5.1.1": { + "sha512": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==", + "type": "package", + "path": "castle.core/5.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ASL - Apache Software Foundation License.txt", + "CHANGELOG.md", + "LICENSE", + "castle-logo.png", + "castle.core.5.1.1.nupkg.sha512", + "castle.core.nuspec", + "lib/net462/Castle.Core.dll", + "lib/net462/Castle.Core.xml", + "lib/net6.0/Castle.Core.dll", + "lib/net6.0/Castle.Core.xml", + "lib/netstandard2.0/Castle.Core.dll", + "lib/netstandard2.0/Castle.Core.xml", + "lib/netstandard2.1/Castle.Core.dll", + "lib/netstandard2.1/Castle.Core.xml", + "readme.txt" + ] + }, + "Humanizer.Core/2.14.1": { + "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "type": "package", + "path": "humanizer.core/2.14.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "humanizer.core.2.14.1.nupkg.sha512", + "humanizer.core.nuspec", + "lib/net6.0/Humanizer.dll", + "lib/net6.0/Humanizer.xml", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" + ] + }, + "MessagePack/1.7.3.4": { + "sha512": "QSKZVq6BmNaz/B4n0bAM/moQnc4E6XZ7uXRbJcEXxUzZufJiDYDE6awYqDtNz6acupYoPt2QupGV4rpyPCRRtg==", + "type": "package", + "path": "messagepack/1.7.3.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/MessagePack.dll", + "lib/net45/MessagePack.xml", + "lib/net47/MessagePack.dll", + "lib/net47/MessagePack.xml", + "lib/netstandard1.6/MessagePack.dll", + "lib/netstandard1.6/MessagePack.xml", + "lib/netstandard2.0/MessagePack.dll", + "lib/netstandard2.0/MessagePack.xml", + "messagepack.1.7.3.4.nupkg.sha512", + "messagepack.nuspec" + ] + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "sha512": "VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==", + "type": "package", + "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.xml", + "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authentication.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "sha512": "/L0W8H3jMYWyaeA9gBJqS/tSWBegP9aaTM0mjRhxTttBY9z4RVDRYJ2CwPAmAXIuPr3r1sOw+CS8jFVRGHRezQ==", + "type": "package", + "path": "microsoft.aspnetcore.authorization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml", + "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "sha512": "aJCo6niDRKuNg2uS2WMEmhJTooQUGARhV2ENQ2tO5443zVHUo19MSgrgGo9FIrfD+4yKPF8Q+FF33WkWfPbyKw==", + "type": "package", + "path": "microsoft.aspnetcore.authorization.policy/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.xml", + "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.policy.nuspec" + ] + }, + "Microsoft.AspNetCore.Connections.Abstractions/2.2.0": { + "sha512": "Aqr/16Cu5XmGv7mLKJvXRxhhd05UJ7cTTSaUV4MZ3ynAzfgWjsAdpIU8FWuxwAjmVdmI8oOWuVDrbs+sRkhKnA==", + "type": "package", + "path": "microsoft.aspnetcore.connections.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.xml", + "microsoft.aspnetcore.connections.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.connections.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Cors/2.3.0": { + "sha512": "AVVAOi4oGar9+7pFYGWw5NeD8qITe+lswIawJJ64zuLpU5YYdW90ALM8XDsYjEulNLziM3qgqjoLaWpr9Ic4vQ==", + "type": "package", + "path": "microsoft.aspnetcore.cors/2.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.xml", + "microsoft.aspnetcore.cors.2.3.0.nupkg.sha512", + "microsoft.aspnetcore.cors.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "sha512": "ubycklv+ZY7Kutdwuy1W4upWcZ6VFR8WUXU7l7B2+mvbDBBPAcfpi+E+Y5GFe+Q157YfA3C49D2GCjAZc7Mobw==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.xml", + "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "sha512": "1PMijw8RMtuQF60SsD/JlKtVfvh4NORAhF4wjysdABhlhTrYmtgssqyncR0Stq5vqtjplZcj6kbT4LRTglt9IQ==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml", + "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.server.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "sha512": "YogBSMotWPAS/X5967pZ+yyWPQkThxhmzAwyCHCSSldzYBkW5W5d6oPfBaPqQOnSHYTpSOSOkpZoAce0vwb6+A==", + "type": "package", + "path": "microsoft.aspnetcore.http/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.xml", + "microsoft.aspnetcore.http.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Abstractions/2.3.0": { + "sha512": "39r9PPrjA6s0blyFv5qarckjNkaHRA5B+3b53ybuGGNTXEj1/DStQJ4NWjFL6QTRQpL9zt7nDyKxZdJOlcnq+Q==", + "type": "package", + "path": "microsoft.aspnetcore.http.abstractions/2.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.xml", + "microsoft.aspnetcore.http.abstractions.2.3.0.nupkg.sha512", + "microsoft.aspnetcore.http.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Connections/1.1.0": { + "sha512": "ZcwAM9rE5yjGC+vtiNAK0INybpKIqnvB+/rntZn2/CPtyiBAtovVrEp4UZOoC31zH5t0P78ix9gLNJzII/ODsA==", + "type": "package", + "path": "microsoft.aspnetcore.http.connections/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.xml", + "microsoft.aspnetcore.http.connections.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.http.connections.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Connections.Common/1.1.0": { + "sha512": "mYk5QUUjyXQmlyDHWDjkLYDArt97plwe6KsDsNVhDEQ+HgZMKGjISyM6YSA7BERQNR25kXBTbIYfSy1vePGQgg==", + "type": "package", + "path": "microsoft.aspnetcore.http.connections.common/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.xml", + "microsoft.aspnetcore.http.connections.common.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.http.connections.common.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Extensions/2.3.0": { + "sha512": "EY2u/wFF5jsYwGXXswfQWrSsFPmiXsniAlUWo3rv/MGYf99ZFsENDnZcQP6W3c/+xQmQXq0NauzQ7jyy+o1LDQ==", + "type": "package", + "path": "microsoft.aspnetcore.http.extensions/2.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.xml", + "microsoft.aspnetcore.http.extensions.2.3.0.nupkg.sha512", + "microsoft.aspnetcore.http.extensions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Features/2.3.0": { + "sha512": "f10WUgcsKqrkmnz6gt8HeZ7kyKjYN30PO7cSic1lPtH7paPtnQqXPOveul/SIPI43PhRD4trttg4ywnrEmmJpA==", + "type": "package", + "path": "microsoft.aspnetcore.http.features/2.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.xml", + "microsoft.aspnetcore.http.features.2.3.0.nupkg.sha512", + "microsoft.aspnetcore.http.features.nuspec" + ] + }, + "Microsoft.AspNetCore.JsonPatch/6.0.0": { + "sha512": "SUiwg0XQ5NtmnELHXSdX4mAwawFnAOwSx2Zz6NIhQnEN1tZDoAWEHc8dS/S7y8cE52+9bHj+XbYZuLGF7OrQPA==", + "type": "package", + "path": "microsoft.aspnetcore.jsonpatch/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.JsonPatch.dll", + "lib/net461/Microsoft.AspNetCore.JsonPatch.xml", + "lib/net6.0/Microsoft.AspNetCore.JsonPatch.dll", + "lib/net6.0/Microsoft.AspNetCore.JsonPatch.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.xml", + "microsoft.aspnetcore.jsonpatch.6.0.0.nupkg.sha512", + "microsoft.aspnetcore.jsonpatch.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.NewtonsoftJson/6.0.0": { + "sha512": "YMwSWgBuwkVn9k4/2wWxfwEbx8T5Utj13UH/zmUm5lbkKcY+tJyt9w9P4rY5pO1XtCitoh1+L+Feqz9qxG/CvA==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.newtonsoftjson/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net6.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll", + "lib/net6.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.xml", + "microsoft.aspnetcore.mvc.newtonsoftjson.6.0.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.newtonsoftjson.nuspec" + ] + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "sha512": "jAhDBy0wryOnMhhZTtT9z63gJbvCzFuLm8yC6pHzuVu9ZD1dzg0ltxIwT4cfwuNkIL/TixdKsm3vpVOpG8euWQ==", + "type": "package", + "path": "microsoft.aspnetcore.routing/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.xml", + "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.nuspec" + ] + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "sha512": "lRRaPN7jDlUCVCp9i0W+PB0trFaKB0bgMJD7hEJS9Uo4R9MXaMC8X2tJhPLmeVE3SGDdYI4QNKdVmhNvMJGgPQ==", + "type": "package", + "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.xml", + "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR/1.1.0": { + "sha512": "V5X5XkeAHaFyyBOGPrddVeqTNo6zRPJNS5PRhlzEyBXiNG9AtqUbMyWFdZahQyMiIWJau550z59A4kdC9g5I9A==", + "type": "package", + "path": "microsoft.aspnetcore.signalr/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.xml", + "microsoft.aspnetcore.signalr.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Common/1.1.0": { + "sha512": "TyLgQ4y4RVUIxiYFnHT181/rJ33/tL/NcBWC9BwLpulDt5/yGCG4EvsToZ49EBQ7256zj+R6OGw6JF+jj6MdPQ==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.common/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.xml", + "microsoft.aspnetcore.signalr.common.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.common.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Core/1.1.0": { + "sha512": "mk69z50oFk2e89d3F/AfKeAvP3kvGG7MHG4ErydZiUd3ncSRq0kl0czq/COn/QVKYua9yGr2LIDwuR1C6/pu8Q==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.core/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.xml", + "microsoft.aspnetcore.signalr.core.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.core.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/1.1.0": { + "sha512": "BOsjatDJnvnnXCMajOlC0ISmiFnJi/EyJzMo0i//5fZJVCLrQ4fyV/HzrhhAhSJuwJOQDdDozKQ9MB9jHq84pg==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.protocols.json/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.xml", + "microsoft.aspnetcore.signalr.protocols.json.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.protocols.json.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Protocols.MessagePack/1.1.0": { + "sha512": "BBiKL2XgMH7a2IWag9qe/9AL0nudpNAgfe2SnhA5Ba4S5BZyJAMAxNdLEdgfh0A6TFywVyh05RkjNs9VyYR0NQ==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.protocols.messagepack/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.xml", + "microsoft.aspnetcore.signalr.protocols.messagepack.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.protocols.messagepack.nuspec" + ] + }, + "Microsoft.AspNetCore.WebSockets/2.2.0": { + "sha512": "ZpOcg2V0rCwU9ErfDb9y3Hcjoe7rU42XlmUS0mO4pVZQSgJVqR+DfyZtYd5LDa11F7bFNS2eezI9cBM3CmfGhw==", + "type": "package", + "path": "microsoft.aspnetcore.websockets/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.xml", + "microsoft.aspnetcore.websockets.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.websockets.nuspec" + ] + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "sha512": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", + "type": "package", + "path": "microsoft.aspnetcore.webutilities/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.xml", + "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.webutilities.nuspec" + ] + }, + "Microsoft.CSharp/4.7.0": { + "sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "type": "package", + "path": "microsoft.csharp/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/Microsoft.CSharp.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.3/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.xml", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.csharp.4.7.0.nupkg.sha512", + "microsoft.csharp.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/Microsoft.CSharp.dll", + "ref/netcore50/Microsoft.CSharp.xml", + "ref/netcore50/de/Microsoft.CSharp.xml", + "ref/netcore50/es/Microsoft.CSharp.xml", + "ref/netcore50/fr/Microsoft.CSharp.xml", + "ref/netcore50/it/Microsoft.CSharp.xml", + "ref/netcore50/ja/Microsoft.CSharp.xml", + "ref/netcore50/ko/Microsoft.CSharp.xml", + "ref/netcore50/ru/Microsoft.CSharp.xml", + "ref/netcore50/zh-hans/Microsoft.CSharp.xml", + "ref/netcore50/zh-hant/Microsoft.CSharp.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.0/Microsoft.CSharp.dll", + "ref/netstandard1.0/Microsoft.CSharp.xml", + "ref/netstandard1.0/de/Microsoft.CSharp.xml", + "ref/netstandard1.0/es/Microsoft.CSharp.xml", + "ref/netstandard1.0/fr/Microsoft.CSharp.xml", + "ref/netstandard1.0/it/Microsoft.CSharp.xml", + "ref/netstandard1.0/ja/Microsoft.CSharp.xml", + "ref/netstandard1.0/ko/Microsoft.CSharp.xml", + "ref/netstandard1.0/ru/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", + "ref/netstandard2.0/Microsoft.CSharp.dll", + "ref/netstandard2.0/Microsoft.CSharp.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.EntityFrameworkCore/7.0.2": { + "sha512": "5QEspjTHk/cgM98AaB12mDXF7jlInlYhG0gxS6X8ZJ2rzmyIAsvYNEwoOUifd/gt5v5HblYClYfZ9YYIEjSkew==", + "type": "package", + "path": "microsoft.entityframeworkcore/7.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", "buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props", "lib/net6.0/Microsoft.EntityFrameworkCore.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.xml", @@ -811,1017 +2942,4308 @@ "microsoft.entityframeworkcore.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Abstractions/7.0.2": { - "sha512": "nszewdtuQAk2DbhNnGssRCYVxyBhm0DZHJobU8Bc4RGPuybraCv/lovFWPUeZlTT3bQndyV8Ko2NHKSc4qsKCg==", + "Microsoft.EntityFrameworkCore.Abstractions/7.0.2": { + "sha512": "nszewdtuQAk2DbhNnGssRCYVxyBhm0DZHJobU8Bc4RGPuybraCv/lovFWPUeZlTT3bQndyV8Ko2NHKSc4qsKCg==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/7.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/7.0.2": { + "sha512": "75dDCNXzoQFM86Mk/iY7lQ+XHb2DbpAh53hbAJUlxkL3XUVoCq6rWgO4y1EX7DdyKMF61dsdEKlF4/bmpi4urA==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/7.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Design/7.0.2": { + "sha512": "gUUucCoJci8BBxOcU/XuuldUZpCo5Od8lwFEzZ5WywnvDfSmARnXNe97BpjL+JiBhSrnuTxW/wCJjWqPonXXHQ==", + "type": "package", + "path": "microsoft.entityframeworkcore.design/7.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", + "microsoft.entityframeworkcore.design.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.design.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/7.0.2": { + "sha512": "TbTGOdaGtjps3GP7rLWXEXzmP+EXhV8AwPE/ov0QYhs5i5vKZX5ZpVLMnco2MeMtiPgLyxE7DhQT8s1wlu190g==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/7.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Tools/7.0.2": { + "sha512": "0Jx9feeGsUUlI+PEFkADyfQrGU+UIYh9N1I8ZO6X5bjYSKL2V1empkGTupvfrI7S9h4uA7aY8GQpjkCmIep7dg==", + "type": "package", + "path": "microsoft.entityframeworkcore.tools/7.0.2", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/_._", + "microsoft.entityframeworkcore.tools.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.tools.nuspec", + "tools/EntityFrameworkCore.PS2.psd1", + "tools/EntityFrameworkCore.PS2.psm1", + "tools/EntityFrameworkCore.psd1", + "tools/EntityFrameworkCore.psm1", + "tools/about_EntityFrameworkCore.help.txt", + "tools/init.ps1", + "tools/net461/any/ef.exe", + "tools/net461/win-arm64/ef.exe", + "tools/net461/win-x86/ef.exe", + "tools/netcoreapp2.0/any/ef.dll", + "tools/netcoreapp2.0/any/ef.runtimeconfig.json" + ] + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "type": "package", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/Microsoft.Extensions.ApiDescription.Server.props", + "build/Microsoft.Extensions.ApiDescription.Server.targets", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", + "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "microsoft.extensions.apidescription.server.nuspec", + "tools/Newtonsoft.Json.dll", + "tools/dotnet-getdocument.deps.json", + "tools/dotnet-getdocument.dll", + "tools/dotnet-getdocument.runtimeconfig.json", + "tools/net461-x86/GetDocument.Insider.exe", + "tools/net461-x86/GetDocument.Insider.exe.config", + "tools/net461-x86/Microsoft.Win32.Primitives.dll", + "tools/net461-x86/System.AppContext.dll", + "tools/net461-x86/System.Buffers.dll", + "tools/net461-x86/System.Collections.Concurrent.dll", + "tools/net461-x86/System.Collections.NonGeneric.dll", + "tools/net461-x86/System.Collections.Specialized.dll", + "tools/net461-x86/System.Collections.dll", + "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", + "tools/net461-x86/System.ComponentModel.Primitives.dll", + "tools/net461-x86/System.ComponentModel.TypeConverter.dll", + "tools/net461-x86/System.ComponentModel.dll", + "tools/net461-x86/System.Console.dll", + "tools/net461-x86/System.Data.Common.dll", + "tools/net461-x86/System.Diagnostics.Contracts.dll", + "tools/net461-x86/System.Diagnostics.Debug.dll", + "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", + "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", + "tools/net461-x86/System.Diagnostics.Process.dll", + "tools/net461-x86/System.Diagnostics.StackTrace.dll", + "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461-x86/System.Diagnostics.Tools.dll", + "tools/net461-x86/System.Diagnostics.TraceSource.dll", + "tools/net461-x86/System.Diagnostics.Tracing.dll", + "tools/net461-x86/System.Drawing.Primitives.dll", + "tools/net461-x86/System.Dynamic.Runtime.dll", + "tools/net461-x86/System.Globalization.Calendars.dll", + "tools/net461-x86/System.Globalization.Extensions.dll", + "tools/net461-x86/System.Globalization.dll", + "tools/net461-x86/System.IO.Compression.ZipFile.dll", + "tools/net461-x86/System.IO.Compression.dll", + "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", + "tools/net461-x86/System.IO.FileSystem.Primitives.dll", + "tools/net461-x86/System.IO.FileSystem.Watcher.dll", + "tools/net461-x86/System.IO.FileSystem.dll", + "tools/net461-x86/System.IO.IsolatedStorage.dll", + "tools/net461-x86/System.IO.MemoryMappedFiles.dll", + "tools/net461-x86/System.IO.Pipes.dll", + "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", + "tools/net461-x86/System.IO.dll", + "tools/net461-x86/System.Linq.Expressions.dll", + "tools/net461-x86/System.Linq.Parallel.dll", + "tools/net461-x86/System.Linq.Queryable.dll", + "tools/net461-x86/System.Linq.dll", + "tools/net461-x86/System.Memory.dll", + "tools/net461-x86/System.Net.Http.dll", + "tools/net461-x86/System.Net.NameResolution.dll", + "tools/net461-x86/System.Net.NetworkInformation.dll", + "tools/net461-x86/System.Net.Ping.dll", + "tools/net461-x86/System.Net.Primitives.dll", + "tools/net461-x86/System.Net.Requests.dll", + "tools/net461-x86/System.Net.Security.dll", + "tools/net461-x86/System.Net.Sockets.dll", + "tools/net461-x86/System.Net.WebHeaderCollection.dll", + "tools/net461-x86/System.Net.WebSockets.Client.dll", + "tools/net461-x86/System.Net.WebSockets.dll", + "tools/net461-x86/System.Numerics.Vectors.dll", + "tools/net461-x86/System.ObjectModel.dll", + "tools/net461-x86/System.Reflection.Extensions.dll", + "tools/net461-x86/System.Reflection.Primitives.dll", + "tools/net461-x86/System.Reflection.dll", + "tools/net461-x86/System.Resources.Reader.dll", + "tools/net461-x86/System.Resources.ResourceManager.dll", + "tools/net461-x86/System.Resources.Writer.dll", + "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461-x86/System.Runtime.Extensions.dll", + "tools/net461-x86/System.Runtime.Handles.dll", + "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461-x86/System.Runtime.InteropServices.dll", + "tools/net461-x86/System.Runtime.Numerics.dll", + "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", + "tools/net461-x86/System.Runtime.Serialization.Json.dll", + "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", + "tools/net461-x86/System.Runtime.Serialization.Xml.dll", + "tools/net461-x86/System.Runtime.dll", + "tools/net461-x86/System.Security.Claims.dll", + "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", + "tools/net461-x86/System.Security.Cryptography.Csp.dll", + "tools/net461-x86/System.Security.Cryptography.Encoding.dll", + "tools/net461-x86/System.Security.Cryptography.Primitives.dll", + "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll", + "tools/net461-x86/System.Security.Principal.dll", + "tools/net461-x86/System.Security.SecureString.dll", + "tools/net461-x86/System.Text.Encoding.Extensions.dll", + "tools/net461-x86/System.Text.Encoding.dll", + "tools/net461-x86/System.Text.RegularExpressions.dll", + "tools/net461-x86/System.Threading.Overlapped.dll", + "tools/net461-x86/System.Threading.Tasks.Parallel.dll", + "tools/net461-x86/System.Threading.Tasks.dll", + "tools/net461-x86/System.Threading.Thread.dll", + "tools/net461-x86/System.Threading.ThreadPool.dll", + "tools/net461-x86/System.Threading.Timer.dll", + "tools/net461-x86/System.Threading.dll", + "tools/net461-x86/System.ValueTuple.dll", + "tools/net461-x86/System.Xml.ReaderWriter.dll", + "tools/net461-x86/System.Xml.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.dll", + "tools/net461-x86/System.Xml.XmlDocument.dll", + "tools/net461-x86/System.Xml.XmlSerializer.dll", + "tools/net461-x86/netstandard.dll", + "tools/net461/GetDocument.Insider.exe", + "tools/net461/GetDocument.Insider.exe.config", + "tools/net461/Microsoft.Win32.Primitives.dll", + "tools/net461/System.AppContext.dll", + "tools/net461/System.Buffers.dll", + "tools/net461/System.Collections.Concurrent.dll", + "tools/net461/System.Collections.NonGeneric.dll", + "tools/net461/System.Collections.Specialized.dll", + "tools/net461/System.Collections.dll", + "tools/net461/System.ComponentModel.EventBasedAsync.dll", + "tools/net461/System.ComponentModel.Primitives.dll", + "tools/net461/System.ComponentModel.TypeConverter.dll", + "tools/net461/System.ComponentModel.dll", + "tools/net461/System.Console.dll", + "tools/net461/System.Data.Common.dll", + "tools/net461/System.Diagnostics.Contracts.dll", + "tools/net461/System.Diagnostics.Debug.dll", + "tools/net461/System.Diagnostics.DiagnosticSource.dll", + "tools/net461/System.Diagnostics.FileVersionInfo.dll", + "tools/net461/System.Diagnostics.Process.dll", + "tools/net461/System.Diagnostics.StackTrace.dll", + "tools/net461/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461/System.Diagnostics.Tools.dll", + "tools/net461/System.Diagnostics.TraceSource.dll", + "tools/net461/System.Diagnostics.Tracing.dll", + "tools/net461/System.Drawing.Primitives.dll", + "tools/net461/System.Dynamic.Runtime.dll", + "tools/net461/System.Globalization.Calendars.dll", + "tools/net461/System.Globalization.Extensions.dll", + "tools/net461/System.Globalization.dll", + "tools/net461/System.IO.Compression.ZipFile.dll", + "tools/net461/System.IO.Compression.dll", + "tools/net461/System.IO.FileSystem.DriveInfo.dll", + "tools/net461/System.IO.FileSystem.Primitives.dll", + "tools/net461/System.IO.FileSystem.Watcher.dll", + "tools/net461/System.IO.FileSystem.dll", + "tools/net461/System.IO.IsolatedStorage.dll", + "tools/net461/System.IO.MemoryMappedFiles.dll", + "tools/net461/System.IO.Pipes.dll", + "tools/net461/System.IO.UnmanagedMemoryStream.dll", + "tools/net461/System.IO.dll", + "tools/net461/System.Linq.Expressions.dll", + "tools/net461/System.Linq.Parallel.dll", + "tools/net461/System.Linq.Queryable.dll", + "tools/net461/System.Linq.dll", + "tools/net461/System.Memory.dll", + "tools/net461/System.Net.Http.dll", + "tools/net461/System.Net.NameResolution.dll", + "tools/net461/System.Net.NetworkInformation.dll", + "tools/net461/System.Net.Ping.dll", + "tools/net461/System.Net.Primitives.dll", + "tools/net461/System.Net.Requests.dll", + "tools/net461/System.Net.Security.dll", + "tools/net461/System.Net.Sockets.dll", + "tools/net461/System.Net.WebHeaderCollection.dll", + "tools/net461/System.Net.WebSockets.Client.dll", + "tools/net461/System.Net.WebSockets.dll", + "tools/net461/System.Numerics.Vectors.dll", + "tools/net461/System.ObjectModel.dll", + "tools/net461/System.Reflection.Extensions.dll", + "tools/net461/System.Reflection.Primitives.dll", + "tools/net461/System.Reflection.dll", + "tools/net461/System.Resources.Reader.dll", + "tools/net461/System.Resources.ResourceManager.dll", + "tools/net461/System.Resources.Writer.dll", + "tools/net461/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461/System.Runtime.Extensions.dll", + "tools/net461/System.Runtime.Handles.dll", + "tools/net461/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461/System.Runtime.InteropServices.dll", + "tools/net461/System.Runtime.Numerics.dll", + "tools/net461/System.Runtime.Serialization.Formatters.dll", + "tools/net461/System.Runtime.Serialization.Json.dll", + "tools/net461/System.Runtime.Serialization.Primitives.dll", + "tools/net461/System.Runtime.Serialization.Xml.dll", + "tools/net461/System.Runtime.dll", + "tools/net461/System.Security.Claims.dll", + "tools/net461/System.Security.Cryptography.Algorithms.dll", + "tools/net461/System.Security.Cryptography.Csp.dll", + "tools/net461/System.Security.Cryptography.Encoding.dll", + "tools/net461/System.Security.Cryptography.Primitives.dll", + "tools/net461/System.Security.Cryptography.X509Certificates.dll", + "tools/net461/System.Security.Principal.dll", + "tools/net461/System.Security.SecureString.dll", + "tools/net461/System.Text.Encoding.Extensions.dll", + "tools/net461/System.Text.Encoding.dll", + "tools/net461/System.Text.RegularExpressions.dll", + "tools/net461/System.Threading.Overlapped.dll", + "tools/net461/System.Threading.Tasks.Parallel.dll", + "tools/net461/System.Threading.Tasks.dll", + "tools/net461/System.Threading.Thread.dll", + "tools/net461/System.Threading.ThreadPool.dll", + "tools/net461/System.Threading.Timer.dll", + "tools/net461/System.Threading.dll", + "tools/net461/System.ValueTuple.dll", + "tools/net461/System.Xml.ReaderWriter.dll", + "tools/net461/System.Xml.XDocument.dll", + "tools/net461/System.Xml.XPath.XDocument.dll", + "tools/net461/System.Xml.XPath.dll", + "tools/net461/System.Xml.XmlDocument.dll", + "tools/net461/System.Xml.XmlSerializer.dll", + "tools/net461/netstandard.dll", + "tools/netcoreapp2.1/GetDocument.Insider.deps.json", + "tools/netcoreapp2.1/GetDocument.Insider.dll", + "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json", + "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/7.0.0": { + "sha512": "IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/7.0.0": { + "sha512": "xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==", + "type": "package", + "path": "microsoft.extensions.caching.memory/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", + "lib/net462/Microsoft.Extensions.Caching.Memory.dll", + "lib/net462/Microsoft.Extensions.Caching.Memory.xml", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.StackExchangeRedis/6.0.0": { + "sha512": "RKMfmo0a8thbKuPizV40slVWIEJFRyM94p9/ClgGEVTppwdnFFymrJJAr8G/FQ8fI062j08bpBlQedDLk2ePJw==", + "type": "package", + "path": "microsoft.extensions.caching.stackexchangeredis/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Caching.StackExchangeRedis.dll", + "lib/net461/Microsoft.Extensions.Caching.StackExchangeRedis.xml", + "lib/net6.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll", + "lib/net6.0/Microsoft.Extensions.Caching.StackExchangeRedis.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.StackExchangeRedis.xml", + "microsoft.extensions.caching.stackexchangeredis.6.0.0.nupkg.sha512", + "microsoft.extensions.caching.stackexchangeredis.nuspec" + ] + }, + "Microsoft.Extensions.Configuration/2.1.0": { + "sha512": "SS8ce1GYQTkZoOq5bskqQ+m7xiXQjnKRiGfVNZkkX2SX0HpXNRsKnSUaywRRuCje3v2KT9xeacsM3J9/G2exsQ==", + "type": "package", + "path": "microsoft.extensions.configuration/2.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml", + "microsoft.extensions.configuration.2.1.0.nupkg.sha512", + "microsoft.extensions.configuration.nuspec" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/7.0.0": { + "sha512": "elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyModel/7.0.0": { + "sha512": "oONNYd71J3LzkWc4fUHl3SvMfiQMYUCo/mDHDEu76hYYxdhdrPYv6fvGv9nnKVyhE9P0h20AU8RZB5OOWQcAXg==", + "type": "package", + "path": "microsoft.extensions.dependencymodel/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "README.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", + "lib/net462/Microsoft.Extensions.DependencyModel.dll", + "lib/net462/Microsoft.Extensions.DependencyModel.xml", + "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", + "microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencymodel.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "sha512": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "type": "package", + "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets", + "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml", + "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", + "microsoft.extensions.fileproviders.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.FileProviders.Physical/2.1.0": { + "sha512": "A9xLomqD4tNFqDfleapx2C14ZcSjCTzn/4Od0W/wBYdlLF2tYDJ204e75HjpWDVTkr03kgdZbM3QZ6ZeDsrBYg==", + "type": "package", + "path": "microsoft.extensions.fileproviders.physical/2.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.xml", + "microsoft.extensions.fileproviders.physical.2.1.0.nupkg.sha512", + "microsoft.extensions.fileproviders.physical.nuspec" + ] + }, + "Microsoft.Extensions.FileSystemGlobbing/2.1.0": { + "sha512": "JEwwhwbVTEXJu4W4l/FFx7FG9Fh5R8999mZl6qJImjM/LY4DxQsFYzpSkziMdY022n7TQpNUxJlH9bKZc7TqWw==", + "type": "package", + "path": "microsoft.extensions.filesystemglobbing/2.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml", + "microsoft.extensions.filesystemglobbing.2.1.0.nupkg.sha512", + "microsoft.extensions.filesystemglobbing.nuspec" + ] + }, + "Microsoft.Extensions.Hosting/2.1.0": { + "sha512": "nqOrLtBqpwRT006vdQ2Vp87uiuYztiZcZAndFqH91ZH4SQgr8wImCVQwzUgTxx1DSrpIW765+xrZTZqsoGtvqg==", + "type": "package", + "path": "microsoft.extensions.hosting/2.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.dll", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.xml", + "microsoft.extensions.hosting.2.1.0.nupkg.sha512", + "microsoft.extensions.hosting.nuspec" + ] + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "sha512": "+k4AEn68HOJat5gj1TWa6X28WlirNQO9sPIIeQbia+91n03esEtMSSoekSTpMjUzjqtJWQN3McVx0GvSPFHF/Q==", + "type": "package", + "path": "microsoft.extensions.hosting.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml", + "microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.hosting.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.Logging/7.0.0": { + "sha512": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==", + "type": "package", + "path": "microsoft.extensions.logging/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Logging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", + "lib/net462/Microsoft.Extensions.Logging.dll", + "lib/net462/Microsoft.Extensions.Logging.xml", + "lib/net6.0/Microsoft.Extensions.Logging.dll", + "lib/net6.0/Microsoft.Extensions.Logging.xml", + "lib/net7.0/Microsoft.Extensions.Logging.dll", + "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.7.0.0.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "sha512": "nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "sha512": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==", + "type": "package", + "path": "microsoft.extensions.objectpool/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.xml", + "microsoft.extensions.objectpool.2.2.0.nupkg.sha512", + "microsoft.extensions.objectpool.nuspec" + ] + }, + "Microsoft.Extensions.Options/8.0.2": { + "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "type": "package", + "path": "microsoft.extensions.options/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Options.targets", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", + "lib/net462/Microsoft.Extensions.Options.dll", + "lib/net462/Microsoft.Extensions.Options.xml", + "lib/net6.0/Microsoft.Extensions.Options.dll", + "lib/net6.0/Microsoft.Extensions.Options.xml", + "lib/net7.0/Microsoft.Extensions.Options.dll", + "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.8.0.2.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "type": "package", + "path": "microsoft.extensions.primitives/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "lib/net462/Microsoft.Extensions.Primitives.dll", + "lib/net462/Microsoft.Extensions.Primitives.xml", + "lib/net6.0/Microsoft.Extensions.Primitives.dll", + "lib/net6.0/Microsoft.Extensions.Primitives.xml", + "lib/net7.0/Microsoft.Extensions.Primitives.dll", + "lib/net7.0/Microsoft.Extensions.Primitives.xml", + "lib/net8.0/Microsoft.Extensions.Primitives.dll", + "lib/net8.0/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.IdentityModel.Abstractions/6.26.0": { + "sha512": "NHEnDBvLYqP81YWqKk1pJt0qSUmqobvFsRL/SR/H6x1jmQh2D1EcuHHhmfIzDnzaOlQJL9GeBDHykqHp0JGNCw==", + "type": "package", + "path": "microsoft.identitymodel.abstractions/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Abstractions.dll", + "lib/net45/Microsoft.IdentityModel.Abstractions.xml", + "lib/net461/Microsoft.IdentityModel.Abstractions.dll", + "lib/net461/Microsoft.IdentityModel.Abstractions.xml", + "lib/net472/Microsoft.IdentityModel.Abstractions.dll", + "lib/net472/Microsoft.IdentityModel.Abstractions.xml", + "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll", + "lib/net6.0/Microsoft.IdentityModel.Abstractions.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml", + "microsoft.identitymodel.abstractions.6.26.0.nupkg.sha512", + "microsoft.identitymodel.abstractions.nuspec" + ] + }, + "Microsoft.IdentityModel.JsonWebTokens/6.26.0": { + "sha512": "5S993Y51C6p3pQGcvJvUU4Bxq5H5tXGyAzvmXXZkELv8pSWVgbgVsQakGupjx6WLFRN+Y6clp9chVytynWYn5A==", + "type": "package", + "path": "microsoft.identitymodel.jsonwebtokens/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net45/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/net461/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/net472/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml", + "microsoft.identitymodel.jsonwebtokens.6.26.0.nupkg.sha512", + "microsoft.identitymodel.jsonwebtokens.nuspec" + ] + }, + "Microsoft.IdentityModel.Logging/6.26.0": { + "sha512": "Svec5ltH4zz5ylAmFiHrUETLalw3d8siPbQ7+0H9GNGbZrVf5u7TaHpmDuJyb3EUiITfisD3vM83spsO/l1igA==", + "type": "package", + "path": "microsoft.identitymodel.logging/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Logging.dll", + "lib/net45/Microsoft.IdentityModel.Logging.xml", + "lib/net461/Microsoft.IdentityModel.Logging.dll", + "lib/net461/Microsoft.IdentityModel.Logging.xml", + "lib/net472/Microsoft.IdentityModel.Logging.dll", + "lib/net472/Microsoft.IdentityModel.Logging.xml", + "lib/net6.0/Microsoft.IdentityModel.Logging.dll", + "lib/net6.0/Microsoft.IdentityModel.Logging.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml", + "microsoft.identitymodel.logging.6.26.0.nupkg.sha512", + "microsoft.identitymodel.logging.nuspec" + ] + }, + "Microsoft.IdentityModel.Tokens/6.26.0": { + "sha512": "mFNbROC89eap6GTqoYcInCiYsaV8sLxPsgCurQnJDcJoLBk7XoAJpBJae6rkj2VEzWqfErd4jlzaqqRI7wjGOQ==", + "type": "package", + "path": "microsoft.identitymodel.tokens/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Tokens.dll", + "lib/net45/Microsoft.IdentityModel.Tokens.xml", + "lib/net461/Microsoft.IdentityModel.Tokens.dll", + "lib/net461/Microsoft.IdentityModel.Tokens.xml", + "lib/net472/Microsoft.IdentityModel.Tokens.dll", + "lib/net472/Microsoft.IdentityModel.Tokens.xml", + "lib/net6.0/Microsoft.IdentityModel.Tokens.dll", + "lib/net6.0/Microsoft.IdentityModel.Tokens.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml", + "microsoft.identitymodel.tokens.6.26.0.nupkg.sha512", + "microsoft.identitymodel.tokens.nuspec" + ] + }, + "Microsoft.Net.Http.Headers/2.3.0": { + "sha512": "/M0wVg6tJUOHutWD3BMOUVZAioJVXe0tCpFiovzv0T9T12TBf4MnaHP0efO8TCr1a6O9RZgQeZ9Gdark8L9XdA==", + "type": "package", + "path": "microsoft.net.http.headers/2.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.xml", + "microsoft.net.http.headers.2.3.0.nupkg.sha512", + "microsoft.net.http.headers.nuspec" + ] + }, + "Microsoft.NETCore.Platforms/2.0.0": { + "sha512": "VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==", + "type": "package", + "path": "microsoft.netcore.platforms/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.0/_._", + "microsoft.netcore.platforms.2.0.0.nupkg.sha512", + "microsoft.netcore.platforms.nuspec", + "runtime.json", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.NETCore.Targets/1.1.0": { + "sha512": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "type": "package", + "path": "microsoft.netcore.targets/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "microsoft.netcore.targets.1.1.0.nupkg.sha512", + "microsoft.netcore.targets.nuspec", + "runtime.json" + ] + }, + "Microsoft.OpenApi/1.2.3": { + "sha512": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==", + "type": "package", + "path": "microsoft.openapi/1.2.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net46/Microsoft.OpenApi.dll", + "lib/net46/Microsoft.OpenApi.pdb", + "lib/net46/Microsoft.OpenApi.xml", + "lib/netstandard2.0/Microsoft.OpenApi.dll", + "lib/netstandard2.0/Microsoft.OpenApi.pdb", + "lib/netstandard2.0/Microsoft.OpenApi.xml", + "microsoft.openapi.1.2.3.nupkg.sha512", + "microsoft.openapi.nuspec" + ] + }, + "Microsoft.Win32.Primitives/4.3.0": { + "sha512": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "type": "package", + "path": "microsoft.win32.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/Microsoft.Win32.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.win32.primitives.4.3.0.nupkg.sha512", + "microsoft.win32.primitives.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/Microsoft.Win32.Primitives.dll", + "ref/netstandard1.3/Microsoft.Win32.Primitives.dll", + "ref/netstandard1.3/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/de/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/es/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/fr/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/it/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ja/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ko/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ru/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/zh-hans/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/zh-hant/Microsoft.Win32.Primitives.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._" + ] + }, + "Mono.TextTemplating/2.2.1": { + "sha512": "KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "type": "package", + "path": "mono.texttemplating/2.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/Mono.TextTemplating.dll", + "lib/netstandard2.0/Mono.TextTemplating.dll", + "mono.texttemplating.2.2.1.nupkg.sha512", + "mono.texttemplating.nuspec" + ] + }, + "Moq/4.20.69": { + "sha512": "8P/oAUOL8ZVyXnzBBcgdhTsOD1kQbAWfOcMI7KDQO3HqQtzB/0WYLdnMa4Jefv8nu/MQYiiG0IuoJdvG0v0Nig==", + "type": "package", + "path": "moq/4.20.69", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "lib/net462/Moq.dll", + "lib/net462/Moq.xml", + "lib/net6.0/Moq.dll", + "lib/net6.0/Moq.xml", + "lib/netstandard2.0/Moq.dll", + "lib/netstandard2.0/Moq.xml", + "lib/netstandard2.1/Moq.dll", + "lib/netstandard2.1/Moq.xml", + "moq.4.20.69.nupkg.sha512", + "moq.nuspec", + "readme.md" + ] + }, + "MySqlConnector/2.2.5": { + "sha512": "6sinY78RvryhHwpup3awdjYO7d5hhWahb5p/1VDODJhSxJggV/sBbYuKK5IQF9TuzXABiddqUbmRfM884tqA3Q==", + "type": "package", + "path": "mysqlconnector/2.2.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net461/MySqlConnector.dll", + "lib/net461/MySqlConnector.xml", + "lib/net471/MySqlConnector.dll", + "lib/net471/MySqlConnector.xml", + "lib/net6.0/MySqlConnector.dll", + "lib/net6.0/MySqlConnector.xml", + "lib/net7.0/MySqlConnector.dll", + "lib/net7.0/MySqlConnector.xml", + "lib/netcoreapp3.1/MySqlConnector.dll", + "lib/netcoreapp3.1/MySqlConnector.xml", + "lib/netstandard2.0/MySqlConnector.dll", + "lib/netstandard2.0/MySqlConnector.xml", + "lib/netstandard2.1/MySqlConnector.dll", + "lib/netstandard2.1/MySqlConnector.xml", + "logo.png", + "mysqlconnector.2.2.5.nupkg.sha512", + "mysqlconnector.nuspec" + ] + }, + "NETStandard.Library/1.6.1": { + "sha512": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "type": "package", + "path": "netstandard.library/1.6.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "netstandard.library.1.6.1.nupkg.sha512", + "netstandard.library.nuspec" + ] + }, + "Newtonsoft.Json/13.0.1": { + "sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "type": "package", + "path": "newtonsoft.json/13.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "newtonsoft.json.13.0.1.nupkg.sha512", + "newtonsoft.json.nuspec", + "packageIcon.png" + ] + }, + "Newtonsoft.Json.Bson/1.0.2": { + "sha512": "QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==", + "type": "package", + "path": "newtonsoft.json.bson/1.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "lib/net45/Newtonsoft.Json.Bson.dll", + "lib/net45/Newtonsoft.Json.Bson.pdb", + "lib/net45/Newtonsoft.Json.Bson.xml", + "lib/netstandard1.3/Newtonsoft.Json.Bson.dll", + "lib/netstandard1.3/Newtonsoft.Json.Bson.pdb", + "lib/netstandard1.3/Newtonsoft.Json.Bson.xml", + "lib/netstandard2.0/Newtonsoft.Json.Bson.dll", + "lib/netstandard2.0/Newtonsoft.Json.Bson.pdb", + "lib/netstandard2.0/Newtonsoft.Json.Bson.xml", + "newtonsoft.json.bson.1.0.2.nupkg.sha512", + "newtonsoft.json.bson.nuspec" + ] + }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "sha512": "zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==", + "type": "package", + "path": "pipelines.sockets.unofficial/2.2.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net461/Pipelines.Sockets.Unofficial.dll", + "lib/net461/Pipelines.Sockets.Unofficial.xml", + "lib/net472/Pipelines.Sockets.Unofficial.dll", + "lib/net472/Pipelines.Sockets.Unofficial.xml", + "lib/net5.0/Pipelines.Sockets.Unofficial.dll", + "lib/net5.0/Pipelines.Sockets.Unofficial.xml", + "lib/netcoreapp3.1/Pipelines.Sockets.Unofficial.dll", + "lib/netcoreapp3.1/Pipelines.Sockets.Unofficial.xml", + "lib/netstandard2.0/Pipelines.Sockets.Unofficial.dll", + "lib/netstandard2.0/Pipelines.Sockets.Unofficial.xml", + "lib/netstandard2.1/Pipelines.Sockets.Unofficial.dll", + "lib/netstandard2.1/Pipelines.Sockets.Unofficial.xml", + "pipelines.sockets.unofficial.2.2.8.nupkg.sha512", + "pipelines.sockets.unofficial.nuspec" + ] + }, + "Pomelo.EntityFrameworkCore.MySql/7.0.0": { + "sha512": "Qk5WB/skSZet5Yrz6AN2ywjZaB1pxfAmvQ+5I4khTkLwwIamI4QJoH2NphCWLFQL+2ar8HvsNCTmwYk0qhqL0w==", + "type": "package", + "path": "pomelo.entityframeworkcore.mysql/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "icon.png", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.xml", + "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.dll", + "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.xml", + "pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", + "pomelo.entityframeworkcore.mysql.nuspec" + ] + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "type": "package", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/debian.8-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "type": "package", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/fedora.23-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "type": "package", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/fedora.24-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.native.System/4.3.0": { + "sha512": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "type": "package", + "path": "runtime.native.system/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.4.3.0.nupkg.sha512", + "runtime.native.system.nuspec" + ] + }, + "runtime.native.System.IO.Compression/4.3.0": { + "sha512": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "type": "package", + "path": "runtime.native.system.io.compression/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.io.compression.4.3.0.nupkg.sha512", + "runtime.native.system.io.compression.nuspec" + ] + }, + "runtime.native.System.Net.Http/4.3.0": { + "sha512": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "type": "package", + "path": "runtime.native.system.net.http/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.net.http.4.3.0.nupkg.sha512", + "runtime.native.system.net.http.nuspec" + ] + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "sha512": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "type": "package", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512", + "runtime.native.system.security.cryptography.apple.nuspec" + ] + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "type": "package", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.native.system.security.cryptography.openssl.nuspec" + ] + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "type": "package", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/opensuse.13.2-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "type": "package", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/opensuse.42.1-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "sha512": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "type": "package", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.nuspec", + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.Apple.dylib" + ] + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "type": "package", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.OpenSsl.dylib" + ] + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "type": "package", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/rhel.7-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "type": "package", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/ubuntu.14.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "type": "package", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/ubuntu.16.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "type": "package", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/ubuntu.16.10-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "StackExchange.Redis/2.6.122": { + "sha512": "wp7mvGpFXaevfZ07/SDeh/6YHUJEgwJIGyjbDWKBYbPwKMJQYFz9zFEmBptqtVzqvSgft5nlewwutoaMaG0LPA==", + "type": "package", + "path": "stackexchange.redis/2.6.122", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net461/StackExchange.Redis.dll", + "lib/net461/StackExchange.Redis.xml", + "lib/net472/StackExchange.Redis.dll", + "lib/net472/StackExchange.Redis.xml", + "lib/net6.0/StackExchange.Redis.dll", + "lib/net6.0/StackExchange.Redis.xml", + "lib/netcoreapp3.1/StackExchange.Redis.dll", + "lib/netcoreapp3.1/StackExchange.Redis.xml", + "lib/netstandard2.0/StackExchange.Redis.dll", + "lib/netstandard2.0/StackExchange.Redis.xml", + "stackexchange.redis.2.6.122.nupkg.sha512", + "stackexchange.redis.nuspec" + ] + }, + "Swashbuckle.AspNetCore/6.5.0": { + "sha512": "FK05XokgjgwlCI6wCT+D4/abtQkL1X1/B9Oas6uIwHFmYrIO9WUD5aLC9IzMs9GnHfUXOtXZ2S43gN1mhs5+aA==", + "type": "package", + "path": "swashbuckle.aspnetcore/6.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/Swashbuckle.AspNetCore.props", + "swashbuckle.aspnetcore.6.5.0.nupkg.sha512", + "swashbuckle.aspnetcore.nuspec" + ] + }, + "Swashbuckle.AspNetCore.Swagger/6.5.0": { + "sha512": "XWmCmqyFmoItXKFsQSwQbEAsjDKcxlNf1l+/Ki42hcb6LjKL8m5Db69OTvz5vLonMSRntYO1XLqz0OP+n3vKnA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swagger/6.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml", + "swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512", + "swashbuckle.aspnetcore.swagger.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": { + "sha512": "Y/qW8Qdg9OEs7V013tt+94OdPxbRdbhcEbw4NiwGvf4YBcfhL/y7qp/Mjv/cENsQ2L3NqJ2AOu94weBy/h4KvA==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggergen/6.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512", + "swashbuckle.aspnetcore.swaggergen.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": { + "sha512": "OvbvxX+wL8skxTBttcBsVxdh73Fag4xwqEU2edh4JMn7Ws/xJHnY/JB1e9RoCb6XpDxUF3hD9A0Z1lEUx40Pfw==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggerui/6.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512", + "swashbuckle.aspnetcore.swaggerui.nuspec" + ] + }, + "System.AppContext/4.3.0": { + "sha512": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "type": "package", + "path": "system.appcontext/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.AppContext.dll", + "lib/net463/System.AppContext.dll", + "lib/netcore50/System.AppContext.dll", + "lib/netstandard1.6/System.AppContext.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.AppContext.dll", + "ref/net463/System.AppContext.dll", + "ref/netstandard/_._", + "ref/netstandard1.3/System.AppContext.dll", + "ref/netstandard1.3/System.AppContext.xml", + "ref/netstandard1.3/de/System.AppContext.xml", + "ref/netstandard1.3/es/System.AppContext.xml", + "ref/netstandard1.3/fr/System.AppContext.xml", + "ref/netstandard1.3/it/System.AppContext.xml", + "ref/netstandard1.3/ja/System.AppContext.xml", + "ref/netstandard1.3/ko/System.AppContext.xml", + "ref/netstandard1.3/ru/System.AppContext.xml", + "ref/netstandard1.3/zh-hans/System.AppContext.xml", + "ref/netstandard1.3/zh-hant/System.AppContext.xml", + "ref/netstandard1.6/System.AppContext.dll", + "ref/netstandard1.6/System.AppContext.xml", + "ref/netstandard1.6/de/System.AppContext.xml", + "ref/netstandard1.6/es/System.AppContext.xml", + "ref/netstandard1.6/fr/System.AppContext.xml", + "ref/netstandard1.6/it/System.AppContext.xml", + "ref/netstandard1.6/ja/System.AppContext.xml", + "ref/netstandard1.6/ko/System.AppContext.xml", + "ref/netstandard1.6/ru/System.AppContext.xml", + "ref/netstandard1.6/zh-hans/System.AppContext.xml", + "ref/netstandard1.6/zh-hant/System.AppContext.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.AppContext.dll", + "system.appcontext.4.3.0.nupkg.sha512", + "system.appcontext.nuspec" + ] + }, + "System.Buffers/4.6.0": { + "sha512": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA==", + "type": "package", + "path": "system.buffers/4.6.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "buildTransitive/net461/System.Buffers.targets", + "buildTransitive/net462/_._", + "lib/net462/System.Buffers.dll", + "lib/net462/System.Buffers.xml", + "lib/netcoreapp2.1/_._", + "lib/netstandard2.0/System.Buffers.dll", + "lib/netstandard2.0/System.Buffers.xml", + "system.buffers.4.6.0.nupkg.sha512", + "system.buffers.nuspec" + ] + }, + "System.CodeDom/4.4.0": { + "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "type": "package", + "path": "system.codedom/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.CodeDom.dll", + "lib/netstandard2.0/System.CodeDom.dll", + "ref/net461/System.CodeDom.dll", + "ref/net461/System.CodeDom.xml", + "ref/netstandard2.0/System.CodeDom.dll", + "ref/netstandard2.0/System.CodeDom.xml", + "system.codedom.4.4.0.nupkg.sha512", + "system.codedom.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Collections/4.3.0": { + "sha512": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "type": "package", + "path": "system.collections/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Collections.dll", + "ref/netcore50/System.Collections.xml", + "ref/netcore50/de/System.Collections.xml", + "ref/netcore50/es/System.Collections.xml", + "ref/netcore50/fr/System.Collections.xml", + "ref/netcore50/it/System.Collections.xml", + "ref/netcore50/ja/System.Collections.xml", + "ref/netcore50/ko/System.Collections.xml", + "ref/netcore50/ru/System.Collections.xml", + "ref/netcore50/zh-hans/System.Collections.xml", + "ref/netcore50/zh-hant/System.Collections.xml", + "ref/netstandard1.0/System.Collections.dll", + "ref/netstandard1.0/System.Collections.xml", + "ref/netstandard1.0/de/System.Collections.xml", + "ref/netstandard1.0/es/System.Collections.xml", + "ref/netstandard1.0/fr/System.Collections.xml", + "ref/netstandard1.0/it/System.Collections.xml", + "ref/netstandard1.0/ja/System.Collections.xml", + "ref/netstandard1.0/ko/System.Collections.xml", + "ref/netstandard1.0/ru/System.Collections.xml", + "ref/netstandard1.0/zh-hans/System.Collections.xml", + "ref/netstandard1.0/zh-hant/System.Collections.xml", + "ref/netstandard1.3/System.Collections.dll", + "ref/netstandard1.3/System.Collections.xml", + "ref/netstandard1.3/de/System.Collections.xml", + "ref/netstandard1.3/es/System.Collections.xml", + "ref/netstandard1.3/fr/System.Collections.xml", + "ref/netstandard1.3/it/System.Collections.xml", + "ref/netstandard1.3/ja/System.Collections.xml", + "ref/netstandard1.3/ko/System.Collections.xml", + "ref/netstandard1.3/ru/System.Collections.xml", + "ref/netstandard1.3/zh-hans/System.Collections.xml", + "ref/netstandard1.3/zh-hant/System.Collections.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.collections.4.3.0.nupkg.sha512", + "system.collections.nuspec" + ] + }, + "System.Collections.Concurrent/4.3.0": { + "sha512": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "type": "package", + "path": "system.collections.concurrent/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Collections.Concurrent.dll", + "lib/netstandard1.3/System.Collections.Concurrent.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Collections.Concurrent.dll", + "ref/netcore50/System.Collections.Concurrent.xml", + "ref/netcore50/de/System.Collections.Concurrent.xml", + "ref/netcore50/es/System.Collections.Concurrent.xml", + "ref/netcore50/fr/System.Collections.Concurrent.xml", + "ref/netcore50/it/System.Collections.Concurrent.xml", + "ref/netcore50/ja/System.Collections.Concurrent.xml", + "ref/netcore50/ko/System.Collections.Concurrent.xml", + "ref/netcore50/ru/System.Collections.Concurrent.xml", + "ref/netcore50/zh-hans/System.Collections.Concurrent.xml", + "ref/netcore50/zh-hant/System.Collections.Concurrent.xml", + "ref/netstandard1.1/System.Collections.Concurrent.dll", + "ref/netstandard1.1/System.Collections.Concurrent.xml", + "ref/netstandard1.1/de/System.Collections.Concurrent.xml", + "ref/netstandard1.1/es/System.Collections.Concurrent.xml", + "ref/netstandard1.1/fr/System.Collections.Concurrent.xml", + "ref/netstandard1.1/it/System.Collections.Concurrent.xml", + "ref/netstandard1.1/ja/System.Collections.Concurrent.xml", + "ref/netstandard1.1/ko/System.Collections.Concurrent.xml", + "ref/netstandard1.1/ru/System.Collections.Concurrent.xml", + "ref/netstandard1.1/zh-hans/System.Collections.Concurrent.xml", + "ref/netstandard1.1/zh-hant/System.Collections.Concurrent.xml", + "ref/netstandard1.3/System.Collections.Concurrent.dll", + "ref/netstandard1.3/System.Collections.Concurrent.xml", + "ref/netstandard1.3/de/System.Collections.Concurrent.xml", + "ref/netstandard1.3/es/System.Collections.Concurrent.xml", + "ref/netstandard1.3/fr/System.Collections.Concurrent.xml", + "ref/netstandard1.3/it/System.Collections.Concurrent.xml", + "ref/netstandard1.3/ja/System.Collections.Concurrent.xml", + "ref/netstandard1.3/ko/System.Collections.Concurrent.xml", + "ref/netstandard1.3/ru/System.Collections.Concurrent.xml", + "ref/netstandard1.3/zh-hans/System.Collections.Concurrent.xml", + "ref/netstandard1.3/zh-hant/System.Collections.Concurrent.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.collections.concurrent.4.3.0.nupkg.sha512", + "system.collections.concurrent.nuspec" + ] + }, + "System.Console/4.3.0": { + "sha512": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "type": "package", + "path": "system.console/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Console.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Console.dll", + "ref/netstandard1.3/System.Console.dll", + "ref/netstandard1.3/System.Console.xml", + "ref/netstandard1.3/de/System.Console.xml", + "ref/netstandard1.3/es/System.Console.xml", + "ref/netstandard1.3/fr/System.Console.xml", + "ref/netstandard1.3/it/System.Console.xml", + "ref/netstandard1.3/ja/System.Console.xml", + "ref/netstandard1.3/ko/System.Console.xml", + "ref/netstandard1.3/ru/System.Console.xml", + "ref/netstandard1.3/zh-hans/System.Console.xml", + "ref/netstandard1.3/zh-hant/System.Console.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.console.4.3.0.nupkg.sha512", + "system.console.nuspec" + ] + }, + "System.Diagnostics.Debug/4.3.0": { + "sha512": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "type": "package", + "path": "system.diagnostics.debug/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Debug.dll", + "ref/netcore50/System.Diagnostics.Debug.xml", + "ref/netcore50/de/System.Diagnostics.Debug.xml", + "ref/netcore50/es/System.Diagnostics.Debug.xml", + "ref/netcore50/fr/System.Diagnostics.Debug.xml", + "ref/netcore50/it/System.Diagnostics.Debug.xml", + "ref/netcore50/ja/System.Diagnostics.Debug.xml", + "ref/netcore50/ko/System.Diagnostics.Debug.xml", + "ref/netcore50/ru/System.Diagnostics.Debug.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Debug.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/System.Diagnostics.Debug.dll", + "ref/netstandard1.0/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/de/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/es/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/fr/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/it/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ja/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ko/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ru/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/zh-hans/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/zh-hant/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/System.Diagnostics.Debug.dll", + "ref/netstandard1.3/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/de/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/es/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/fr/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/it/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ja/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ko/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ru/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.Debug.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.debug.4.3.0.nupkg.sha512", + "system.diagnostics.debug.nuspec" + ] + }, + "System.Diagnostics.DiagnosticSource/8.0.1": { + "sha512": "vaoWjvkG1aenR2XdjaVivlCV9fADfgyhW5bZtXT23qaEea0lWiUljdQuze4E31vKM7ZWJaSUsbYIKE3rnzfZUg==", + "type": "package", + "path": "system.diagnostics.diagnosticsource/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "lib/net462/System.Diagnostics.DiagnosticSource.dll", + "lib/net462/System.Diagnostics.DiagnosticSource.xml", + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net7.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net7.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net8.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net8.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.8.0.1.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Diagnostics.EventLog/6.0.0": { + "sha512": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==", + "type": "package", + "path": "system.diagnostics.eventlog/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Diagnostics.EventLog.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Diagnostics.EventLog.dll", + "lib/net461/System.Diagnostics.EventLog.xml", + "lib/net6.0/System.Diagnostics.EventLog.dll", + "lib/net6.0/System.Diagnostics.EventLog.xml", + "lib/netcoreapp3.1/System.Diagnostics.EventLog.dll", + "lib/netcoreapp3.1/System.Diagnostics.EventLog.xml", + "lib/netstandard2.0/System.Diagnostics.EventLog.dll", + "lib/netstandard2.0/System.Diagnostics.EventLog.xml", + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.Messages.dll", + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.dll", + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.xml", + "runtimes/win/lib/netcoreapp3.1/System.Diagnostics.EventLog.Messages.dll", + "runtimes/win/lib/netcoreapp3.1/System.Diagnostics.EventLog.dll", + "runtimes/win/lib/netcoreapp3.1/System.Diagnostics.EventLog.xml", + "system.diagnostics.eventlog.6.0.0.nupkg.sha512", + "system.diagnostics.eventlog.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Diagnostics.Tools/4.3.0": { + "sha512": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "type": "package", + "path": "system.diagnostics.tools/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Tools.dll", + "ref/netcore50/System.Diagnostics.Tools.xml", + "ref/netcore50/de/System.Diagnostics.Tools.xml", + "ref/netcore50/es/System.Diagnostics.Tools.xml", + "ref/netcore50/fr/System.Diagnostics.Tools.xml", + "ref/netcore50/it/System.Diagnostics.Tools.xml", + "ref/netcore50/ja/System.Diagnostics.Tools.xml", + "ref/netcore50/ko/System.Diagnostics.Tools.xml", + "ref/netcore50/ru/System.Diagnostics.Tools.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Tools.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/System.Diagnostics.Tools.dll", + "ref/netstandard1.0/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/de/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/es/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/fr/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/it/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ja/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ko/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ru/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/zh-hans/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/zh-hant/System.Diagnostics.Tools.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.tools.4.3.0.nupkg.sha512", + "system.diagnostics.tools.nuspec" + ] + }, + "System.Diagnostics.Tracing/4.3.0": { + "sha512": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "type": "package", + "path": "system.diagnostics.tracing/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Diagnostics.Tracing.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Diagnostics.Tracing.dll", + "ref/netcore50/System.Diagnostics.Tracing.dll", + "ref/netcore50/System.Diagnostics.Tracing.xml", + "ref/netcore50/de/System.Diagnostics.Tracing.xml", + "ref/netcore50/es/System.Diagnostics.Tracing.xml", + "ref/netcore50/fr/System.Diagnostics.Tracing.xml", + "ref/netcore50/it/System.Diagnostics.Tracing.xml", + "ref/netcore50/ja/System.Diagnostics.Tracing.xml", + "ref/netcore50/ko/System.Diagnostics.Tracing.xml", + "ref/netcore50/ru/System.Diagnostics.Tracing.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/System.Diagnostics.Tracing.dll", + "ref/netstandard1.1/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/System.Diagnostics.Tracing.dll", + "ref/netstandard1.2/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/System.Diagnostics.Tracing.dll", + "ref/netstandard1.3/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/System.Diagnostics.Tracing.dll", + "ref/netstandard1.5/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/zh-hant/System.Diagnostics.Tracing.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.tracing.4.3.0.nupkg.sha512", + "system.diagnostics.tracing.nuspec" + ] + }, + "System.Globalization/4.3.0": { + "sha512": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", "type": "package", - "path": "microsoft.entityframeworkcore.abstractions/7.0.2", + "path": "system.globalization/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", - "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", - "microsoft.entityframeworkcore.abstractions.7.0.2.nupkg.sha512", - "microsoft.entityframeworkcore.abstractions.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/netstandard1.0/System.Globalization.dll", + "ref/netstandard1.0/System.Globalization.xml", + "ref/netstandard1.0/de/System.Globalization.xml", + "ref/netstandard1.0/es/System.Globalization.xml", + "ref/netstandard1.0/fr/System.Globalization.xml", + "ref/netstandard1.0/it/System.Globalization.xml", + "ref/netstandard1.0/ja/System.Globalization.xml", + "ref/netstandard1.0/ko/System.Globalization.xml", + "ref/netstandard1.0/ru/System.Globalization.xml", + "ref/netstandard1.0/zh-hans/System.Globalization.xml", + "ref/netstandard1.0/zh-hant/System.Globalization.xml", + "ref/netstandard1.3/System.Globalization.dll", + "ref/netstandard1.3/System.Globalization.xml", + "ref/netstandard1.3/de/System.Globalization.xml", + "ref/netstandard1.3/es/System.Globalization.xml", + "ref/netstandard1.3/fr/System.Globalization.xml", + "ref/netstandard1.3/it/System.Globalization.xml", + "ref/netstandard1.3/ja/System.Globalization.xml", + "ref/netstandard1.3/ko/System.Globalization.xml", + "ref/netstandard1.3/ru/System.Globalization.xml", + "ref/netstandard1.3/zh-hans/System.Globalization.xml", + "ref/netstandard1.3/zh-hant/System.Globalization.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.globalization.4.3.0.nupkg.sha512", + "system.globalization.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Analyzers/7.0.2": { - "sha512": "75dDCNXzoQFM86Mk/iY7lQ+XHb2DbpAh53hbAJUlxkL3XUVoCq6rWgO4y1EX7DdyKMF61dsdEKlF4/bmpi4urA==", + "System.Globalization.Calendars/4.3.0": { + "sha512": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", "type": "package", - "path": "microsoft.entityframeworkcore.analyzers/7.0.2", + "path": "system.globalization.calendars/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", - "lib/netstandard2.0/_._", - "microsoft.entityframeworkcore.analyzers.7.0.2.nupkg.sha512", - "microsoft.entityframeworkcore.analyzers.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Globalization.Calendars.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Globalization.Calendars.dll", + "ref/netstandard1.3/System.Globalization.Calendars.dll", + "ref/netstandard1.3/System.Globalization.Calendars.xml", + "ref/netstandard1.3/de/System.Globalization.Calendars.xml", + "ref/netstandard1.3/es/System.Globalization.Calendars.xml", + "ref/netstandard1.3/fr/System.Globalization.Calendars.xml", + "ref/netstandard1.3/it/System.Globalization.Calendars.xml", + "ref/netstandard1.3/ja/System.Globalization.Calendars.xml", + "ref/netstandard1.3/ko/System.Globalization.Calendars.xml", + "ref/netstandard1.3/ru/System.Globalization.Calendars.xml", + "ref/netstandard1.3/zh-hans/System.Globalization.Calendars.xml", + "ref/netstandard1.3/zh-hant/System.Globalization.Calendars.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.globalization.calendars.4.3.0.nupkg.sha512", + "system.globalization.calendars.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Design/7.0.2": { - "sha512": "gUUucCoJci8BBxOcU/XuuldUZpCo5Od8lwFEzZ5WywnvDfSmARnXNe97BpjL+JiBhSrnuTxW/wCJjWqPonXXHQ==", + "System.Globalization.Extensions/4.3.0": { + "sha512": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", "type": "package", - "path": "microsoft.entityframeworkcore.design/7.0.2", + "path": "system.globalization.extensions/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", - "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", - "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", - "microsoft.entityframeworkcore.design.7.0.2.nupkg.sha512", - "microsoft.entityframeworkcore.design.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Globalization.Extensions.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Globalization.Extensions.dll", + "ref/netstandard1.3/System.Globalization.Extensions.dll", + "ref/netstandard1.3/System.Globalization.Extensions.xml", + "ref/netstandard1.3/de/System.Globalization.Extensions.xml", + "ref/netstandard1.3/es/System.Globalization.Extensions.xml", + "ref/netstandard1.3/fr/System.Globalization.Extensions.xml", + "ref/netstandard1.3/it/System.Globalization.Extensions.xml", + "ref/netstandard1.3/ja/System.Globalization.Extensions.xml", + "ref/netstandard1.3/ko/System.Globalization.Extensions.xml", + "ref/netstandard1.3/ru/System.Globalization.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Globalization.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Globalization.Extensions.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll", + "runtimes/win/lib/net46/System.Globalization.Extensions.dll", + "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll", + "system.globalization.extensions.4.3.0.nupkg.sha512", + "system.globalization.extensions.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Relational/7.0.2": { - "sha512": "TbTGOdaGtjps3GP7rLWXEXzmP+EXhV8AwPE/ov0QYhs5i5vKZX5ZpVLMnco2MeMtiPgLyxE7DhQT8s1wlu190g==", + "System.IdentityModel.Tokens.Jwt/6.26.0": { + "sha512": "GT6imbntzCpoGHTRFUa98TPCF9PTnzV1v5KiTj9sT5ZmeYZErNA5ks5VDvYBaOC59y3dQ78IsMzEJm+XrxDk6w==", "type": "package", - "path": "microsoft.entityframeworkcore.relational/7.0.2", + "path": "system.identitymodel.tokens.jwt/6.26.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", - "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", - "microsoft.entityframeworkcore.relational.7.0.2.nupkg.sha512", - "microsoft.entityframeworkcore.relational.nuspec" + "lib/net45/System.IdentityModel.Tokens.Jwt.dll", + "lib/net45/System.IdentityModel.Tokens.Jwt.xml", + "lib/net461/System.IdentityModel.Tokens.Jwt.dll", + "lib/net461/System.IdentityModel.Tokens.Jwt.xml", + "lib/net472/System.IdentityModel.Tokens.Jwt.dll", + "lib/net472/System.IdentityModel.Tokens.Jwt.xml", + "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll", + "lib/net6.0/System.IdentityModel.Tokens.Jwt.xml", + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll", + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml", + "system.identitymodel.tokens.jwt.6.26.0.nupkg.sha512", + "system.identitymodel.tokens.jwt.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Tools/7.0.2": { - "sha512": "0Jx9feeGsUUlI+PEFkADyfQrGU+UIYh9N1I8ZO6X5bjYSKL2V1empkGTupvfrI7S9h4uA7aY8GQpjkCmIep7dg==", + "System.IO/4.3.0": { + "sha512": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", "type": "package", - "path": "microsoft.entityframeworkcore.tools/7.0.2", - "hasTools": true, + "path": "system.io/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.IO.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.IO.dll", + "ref/netcore50/System.IO.dll", + "ref/netcore50/System.IO.xml", + "ref/netcore50/de/System.IO.xml", + "ref/netcore50/es/System.IO.xml", + "ref/netcore50/fr/System.IO.xml", + "ref/netcore50/it/System.IO.xml", + "ref/netcore50/ja/System.IO.xml", + "ref/netcore50/ko/System.IO.xml", + "ref/netcore50/ru/System.IO.xml", + "ref/netcore50/zh-hans/System.IO.xml", + "ref/netcore50/zh-hant/System.IO.xml", + "ref/netstandard1.0/System.IO.dll", + "ref/netstandard1.0/System.IO.xml", + "ref/netstandard1.0/de/System.IO.xml", + "ref/netstandard1.0/es/System.IO.xml", + "ref/netstandard1.0/fr/System.IO.xml", + "ref/netstandard1.0/it/System.IO.xml", + "ref/netstandard1.0/ja/System.IO.xml", + "ref/netstandard1.0/ko/System.IO.xml", + "ref/netstandard1.0/ru/System.IO.xml", + "ref/netstandard1.0/zh-hans/System.IO.xml", + "ref/netstandard1.0/zh-hant/System.IO.xml", + "ref/netstandard1.3/System.IO.dll", + "ref/netstandard1.3/System.IO.xml", + "ref/netstandard1.3/de/System.IO.xml", + "ref/netstandard1.3/es/System.IO.xml", + "ref/netstandard1.3/fr/System.IO.xml", + "ref/netstandard1.3/it/System.IO.xml", + "ref/netstandard1.3/ja/System.IO.xml", + "ref/netstandard1.3/ko/System.IO.xml", + "ref/netstandard1.3/ru/System.IO.xml", + "ref/netstandard1.3/zh-hans/System.IO.xml", + "ref/netstandard1.3/zh-hant/System.IO.xml", + "ref/netstandard1.5/System.IO.dll", + "ref/netstandard1.5/System.IO.xml", + "ref/netstandard1.5/de/System.IO.xml", + "ref/netstandard1.5/es/System.IO.xml", + "ref/netstandard1.5/fr/System.IO.xml", + "ref/netstandard1.5/it/System.IO.xml", + "ref/netstandard1.5/ja/System.IO.xml", + "ref/netstandard1.5/ko/System.IO.xml", + "ref/netstandard1.5/ru/System.IO.xml", + "ref/netstandard1.5/zh-hans/System.IO.xml", + "ref/netstandard1.5/zh-hant/System.IO.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.4.3.0.nupkg.sha512", + "system.io.nuspec" + ] + }, + "System.IO.Compression/4.3.0": { + "sha512": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "type": "package", + "path": "system.io.compression/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net46/System.IO.Compression.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net46/System.IO.Compression.dll", + "ref/netcore50/System.IO.Compression.dll", + "ref/netcore50/System.IO.Compression.xml", + "ref/netcore50/de/System.IO.Compression.xml", + "ref/netcore50/es/System.IO.Compression.xml", + "ref/netcore50/fr/System.IO.Compression.xml", + "ref/netcore50/it/System.IO.Compression.xml", + "ref/netcore50/ja/System.IO.Compression.xml", + "ref/netcore50/ko/System.IO.Compression.xml", + "ref/netcore50/ru/System.IO.Compression.xml", + "ref/netcore50/zh-hans/System.IO.Compression.xml", + "ref/netcore50/zh-hant/System.IO.Compression.xml", + "ref/netstandard1.1/System.IO.Compression.dll", + "ref/netstandard1.1/System.IO.Compression.xml", + "ref/netstandard1.1/de/System.IO.Compression.xml", + "ref/netstandard1.1/es/System.IO.Compression.xml", + "ref/netstandard1.1/fr/System.IO.Compression.xml", + "ref/netstandard1.1/it/System.IO.Compression.xml", + "ref/netstandard1.1/ja/System.IO.Compression.xml", + "ref/netstandard1.1/ko/System.IO.Compression.xml", + "ref/netstandard1.1/ru/System.IO.Compression.xml", + "ref/netstandard1.1/zh-hans/System.IO.Compression.xml", + "ref/netstandard1.1/zh-hant/System.IO.Compression.xml", + "ref/netstandard1.3/System.IO.Compression.dll", + "ref/netstandard1.3/System.IO.Compression.xml", + "ref/netstandard1.3/de/System.IO.Compression.xml", + "ref/netstandard1.3/es/System.IO.Compression.xml", + "ref/netstandard1.3/fr/System.IO.Compression.xml", + "ref/netstandard1.3/it/System.IO.Compression.xml", + "ref/netstandard1.3/ja/System.IO.Compression.xml", + "ref/netstandard1.3/ko/System.IO.Compression.xml", + "ref/netstandard1.3/ru/System.IO.Compression.xml", + "ref/netstandard1.3/zh-hans/System.IO.Compression.xml", + "ref/netstandard1.3/zh-hant/System.IO.Compression.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll", + "runtimes/win/lib/net46/System.IO.Compression.dll", + "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll", + "system.io.compression.4.3.0.nupkg.sha512", + "system.io.compression.nuspec" + ] + }, + "System.IO.Compression.ZipFile/4.3.0": { + "sha512": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "type": "package", + "path": "system.io.compression.zipfile/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.Compression.ZipFile.dll", + "lib/netstandard1.3/System.IO.Compression.ZipFile.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.Compression.ZipFile.dll", + "ref/netstandard1.3/System.IO.Compression.ZipFile.dll", + "ref/netstandard1.3/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/de/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/es/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/fr/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/it/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/ja/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/ko/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/ru/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/zh-hans/System.IO.Compression.ZipFile.xml", + "ref/netstandard1.3/zh-hant/System.IO.Compression.ZipFile.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.compression.zipfile.4.3.0.nupkg.sha512", + "system.io.compression.zipfile.nuspec" + ] + }, + "System.IO.FileSystem/4.3.0": { + "sha512": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "type": "package", + "path": "system.io.filesystem/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.dll", + "ref/netstandard1.3/System.IO.FileSystem.dll", + "ref/netstandard1.3/System.IO.FileSystem.xml", + "ref/netstandard1.3/de/System.IO.FileSystem.xml", + "ref/netstandard1.3/es/System.IO.FileSystem.xml", + "ref/netstandard1.3/fr/System.IO.FileSystem.xml", + "ref/netstandard1.3/it/System.IO.FileSystem.xml", + "ref/netstandard1.3/ja/System.IO.FileSystem.xml", + "ref/netstandard1.3/ko/System.IO.FileSystem.xml", + "ref/netstandard1.3/ru/System.IO.FileSystem.xml", + "ref/netstandard1.3/zh-hans/System.IO.FileSystem.xml", + "ref/netstandard1.3/zh-hant/System.IO.FileSystem.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.filesystem.4.3.0.nupkg.sha512", + "system.io.filesystem.nuspec" + ] + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "sha512": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "type": "package", + "path": "system.io.filesystem.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.Primitives.dll", + "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll", + "ref/netstandard1.3/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/de/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/es/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/fr/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/it/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ja/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ko/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ru/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.filesystem.primitives.4.3.0.nupkg.sha512", + "system.io.filesystem.primitives.nuspec" + ] + }, + "System.IO.Pipelines/5.0.1": { + "sha512": "qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==", + "type": "package", + "path": "system.io.pipelines/5.0.1", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", - "lib/net6.0/_._", - "microsoft.entityframeworkcore.tools.7.0.2.nupkg.sha512", - "microsoft.entityframeworkcore.tools.nuspec", - "tools/EntityFrameworkCore.PS2.psd1", - "tools/EntityFrameworkCore.PS2.psm1", - "tools/EntityFrameworkCore.psd1", - "tools/EntityFrameworkCore.psm1", - "tools/about_EntityFrameworkCore.help.txt", - "tools/init.ps1", - "tools/net461/any/ef.exe", - "tools/net461/win-arm64/ef.exe", - "tools/net461/win-x86/ef.exe", - "tools/netcoreapp2.0/any/ef.dll", - "tools/netcoreapp2.0/any/ef.runtimeconfig.json" + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.IO.Pipelines.dll", + "lib/net461/System.IO.Pipelines.xml", + "lib/netcoreapp3.0/System.IO.Pipelines.dll", + "lib/netcoreapp3.0/System.IO.Pipelines.xml", + "lib/netstandard1.3/System.IO.Pipelines.dll", + "lib/netstandard1.3/System.IO.Pipelines.xml", + "lib/netstandard2.0/System.IO.Pipelines.dll", + "lib/netstandard2.0/System.IO.Pipelines.xml", + "ref/netcoreapp2.0/System.IO.Pipelines.dll", + "ref/netcoreapp2.0/System.IO.Pipelines.xml", + "system.io.pipelines.5.0.1.nupkg.sha512", + "system.io.pipelines.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Linq/4.3.0": { + "sha512": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "type": "package", + "path": "system.linq/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Linq.dll", + "lib/netcore50/System.Linq.dll", + "lib/netstandard1.6/System.Linq.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Linq.dll", + "ref/netcore50/System.Linq.dll", + "ref/netcore50/System.Linq.xml", + "ref/netcore50/de/System.Linq.xml", + "ref/netcore50/es/System.Linq.xml", + "ref/netcore50/fr/System.Linq.xml", + "ref/netcore50/it/System.Linq.xml", + "ref/netcore50/ja/System.Linq.xml", + "ref/netcore50/ko/System.Linq.xml", + "ref/netcore50/ru/System.Linq.xml", + "ref/netcore50/zh-hans/System.Linq.xml", + "ref/netcore50/zh-hant/System.Linq.xml", + "ref/netstandard1.0/System.Linq.dll", + "ref/netstandard1.0/System.Linq.xml", + "ref/netstandard1.0/de/System.Linq.xml", + "ref/netstandard1.0/es/System.Linq.xml", + "ref/netstandard1.0/fr/System.Linq.xml", + "ref/netstandard1.0/it/System.Linq.xml", + "ref/netstandard1.0/ja/System.Linq.xml", + "ref/netstandard1.0/ko/System.Linq.xml", + "ref/netstandard1.0/ru/System.Linq.xml", + "ref/netstandard1.0/zh-hans/System.Linq.xml", + "ref/netstandard1.0/zh-hant/System.Linq.xml", + "ref/netstandard1.6/System.Linq.dll", + "ref/netstandard1.6/System.Linq.xml", + "ref/netstandard1.6/de/System.Linq.xml", + "ref/netstandard1.6/es/System.Linq.xml", + "ref/netstandard1.6/fr/System.Linq.xml", + "ref/netstandard1.6/it/System.Linq.xml", + "ref/netstandard1.6/ja/System.Linq.xml", + "ref/netstandard1.6/ko/System.Linq.xml", + "ref/netstandard1.6/ru/System.Linq.xml", + "ref/netstandard1.6/zh-hans/System.Linq.xml", + "ref/netstandard1.6/zh-hant/System.Linq.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.linq.4.3.0.nupkg.sha512", + "system.linq.nuspec" + ] + }, + "System.Linq.Expressions/4.3.0": { + "sha512": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "type": "package", + "path": "system.linq.expressions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Linq.Expressions.dll", + "lib/netcore50/System.Linq.Expressions.dll", + "lib/netstandard1.6/System.Linq.Expressions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Linq.Expressions.dll", + "ref/netcore50/System.Linq.Expressions.dll", + "ref/netcore50/System.Linq.Expressions.xml", + "ref/netcore50/de/System.Linq.Expressions.xml", + "ref/netcore50/es/System.Linq.Expressions.xml", + "ref/netcore50/fr/System.Linq.Expressions.xml", + "ref/netcore50/it/System.Linq.Expressions.xml", + "ref/netcore50/ja/System.Linq.Expressions.xml", + "ref/netcore50/ko/System.Linq.Expressions.xml", + "ref/netcore50/ru/System.Linq.Expressions.xml", + "ref/netcore50/zh-hans/System.Linq.Expressions.xml", + "ref/netcore50/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.0/System.Linq.Expressions.dll", + "ref/netstandard1.0/System.Linq.Expressions.xml", + "ref/netstandard1.0/de/System.Linq.Expressions.xml", + "ref/netstandard1.0/es/System.Linq.Expressions.xml", + "ref/netstandard1.0/fr/System.Linq.Expressions.xml", + "ref/netstandard1.0/it/System.Linq.Expressions.xml", + "ref/netstandard1.0/ja/System.Linq.Expressions.xml", + "ref/netstandard1.0/ko/System.Linq.Expressions.xml", + "ref/netstandard1.0/ru/System.Linq.Expressions.xml", + "ref/netstandard1.0/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.0/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.3/System.Linq.Expressions.dll", + "ref/netstandard1.3/System.Linq.Expressions.xml", + "ref/netstandard1.3/de/System.Linq.Expressions.xml", + "ref/netstandard1.3/es/System.Linq.Expressions.xml", + "ref/netstandard1.3/fr/System.Linq.Expressions.xml", + "ref/netstandard1.3/it/System.Linq.Expressions.xml", + "ref/netstandard1.3/ja/System.Linq.Expressions.xml", + "ref/netstandard1.3/ko/System.Linq.Expressions.xml", + "ref/netstandard1.3/ru/System.Linq.Expressions.xml", + "ref/netstandard1.3/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.3/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.6/System.Linq.Expressions.dll", + "ref/netstandard1.6/System.Linq.Expressions.xml", + "ref/netstandard1.6/de/System.Linq.Expressions.xml", + "ref/netstandard1.6/es/System.Linq.Expressions.xml", + "ref/netstandard1.6/fr/System.Linq.Expressions.xml", + "ref/netstandard1.6/it/System.Linq.Expressions.xml", + "ref/netstandard1.6/ja/System.Linq.Expressions.xml", + "ref/netstandard1.6/ko/System.Linq.Expressions.xml", + "ref/netstandard1.6/ru/System.Linq.Expressions.xml", + "ref/netstandard1.6/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.6/zh-hant/System.Linq.Expressions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Linq.Expressions.dll", + "system.linq.expressions.4.3.0.nupkg.sha512", + "system.linq.expressions.nuspec" ] }, - "Microsoft.Extensions.ApiDescription.Server/6.0.5": { - "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "System.Net.Http/4.3.0": { + "sha512": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", "type": "package", - "path": "microsoft.extensions.apidescription.server/6.0.5", - "hasTools": true, + "path": "system.net.http/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "build/Microsoft.Extensions.ApiDescription.Server.props", - "build/Microsoft.Extensions.ApiDescription.Server.targets", - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", - "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", - "microsoft.extensions.apidescription.server.nuspec", - "tools/Newtonsoft.Json.dll", - "tools/dotnet-getdocument.deps.json", - "tools/dotnet-getdocument.dll", - "tools/dotnet-getdocument.runtimeconfig.json", - "tools/net461-x86/GetDocument.Insider.exe", - "tools/net461-x86/GetDocument.Insider.exe.config", - "tools/net461-x86/Microsoft.Win32.Primitives.dll", - "tools/net461-x86/System.AppContext.dll", - "tools/net461-x86/System.Buffers.dll", - "tools/net461-x86/System.Collections.Concurrent.dll", - "tools/net461-x86/System.Collections.NonGeneric.dll", - "tools/net461-x86/System.Collections.Specialized.dll", - "tools/net461-x86/System.Collections.dll", - "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", - "tools/net461-x86/System.ComponentModel.Primitives.dll", - "tools/net461-x86/System.ComponentModel.TypeConverter.dll", - "tools/net461-x86/System.ComponentModel.dll", - "tools/net461-x86/System.Console.dll", - "tools/net461-x86/System.Data.Common.dll", - "tools/net461-x86/System.Diagnostics.Contracts.dll", - "tools/net461-x86/System.Diagnostics.Debug.dll", - "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", - "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", - "tools/net461-x86/System.Diagnostics.Process.dll", - "tools/net461-x86/System.Diagnostics.StackTrace.dll", - "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", - "tools/net461-x86/System.Diagnostics.Tools.dll", - "tools/net461-x86/System.Diagnostics.TraceSource.dll", - "tools/net461-x86/System.Diagnostics.Tracing.dll", - "tools/net461-x86/System.Drawing.Primitives.dll", - "tools/net461-x86/System.Dynamic.Runtime.dll", - "tools/net461-x86/System.Globalization.Calendars.dll", - "tools/net461-x86/System.Globalization.Extensions.dll", - "tools/net461-x86/System.Globalization.dll", - "tools/net461-x86/System.IO.Compression.ZipFile.dll", - "tools/net461-x86/System.IO.Compression.dll", - "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", - "tools/net461-x86/System.IO.FileSystem.Primitives.dll", - "tools/net461-x86/System.IO.FileSystem.Watcher.dll", - "tools/net461-x86/System.IO.FileSystem.dll", - "tools/net461-x86/System.IO.IsolatedStorage.dll", - "tools/net461-x86/System.IO.MemoryMappedFiles.dll", - "tools/net461-x86/System.IO.Pipes.dll", - "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", - "tools/net461-x86/System.IO.dll", - "tools/net461-x86/System.Linq.Expressions.dll", - "tools/net461-x86/System.Linq.Parallel.dll", - "tools/net461-x86/System.Linq.Queryable.dll", - "tools/net461-x86/System.Linq.dll", - "tools/net461-x86/System.Memory.dll", - "tools/net461-x86/System.Net.Http.dll", - "tools/net461-x86/System.Net.NameResolution.dll", - "tools/net461-x86/System.Net.NetworkInformation.dll", - "tools/net461-x86/System.Net.Ping.dll", - "tools/net461-x86/System.Net.Primitives.dll", - "tools/net461-x86/System.Net.Requests.dll", - "tools/net461-x86/System.Net.Security.dll", - "tools/net461-x86/System.Net.Sockets.dll", - "tools/net461-x86/System.Net.WebHeaderCollection.dll", - "tools/net461-x86/System.Net.WebSockets.Client.dll", - "tools/net461-x86/System.Net.WebSockets.dll", - "tools/net461-x86/System.Numerics.Vectors.dll", - "tools/net461-x86/System.ObjectModel.dll", - "tools/net461-x86/System.Reflection.Extensions.dll", - "tools/net461-x86/System.Reflection.Primitives.dll", - "tools/net461-x86/System.Reflection.dll", - "tools/net461-x86/System.Resources.Reader.dll", - "tools/net461-x86/System.Resources.ResourceManager.dll", - "tools/net461-x86/System.Resources.Writer.dll", - "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", - "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", - "tools/net461-x86/System.Runtime.Extensions.dll", - "tools/net461-x86/System.Runtime.Handles.dll", - "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", - "tools/net461-x86/System.Runtime.InteropServices.dll", - "tools/net461-x86/System.Runtime.Numerics.dll", - "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", - "tools/net461-x86/System.Runtime.Serialization.Json.dll", - "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", - "tools/net461-x86/System.Runtime.Serialization.Xml.dll", - "tools/net461-x86/System.Runtime.dll", - "tools/net461-x86/System.Security.Claims.dll", - "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", - "tools/net461-x86/System.Security.Cryptography.Csp.dll", - "tools/net461-x86/System.Security.Cryptography.Encoding.dll", - "tools/net461-x86/System.Security.Cryptography.Primitives.dll", - "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll", - "tools/net461-x86/System.Security.Principal.dll", - "tools/net461-x86/System.Security.SecureString.dll", - "tools/net461-x86/System.Text.Encoding.Extensions.dll", - "tools/net461-x86/System.Text.Encoding.dll", - "tools/net461-x86/System.Text.RegularExpressions.dll", - "tools/net461-x86/System.Threading.Overlapped.dll", - "tools/net461-x86/System.Threading.Tasks.Parallel.dll", - "tools/net461-x86/System.Threading.Tasks.dll", - "tools/net461-x86/System.Threading.Thread.dll", - "tools/net461-x86/System.Threading.ThreadPool.dll", - "tools/net461-x86/System.Threading.Timer.dll", - "tools/net461-x86/System.Threading.dll", - "tools/net461-x86/System.ValueTuple.dll", - "tools/net461-x86/System.Xml.ReaderWriter.dll", - "tools/net461-x86/System.Xml.XDocument.dll", - "tools/net461-x86/System.Xml.XPath.XDocument.dll", - "tools/net461-x86/System.Xml.XPath.dll", - "tools/net461-x86/System.Xml.XmlDocument.dll", - "tools/net461-x86/System.Xml.XmlSerializer.dll", - "tools/net461-x86/netstandard.dll", - "tools/net461/GetDocument.Insider.exe", - "tools/net461/GetDocument.Insider.exe.config", - "tools/net461/Microsoft.Win32.Primitives.dll", - "tools/net461/System.AppContext.dll", - "tools/net461/System.Buffers.dll", - "tools/net461/System.Collections.Concurrent.dll", - "tools/net461/System.Collections.NonGeneric.dll", - "tools/net461/System.Collections.Specialized.dll", - "tools/net461/System.Collections.dll", - "tools/net461/System.ComponentModel.EventBasedAsync.dll", - "tools/net461/System.ComponentModel.Primitives.dll", - "tools/net461/System.ComponentModel.TypeConverter.dll", - "tools/net461/System.ComponentModel.dll", - "tools/net461/System.Console.dll", - "tools/net461/System.Data.Common.dll", - "tools/net461/System.Diagnostics.Contracts.dll", - "tools/net461/System.Diagnostics.Debug.dll", - "tools/net461/System.Diagnostics.DiagnosticSource.dll", - "tools/net461/System.Diagnostics.FileVersionInfo.dll", - "tools/net461/System.Diagnostics.Process.dll", - "tools/net461/System.Diagnostics.StackTrace.dll", - "tools/net461/System.Diagnostics.TextWriterTraceListener.dll", - "tools/net461/System.Diagnostics.Tools.dll", - "tools/net461/System.Diagnostics.TraceSource.dll", - "tools/net461/System.Diagnostics.Tracing.dll", - "tools/net461/System.Drawing.Primitives.dll", - "tools/net461/System.Dynamic.Runtime.dll", - "tools/net461/System.Globalization.Calendars.dll", - "tools/net461/System.Globalization.Extensions.dll", - "tools/net461/System.Globalization.dll", - "tools/net461/System.IO.Compression.ZipFile.dll", - "tools/net461/System.IO.Compression.dll", - "tools/net461/System.IO.FileSystem.DriveInfo.dll", - "tools/net461/System.IO.FileSystem.Primitives.dll", - "tools/net461/System.IO.FileSystem.Watcher.dll", - "tools/net461/System.IO.FileSystem.dll", - "tools/net461/System.IO.IsolatedStorage.dll", - "tools/net461/System.IO.MemoryMappedFiles.dll", - "tools/net461/System.IO.Pipes.dll", - "tools/net461/System.IO.UnmanagedMemoryStream.dll", - "tools/net461/System.IO.dll", - "tools/net461/System.Linq.Expressions.dll", - "tools/net461/System.Linq.Parallel.dll", - "tools/net461/System.Linq.Queryable.dll", - "tools/net461/System.Linq.dll", - "tools/net461/System.Memory.dll", - "tools/net461/System.Net.Http.dll", - "tools/net461/System.Net.NameResolution.dll", - "tools/net461/System.Net.NetworkInformation.dll", - "tools/net461/System.Net.Ping.dll", - "tools/net461/System.Net.Primitives.dll", - "tools/net461/System.Net.Requests.dll", - "tools/net461/System.Net.Security.dll", - "tools/net461/System.Net.Sockets.dll", - "tools/net461/System.Net.WebHeaderCollection.dll", - "tools/net461/System.Net.WebSockets.Client.dll", - "tools/net461/System.Net.WebSockets.dll", - "tools/net461/System.Numerics.Vectors.dll", - "tools/net461/System.ObjectModel.dll", - "tools/net461/System.Reflection.Extensions.dll", - "tools/net461/System.Reflection.Primitives.dll", - "tools/net461/System.Reflection.dll", - "tools/net461/System.Resources.Reader.dll", - "tools/net461/System.Resources.ResourceManager.dll", - "tools/net461/System.Resources.Writer.dll", - "tools/net461/System.Runtime.CompilerServices.Unsafe.dll", - "tools/net461/System.Runtime.CompilerServices.VisualC.dll", - "tools/net461/System.Runtime.Extensions.dll", - "tools/net461/System.Runtime.Handles.dll", - "tools/net461/System.Runtime.InteropServices.RuntimeInformation.dll", - "tools/net461/System.Runtime.InteropServices.dll", - "tools/net461/System.Runtime.Numerics.dll", - "tools/net461/System.Runtime.Serialization.Formatters.dll", - "tools/net461/System.Runtime.Serialization.Json.dll", - "tools/net461/System.Runtime.Serialization.Primitives.dll", - "tools/net461/System.Runtime.Serialization.Xml.dll", - "tools/net461/System.Runtime.dll", - "tools/net461/System.Security.Claims.dll", - "tools/net461/System.Security.Cryptography.Algorithms.dll", - "tools/net461/System.Security.Cryptography.Csp.dll", - "tools/net461/System.Security.Cryptography.Encoding.dll", - "tools/net461/System.Security.Cryptography.Primitives.dll", - "tools/net461/System.Security.Cryptography.X509Certificates.dll", - "tools/net461/System.Security.Principal.dll", - "tools/net461/System.Security.SecureString.dll", - "tools/net461/System.Text.Encoding.Extensions.dll", - "tools/net461/System.Text.Encoding.dll", - "tools/net461/System.Text.RegularExpressions.dll", - "tools/net461/System.Threading.Overlapped.dll", - "tools/net461/System.Threading.Tasks.Parallel.dll", - "tools/net461/System.Threading.Tasks.dll", - "tools/net461/System.Threading.Thread.dll", - "tools/net461/System.Threading.ThreadPool.dll", - "tools/net461/System.Threading.Timer.dll", - "tools/net461/System.Threading.dll", - "tools/net461/System.ValueTuple.dll", - "tools/net461/System.Xml.ReaderWriter.dll", - "tools/net461/System.Xml.XDocument.dll", - "tools/net461/System.Xml.XPath.XDocument.dll", - "tools/net461/System.Xml.XPath.dll", - "tools/net461/System.Xml.XmlDocument.dll", - "tools/net461/System.Xml.XmlSerializer.dll", - "tools/net461/netstandard.dll", - "tools/netcoreapp2.1/GetDocument.Insider.deps.json", - "tools/netcoreapp2.1/GetDocument.Insider.dll", - "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json", - "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/Xamarinmac20/_._", + "lib/monoandroid10/_._", + "lib/monotouch10/_._", + "lib/net45/_._", + "lib/net46/System.Net.Http.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/Xamarinmac20/_._", + "ref/monoandroid10/_._", + "ref/monotouch10/_._", + "ref/net45/_._", + "ref/net46/System.Net.Http.dll", + "ref/net46/System.Net.Http.xml", + "ref/net46/de/System.Net.Http.xml", + "ref/net46/es/System.Net.Http.xml", + "ref/net46/fr/System.Net.Http.xml", + "ref/net46/it/System.Net.Http.xml", + "ref/net46/ja/System.Net.Http.xml", + "ref/net46/ko/System.Net.Http.xml", + "ref/net46/ru/System.Net.Http.xml", + "ref/net46/zh-hans/System.Net.Http.xml", + "ref/net46/zh-hant/System.Net.Http.xml", + "ref/netcore50/System.Net.Http.dll", + "ref/netcore50/System.Net.Http.xml", + "ref/netcore50/de/System.Net.Http.xml", + "ref/netcore50/es/System.Net.Http.xml", + "ref/netcore50/fr/System.Net.Http.xml", + "ref/netcore50/it/System.Net.Http.xml", + "ref/netcore50/ja/System.Net.Http.xml", + "ref/netcore50/ko/System.Net.Http.xml", + "ref/netcore50/ru/System.Net.Http.xml", + "ref/netcore50/zh-hans/System.Net.Http.xml", + "ref/netcore50/zh-hant/System.Net.Http.xml", + "ref/netstandard1.1/System.Net.Http.dll", + "ref/netstandard1.1/System.Net.Http.xml", + "ref/netstandard1.1/de/System.Net.Http.xml", + "ref/netstandard1.1/es/System.Net.Http.xml", + "ref/netstandard1.1/fr/System.Net.Http.xml", + "ref/netstandard1.1/it/System.Net.Http.xml", + "ref/netstandard1.1/ja/System.Net.Http.xml", + "ref/netstandard1.1/ko/System.Net.Http.xml", + "ref/netstandard1.1/ru/System.Net.Http.xml", + "ref/netstandard1.1/zh-hans/System.Net.Http.xml", + "ref/netstandard1.1/zh-hant/System.Net.Http.xml", + "ref/netstandard1.3/System.Net.Http.dll", + "ref/netstandard1.3/System.Net.Http.xml", + "ref/netstandard1.3/de/System.Net.Http.xml", + "ref/netstandard1.3/es/System.Net.Http.xml", + "ref/netstandard1.3/fr/System.Net.Http.xml", + "ref/netstandard1.3/it/System.Net.Http.xml", + "ref/netstandard1.3/ja/System.Net.Http.xml", + "ref/netstandard1.3/ko/System.Net.Http.xml", + "ref/netstandard1.3/ru/System.Net.Http.xml", + "ref/netstandard1.3/zh-hans/System.Net.Http.xml", + "ref/netstandard1.3/zh-hant/System.Net.Http.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.6/System.Net.Http.dll", + "runtimes/win/lib/net46/System.Net.Http.dll", + "runtimes/win/lib/netcore50/System.Net.Http.dll", + "runtimes/win/lib/netstandard1.3/System.Net.Http.dll", + "system.net.http.4.3.0.nupkg.sha512", + "system.net.http.nuspec" ] }, - "Microsoft.Extensions.Caching.Abstractions/7.0.0": { - "sha512": "IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==", + "System.Net.Primitives/4.3.0": { + "sha512": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", "type": "package", - "path": "microsoft.extensions.caching.abstractions/7.0.0", + "path": "system.net.primitives/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", - "microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", - "microsoft.extensions.caching.abstractions.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Net.Primitives.dll", + "ref/netcore50/System.Net.Primitives.xml", + "ref/netcore50/de/System.Net.Primitives.xml", + "ref/netcore50/es/System.Net.Primitives.xml", + "ref/netcore50/fr/System.Net.Primitives.xml", + "ref/netcore50/it/System.Net.Primitives.xml", + "ref/netcore50/ja/System.Net.Primitives.xml", + "ref/netcore50/ko/System.Net.Primitives.xml", + "ref/netcore50/ru/System.Net.Primitives.xml", + "ref/netcore50/zh-hans/System.Net.Primitives.xml", + "ref/netcore50/zh-hant/System.Net.Primitives.xml", + "ref/netstandard1.0/System.Net.Primitives.dll", + "ref/netstandard1.0/System.Net.Primitives.xml", + "ref/netstandard1.0/de/System.Net.Primitives.xml", + "ref/netstandard1.0/es/System.Net.Primitives.xml", + "ref/netstandard1.0/fr/System.Net.Primitives.xml", + "ref/netstandard1.0/it/System.Net.Primitives.xml", + "ref/netstandard1.0/ja/System.Net.Primitives.xml", + "ref/netstandard1.0/ko/System.Net.Primitives.xml", + "ref/netstandard1.0/ru/System.Net.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.Net.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.Net.Primitives.xml", + "ref/netstandard1.1/System.Net.Primitives.dll", + "ref/netstandard1.1/System.Net.Primitives.xml", + "ref/netstandard1.1/de/System.Net.Primitives.xml", + "ref/netstandard1.1/es/System.Net.Primitives.xml", + "ref/netstandard1.1/fr/System.Net.Primitives.xml", + "ref/netstandard1.1/it/System.Net.Primitives.xml", + "ref/netstandard1.1/ja/System.Net.Primitives.xml", + "ref/netstandard1.1/ko/System.Net.Primitives.xml", + "ref/netstandard1.1/ru/System.Net.Primitives.xml", + "ref/netstandard1.1/zh-hans/System.Net.Primitives.xml", + "ref/netstandard1.1/zh-hant/System.Net.Primitives.xml", + "ref/netstandard1.3/System.Net.Primitives.dll", + "ref/netstandard1.3/System.Net.Primitives.xml", + "ref/netstandard1.3/de/System.Net.Primitives.xml", + "ref/netstandard1.3/es/System.Net.Primitives.xml", + "ref/netstandard1.3/fr/System.Net.Primitives.xml", + "ref/netstandard1.3/it/System.Net.Primitives.xml", + "ref/netstandard1.3/ja/System.Net.Primitives.xml", + "ref/netstandard1.3/ko/System.Net.Primitives.xml", + "ref/netstandard1.3/ru/System.Net.Primitives.xml", + "ref/netstandard1.3/zh-hans/System.Net.Primitives.xml", + "ref/netstandard1.3/zh-hant/System.Net.Primitives.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.net.primitives.4.3.0.nupkg.sha512", + "system.net.primitives.nuspec" ] }, - "Microsoft.Extensions.Caching.Memory/7.0.0": { - "sha512": "xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==", + "System.Net.Sockets/4.3.0": { + "sha512": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", "type": "package", - "path": "microsoft.extensions.caching.memory/7.0.0", + "path": "system.net.sockets/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", - "lib/net462/Microsoft.Extensions.Caching.Memory.dll", - "lib/net462/Microsoft.Extensions.Caching.Memory.xml", - "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", - "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", - "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", - "microsoft.extensions.caching.memory.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Net.Sockets.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Net.Sockets.dll", + "ref/netstandard1.3/System.Net.Sockets.dll", + "ref/netstandard1.3/System.Net.Sockets.xml", + "ref/netstandard1.3/de/System.Net.Sockets.xml", + "ref/netstandard1.3/es/System.Net.Sockets.xml", + "ref/netstandard1.3/fr/System.Net.Sockets.xml", + "ref/netstandard1.3/it/System.Net.Sockets.xml", + "ref/netstandard1.3/ja/System.Net.Sockets.xml", + "ref/netstandard1.3/ko/System.Net.Sockets.xml", + "ref/netstandard1.3/ru/System.Net.Sockets.xml", + "ref/netstandard1.3/zh-hans/System.Net.Sockets.xml", + "ref/netstandard1.3/zh-hant/System.Net.Sockets.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.net.sockets.4.3.0.nupkg.sha512", + "system.net.sockets.nuspec" ] }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "System.Net.WebSockets.WebSocketProtocol/4.5.1": { + "sha512": "FquLjdb/0CeMqb15u9Px6TwnyFl306WztKWu6sKKc5kWPYMdpi5BFEkdxzGoieYFp9UksyGwJnCw4KKAUfJjrw==", "type": "package", - "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "path": "system.net.websockets.websocketprotocol/4.5.1", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", "LICENSE.TXT", - "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.abstractions.nuspec", - "useSharedDesignerContext.txt" + "lib/netcoreapp2.1/System.Net.WebSockets.WebSocketProtocol.dll", + "lib/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll", + "ref/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll", + "system.net.websockets.websocketprotocol.4.5.1.nupkg.sha512", + "system.net.websockets.websocketprotocol.nuspec", + "useSharedDesignerContext.txt", + "version.txt" ] }, - "Microsoft.Extensions.DependencyInjection/7.0.0": { - "sha512": "elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==", + "System.ObjectModel/4.3.0": { + "sha512": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", "type": "package", - "path": "microsoft.extensions.dependencyinjection/7.0.0", + "path": "system.objectmodel/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.xml", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", - "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", - "microsoft.extensions.dependencyinjection.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.ObjectModel.dll", + "lib/netstandard1.3/System.ObjectModel.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.ObjectModel.dll", + "ref/netcore50/System.ObjectModel.xml", + "ref/netcore50/de/System.ObjectModel.xml", + "ref/netcore50/es/System.ObjectModel.xml", + "ref/netcore50/fr/System.ObjectModel.xml", + "ref/netcore50/it/System.ObjectModel.xml", + "ref/netcore50/ja/System.ObjectModel.xml", + "ref/netcore50/ko/System.ObjectModel.xml", + "ref/netcore50/ru/System.ObjectModel.xml", + "ref/netcore50/zh-hans/System.ObjectModel.xml", + "ref/netcore50/zh-hant/System.ObjectModel.xml", + "ref/netstandard1.0/System.ObjectModel.dll", + "ref/netstandard1.0/System.ObjectModel.xml", + "ref/netstandard1.0/de/System.ObjectModel.xml", + "ref/netstandard1.0/es/System.ObjectModel.xml", + "ref/netstandard1.0/fr/System.ObjectModel.xml", + "ref/netstandard1.0/it/System.ObjectModel.xml", + "ref/netstandard1.0/ja/System.ObjectModel.xml", + "ref/netstandard1.0/ko/System.ObjectModel.xml", + "ref/netstandard1.0/ru/System.ObjectModel.xml", + "ref/netstandard1.0/zh-hans/System.ObjectModel.xml", + "ref/netstandard1.0/zh-hant/System.ObjectModel.xml", + "ref/netstandard1.3/System.ObjectModel.dll", + "ref/netstandard1.3/System.ObjectModel.xml", + "ref/netstandard1.3/de/System.ObjectModel.xml", + "ref/netstandard1.3/es/System.ObjectModel.xml", + "ref/netstandard1.3/fr/System.ObjectModel.xml", + "ref/netstandard1.3/it/System.ObjectModel.xml", + "ref/netstandard1.3/ja/System.ObjectModel.xml", + "ref/netstandard1.3/ko/System.ObjectModel.xml", + "ref/netstandard1.3/ru/System.ObjectModel.xml", + "ref/netstandard1.3/zh-hans/System.ObjectModel.xml", + "ref/netstandard1.3/zh-hant/System.ObjectModel.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.objectmodel.4.3.0.nupkg.sha512", + "system.objectmodel.nuspec" ] }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { - "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "System.Reflection/4.3.0": { + "sha512": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", "type": "package", - "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "path": "system.reflection/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", - "microsoft.extensions.dependencyinjection.abstractions.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Reflection.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Reflection.dll", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/netstandard1.0/System.Reflection.dll", + "ref/netstandard1.0/System.Reflection.xml", + "ref/netstandard1.0/de/System.Reflection.xml", + "ref/netstandard1.0/es/System.Reflection.xml", + "ref/netstandard1.0/fr/System.Reflection.xml", + "ref/netstandard1.0/it/System.Reflection.xml", + "ref/netstandard1.0/ja/System.Reflection.xml", + "ref/netstandard1.0/ko/System.Reflection.xml", + "ref/netstandard1.0/ru/System.Reflection.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.xml", + "ref/netstandard1.3/System.Reflection.dll", + "ref/netstandard1.3/System.Reflection.xml", + "ref/netstandard1.3/de/System.Reflection.xml", + "ref/netstandard1.3/es/System.Reflection.xml", + "ref/netstandard1.3/fr/System.Reflection.xml", + "ref/netstandard1.3/it/System.Reflection.xml", + "ref/netstandard1.3/ja/System.Reflection.xml", + "ref/netstandard1.3/ko/System.Reflection.xml", + "ref/netstandard1.3/ru/System.Reflection.xml", + "ref/netstandard1.3/zh-hans/System.Reflection.xml", + "ref/netstandard1.3/zh-hant/System.Reflection.xml", + "ref/netstandard1.5/System.Reflection.dll", + "ref/netstandard1.5/System.Reflection.xml", + "ref/netstandard1.5/de/System.Reflection.xml", + "ref/netstandard1.5/es/System.Reflection.xml", + "ref/netstandard1.5/fr/System.Reflection.xml", + "ref/netstandard1.5/it/System.Reflection.xml", + "ref/netstandard1.5/ja/System.Reflection.xml", + "ref/netstandard1.5/ko/System.Reflection.xml", + "ref/netstandard1.5/ru/System.Reflection.xml", + "ref/netstandard1.5/zh-hans/System.Reflection.xml", + "ref/netstandard1.5/zh-hant/System.Reflection.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.4.3.0.nupkg.sha512", + "system.reflection.nuspec" + ] + }, + "System.Reflection.Emit/4.3.0": { + "sha512": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "type": "package", + "path": "system.reflection.emit/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/monotouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.dll", + "lib/netstandard1.3/System.Reflection.Emit.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/net45/_._", + "ref/netstandard1.1/System.Reflection.Emit.dll", + "ref/netstandard1.1/System.Reflection.Emit.xml", + "ref/netstandard1.1/de/System.Reflection.Emit.xml", + "ref/netstandard1.1/es/System.Reflection.Emit.xml", + "ref/netstandard1.1/fr/System.Reflection.Emit.xml", + "ref/netstandard1.1/it/System.Reflection.Emit.xml", + "ref/netstandard1.1/ja/System.Reflection.Emit.xml", + "ref/netstandard1.1/ko/System.Reflection.Emit.xml", + "ref/netstandard1.1/ru/System.Reflection.Emit.xml", + "ref/netstandard1.1/zh-hans/System.Reflection.Emit.xml", + "ref/netstandard1.1/zh-hant/System.Reflection.Emit.xml", + "ref/xamarinmac20/_._", + "system.reflection.emit.4.3.0.nupkg.sha512", + "system.reflection.emit.nuspec" + ] + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "sha512": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "type": "package", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.ILGeneration.dll", + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll", + "lib/portable-net45+wp8/_._", + "lib/wp80/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/de/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/es/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/fr/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/it/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ja/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ko/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ru/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Emit.ILGeneration.xml", + "ref/portable-net45+wp8/_._", + "ref/wp80/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/_._", + "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", + "system.reflection.emit.ilgeneration.nuspec" + ] + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "sha512": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "type": "package", + "path": "system.reflection.emit.lightweight/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.Lightweight.dll", + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll", + "lib/portable-net45+wp8/_._", + "lib/wp80/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll", + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml", + "ref/portable-net45+wp8/_._", + "ref/wp80/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/_._", + "system.reflection.emit.lightweight.4.3.0.nupkg.sha512", + "system.reflection.emit.lightweight.nuspec" ] }, - "Microsoft.Extensions.DependencyModel/7.0.0": { - "sha512": "oONNYd71J3LzkWc4fUHl3SvMfiQMYUCo/mDHDEu76hYYxdhdrPYv6fvGv9nnKVyhE9P0h20AU8RZB5OOWQcAXg==", + "System.Reflection.Extensions/4.3.0": { + "sha512": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", "type": "package", - "path": "microsoft.extensions.dependencymodel/7.0.0", + "path": "system.reflection.extensions/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "README.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", - "lib/net462/Microsoft.Extensions.DependencyModel.dll", - "lib/net462/Microsoft.Extensions.DependencyModel.xml", - "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", - "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", - "microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", - "microsoft.extensions.dependencymodel.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Extensions.dll", + "ref/netcore50/System.Reflection.Extensions.xml", + "ref/netcore50/de/System.Reflection.Extensions.xml", + "ref/netcore50/es/System.Reflection.Extensions.xml", + "ref/netcore50/fr/System.Reflection.Extensions.xml", + "ref/netcore50/it/System.Reflection.Extensions.xml", + "ref/netcore50/ja/System.Reflection.Extensions.xml", + "ref/netcore50/ko/System.Reflection.Extensions.xml", + "ref/netcore50/ru/System.Reflection.Extensions.xml", + "ref/netcore50/zh-hans/System.Reflection.Extensions.xml", + "ref/netcore50/zh-hant/System.Reflection.Extensions.xml", + "ref/netstandard1.0/System.Reflection.Extensions.dll", + "ref/netstandard1.0/System.Reflection.Extensions.xml", + "ref/netstandard1.0/de/System.Reflection.Extensions.xml", + "ref/netstandard1.0/es/System.Reflection.Extensions.xml", + "ref/netstandard1.0/fr/System.Reflection.Extensions.xml", + "ref/netstandard1.0/it/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ja/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ko/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ru/System.Reflection.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.extensions.4.3.0.nupkg.sha512", + "system.reflection.extensions.nuspec" ] }, - "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { - "sha512": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "System.Reflection.Primitives/4.3.0": { + "sha512": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", "type": "package", - "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", + "path": "system.reflection.primitives/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets", - "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml", - "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.fileproviders.abstractions.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/netcore50/de/System.Reflection.Primitives.xml", + "ref/netcore50/es/System.Reflection.Primitives.xml", + "ref/netcore50/fr/System.Reflection.Primitives.xml", + "ref/netcore50/it/System.Reflection.Primitives.xml", + "ref/netcore50/ja/System.Reflection.Primitives.xml", + "ref/netcore50/ko/System.Reflection.Primitives.xml", + "ref/netcore50/ru/System.Reflection.Primitives.xml", + "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", + "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", + "ref/netstandard1.0/System.Reflection.Primitives.dll", + "ref/netstandard1.0/System.Reflection.Primitives.xml", + "ref/netstandard1.0/de/System.Reflection.Primitives.xml", + "ref/netstandard1.0/es/System.Reflection.Primitives.xml", + "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", + "ref/netstandard1.0/it/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.primitives.4.3.0.nupkg.sha512", + "system.reflection.primitives.nuspec" ] }, - "Microsoft.Extensions.Logging/7.0.0": { - "sha512": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==", + "System.Reflection.TypeExtensions/4.3.0": { + "sha512": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", "type": "package", - "path": "microsoft.extensions.logging/7.0.0", + "path": "system.reflection.typeextensions/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", - "lib/net462/Microsoft.Extensions.Logging.dll", - "lib/net462/Microsoft.Extensions.Logging.xml", - "lib/net6.0/Microsoft.Extensions.Logging.dll", - "lib/net6.0/Microsoft.Extensions.Logging.xml", - "lib/net7.0/Microsoft.Extensions.Logging.dll", - "lib/net7.0/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", - "microsoft.extensions.logging.7.0.0.nupkg.sha512", - "microsoft.extensions.logging.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Reflection.TypeExtensions.dll", + "lib/net462/System.Reflection.TypeExtensions.dll", + "lib/netcore50/System.Reflection.TypeExtensions.dll", + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Reflection.TypeExtensions.dll", + "ref/net462/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.3/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.3/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/de/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/es/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/fr/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/it/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ja/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ko/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ru/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/zh-hans/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/zh-hant/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.5/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/de/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/es/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/fr/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/it/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ja/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ko/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ru/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/zh-hans/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/zh-hant/System.Reflection.TypeExtensions.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Reflection.TypeExtensions.dll", + "system.reflection.typeextensions.4.3.0.nupkg.sha512", + "system.reflection.typeextensions.nuspec" ] }, - "Microsoft.Extensions.Logging.Abstractions/8.0.2": { - "sha512": "nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "System.Resources.ResourceManager/4.3.0": { + "sha512": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", "type": "package", - "path": "microsoft.extensions.logging.abstractions/8.0.2", + "path": "system.resources.resourcemanager/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", - "microsoft.extensions.logging.abstractions.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/netcore50/de/System.Resources.ResourceManager.xml", + "ref/netcore50/es/System.Resources.ResourceManager.xml", + "ref/netcore50/fr/System.Resources.ResourceManager.xml", + "ref/netcore50/it/System.Resources.ResourceManager.xml", + "ref/netcore50/ja/System.Resources.ResourceManager.xml", + "ref/netcore50/ko/System.Resources.ResourceManager.xml", + "ref/netcore50/ru/System.Resources.ResourceManager.xml", + "ref/netcore50/zh-hans/System.Resources.ResourceManager.xml", + "ref/netcore50/zh-hant/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/System.Resources.ResourceManager.dll", + "ref/netstandard1.0/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/de/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/es/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/fr/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/it/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ja/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ko/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ru/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/zh-hans/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/zh-hant/System.Resources.ResourceManager.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.resources.resourcemanager.4.3.0.nupkg.sha512", + "system.resources.resourcemanager.nuspec" ] }, - "Microsoft.Extensions.Options/8.0.2": { - "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "System.Runtime/4.3.0": { + "sha512": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", "type": "package", - "path": "microsoft.extensions.options/8.0.2", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Options.targets", - "buildTransitive/net462/Microsoft.Extensions.Options.targets", - "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", - "lib/net462/Microsoft.Extensions.Options.dll", - "lib/net462/Microsoft.Extensions.Options.xml", - "lib/net6.0/Microsoft.Extensions.Options.dll", - "lib/net6.0/Microsoft.Extensions.Options.xml", - "lib/net7.0/Microsoft.Extensions.Options.dll", - "lib/net7.0/Microsoft.Extensions.Options.xml", - "lib/net8.0/Microsoft.Extensions.Options.dll", - "lib/net8.0/Microsoft.Extensions.Options.xml", - "lib/netstandard2.0/Microsoft.Extensions.Options.dll", - "lib/netstandard2.0/Microsoft.Extensions.Options.xml", - "lib/netstandard2.1/Microsoft.Extensions.Options.dll", - "lib/netstandard2.1/Microsoft.Extensions.Options.xml", - "microsoft.extensions.options.8.0.2.nupkg.sha512", - "microsoft.extensions.options.nuspec", - "useSharedDesignerContext.txt" + "path": "system.runtime/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.dll", + "lib/portable-net45+win8+wp80+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.dll", + "ref/netcore50/System.Runtime.dll", + "ref/netcore50/System.Runtime.xml", + "ref/netcore50/de/System.Runtime.xml", + "ref/netcore50/es/System.Runtime.xml", + "ref/netcore50/fr/System.Runtime.xml", + "ref/netcore50/it/System.Runtime.xml", + "ref/netcore50/ja/System.Runtime.xml", + "ref/netcore50/ko/System.Runtime.xml", + "ref/netcore50/ru/System.Runtime.xml", + "ref/netcore50/zh-hans/System.Runtime.xml", + "ref/netcore50/zh-hant/System.Runtime.xml", + "ref/netstandard1.0/System.Runtime.dll", + "ref/netstandard1.0/System.Runtime.xml", + "ref/netstandard1.0/de/System.Runtime.xml", + "ref/netstandard1.0/es/System.Runtime.xml", + "ref/netstandard1.0/fr/System.Runtime.xml", + "ref/netstandard1.0/it/System.Runtime.xml", + "ref/netstandard1.0/ja/System.Runtime.xml", + "ref/netstandard1.0/ko/System.Runtime.xml", + "ref/netstandard1.0/ru/System.Runtime.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.xml", + "ref/netstandard1.2/System.Runtime.dll", + "ref/netstandard1.2/System.Runtime.xml", + "ref/netstandard1.2/de/System.Runtime.xml", + "ref/netstandard1.2/es/System.Runtime.xml", + "ref/netstandard1.2/fr/System.Runtime.xml", + "ref/netstandard1.2/it/System.Runtime.xml", + "ref/netstandard1.2/ja/System.Runtime.xml", + "ref/netstandard1.2/ko/System.Runtime.xml", + "ref/netstandard1.2/ru/System.Runtime.xml", + "ref/netstandard1.2/zh-hans/System.Runtime.xml", + "ref/netstandard1.2/zh-hant/System.Runtime.xml", + "ref/netstandard1.3/System.Runtime.dll", + "ref/netstandard1.3/System.Runtime.xml", + "ref/netstandard1.3/de/System.Runtime.xml", + "ref/netstandard1.3/es/System.Runtime.xml", + "ref/netstandard1.3/fr/System.Runtime.xml", + "ref/netstandard1.3/it/System.Runtime.xml", + "ref/netstandard1.3/ja/System.Runtime.xml", + "ref/netstandard1.3/ko/System.Runtime.xml", + "ref/netstandard1.3/ru/System.Runtime.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.xml", + "ref/netstandard1.5/System.Runtime.dll", + "ref/netstandard1.5/System.Runtime.xml", + "ref/netstandard1.5/de/System.Runtime.xml", + "ref/netstandard1.5/es/System.Runtime.xml", + "ref/netstandard1.5/fr/System.Runtime.xml", + "ref/netstandard1.5/it/System.Runtime.xml", + "ref/netstandard1.5/ja/System.Runtime.xml", + "ref/netstandard1.5/ko/System.Runtime.xml", + "ref/netstandard1.5/ru/System.Runtime.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.xml", + "ref/portable-net45+win8+wp80+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.4.3.0.nupkg.sha512", + "system.runtime.nuspec" ] }, - "Microsoft.Extensions.Primitives/8.0.0": { - "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", "type": "package", - "path": "microsoft.extensions.primitives/8.0.0", + "path": "system.runtime.compilerservices.unsafe/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", - "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", - "lib/net462/Microsoft.Extensions.Primitives.dll", - "lib/net462/Microsoft.Extensions.Primitives.xml", - "lib/net6.0/Microsoft.Extensions.Primitives.dll", - "lib/net6.0/Microsoft.Extensions.Primitives.xml", - "lib/net7.0/Microsoft.Extensions.Primitives.dll", - "lib/net7.0/Microsoft.Extensions.Primitives.xml", - "lib/net8.0/Microsoft.Extensions.Primitives.dll", - "lib/net8.0/Microsoft.Extensions.Primitives.xml", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", - "microsoft.extensions.primitives.8.0.0.nupkg.sha512", - "microsoft.extensions.primitives.nuspec", + "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Net.Http.Headers/2.3.0": { - "sha512": "/M0wVg6tJUOHutWD3BMOUVZAioJVXe0tCpFiovzv0T9T12TBf4MnaHP0efO8TCr1a6O9RZgQeZ9Gdark8L9XdA==", + "System.Runtime.Extensions/4.3.0": { + "sha512": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", "type": "package", - "path": "microsoft.net.http.headers/2.3.0", + "path": "system.runtime.extensions/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll", - "lib/netstandard2.0/Microsoft.Net.Http.Headers.xml", - "microsoft.net.http.headers.2.3.0.nupkg.sha512", - "microsoft.net.http.headers.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.Extensions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.Extensions.dll", + "ref/netcore50/System.Runtime.Extensions.dll", + "ref/netcore50/System.Runtime.Extensions.xml", + "ref/netcore50/de/System.Runtime.Extensions.xml", + "ref/netcore50/es/System.Runtime.Extensions.xml", + "ref/netcore50/fr/System.Runtime.Extensions.xml", + "ref/netcore50/it/System.Runtime.Extensions.xml", + "ref/netcore50/ja/System.Runtime.Extensions.xml", + "ref/netcore50/ko/System.Runtime.Extensions.xml", + "ref/netcore50/ru/System.Runtime.Extensions.xml", + "ref/netcore50/zh-hans/System.Runtime.Extensions.xml", + "ref/netcore50/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.0/System.Runtime.Extensions.dll", + "ref/netstandard1.0/System.Runtime.Extensions.xml", + "ref/netstandard1.0/de/System.Runtime.Extensions.xml", + "ref/netstandard1.0/es/System.Runtime.Extensions.xml", + "ref/netstandard1.0/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.0/it/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.3/System.Runtime.Extensions.dll", + "ref/netstandard1.3/System.Runtime.Extensions.xml", + "ref/netstandard1.3/de/System.Runtime.Extensions.xml", + "ref/netstandard1.3/es/System.Runtime.Extensions.xml", + "ref/netstandard1.3/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.3/it/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.5/System.Runtime.Extensions.dll", + "ref/netstandard1.5/System.Runtime.Extensions.xml", + "ref/netstandard1.5/de/System.Runtime.Extensions.xml", + "ref/netstandard1.5/es/System.Runtime.Extensions.xml", + "ref/netstandard1.5/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.5/it/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.extensions.4.3.0.nupkg.sha512", + "system.runtime.extensions.nuspec" ] }, - "Microsoft.OpenApi/1.2.3": { - "sha512": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==", + "System.Runtime.Handles/4.3.0": { + "sha512": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", "type": "package", - "path": "microsoft.openapi/1.2.3", + "path": "system.runtime.handles/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "lib/net46/Microsoft.OpenApi.dll", - "lib/net46/Microsoft.OpenApi.pdb", - "lib/net46/Microsoft.OpenApi.xml", - "lib/netstandard2.0/Microsoft.OpenApi.dll", - "lib/netstandard2.0/Microsoft.OpenApi.pdb", - "lib/netstandard2.0/Microsoft.OpenApi.xml", - "microsoft.openapi.1.2.3.nupkg.sha512", - "microsoft.openapi.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/netstandard1.3/System.Runtime.Handles.dll", + "ref/netstandard1.3/System.Runtime.Handles.xml", + "ref/netstandard1.3/de/System.Runtime.Handles.xml", + "ref/netstandard1.3/es/System.Runtime.Handles.xml", + "ref/netstandard1.3/fr/System.Runtime.Handles.xml", + "ref/netstandard1.3/it/System.Runtime.Handles.xml", + "ref/netstandard1.3/ja/System.Runtime.Handles.xml", + "ref/netstandard1.3/ko/System.Runtime.Handles.xml", + "ref/netstandard1.3/ru/System.Runtime.Handles.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Handles.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Handles.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.handles.4.3.0.nupkg.sha512", + "system.runtime.handles.nuspec" ] }, - "Mono.TextTemplating/2.2.1": { - "sha512": "KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "System.Runtime.InteropServices/4.3.0": { + "sha512": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", "type": "package", - "path": "mono.texttemplating/2.2.1", + "path": "system.runtime.interopservices/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "lib/net472/Mono.TextTemplating.dll", - "lib/netstandard2.0/Mono.TextTemplating.dll", - "mono.texttemplating.2.2.1.nupkg.sha512", - "mono.texttemplating.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.InteropServices.dll", + "lib/net463/System.Runtime.InteropServices.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.InteropServices.dll", + "ref/net463/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.xml", + "ref/netcore50/de/System.Runtime.InteropServices.xml", + "ref/netcore50/es/System.Runtime.InteropServices.xml", + "ref/netcore50/fr/System.Runtime.InteropServices.xml", + "ref/netcore50/it/System.Runtime.InteropServices.xml", + "ref/netcore50/ja/System.Runtime.InteropServices.xml", + "ref/netcore50/ko/System.Runtime.InteropServices.xml", + "ref/netcore50/ru/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", + "ref/netcoreapp1.1/System.Runtime.InteropServices.dll", + "ref/netstandard1.1/System.Runtime.InteropServices.dll", + "ref/netstandard1.1/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/System.Runtime.InteropServices.dll", + "ref/netstandard1.2/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/System.Runtime.InteropServices.dll", + "ref/netstandard1.3/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/System.Runtime.InteropServices.dll", + "ref/netstandard1.5/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.InteropServices.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.interopservices.4.3.0.nupkg.sha512", + "system.runtime.interopservices.nuspec" ] }, - "MySqlConnector/2.2.5": { - "sha512": "6sinY78RvryhHwpup3awdjYO7d5hhWahb5p/1VDODJhSxJggV/sBbYuKK5IQF9TuzXABiddqUbmRfM884tqA3Q==", + "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { + "sha512": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", "type": "package", - "path": "mysqlconnector/2.2.5", + "path": "system.runtime.interopservices.runtimeinformation/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "README.md", - "lib/net461/MySqlConnector.dll", - "lib/net461/MySqlConnector.xml", - "lib/net471/MySqlConnector.dll", - "lib/net471/MySqlConnector.xml", - "lib/net6.0/MySqlConnector.dll", - "lib/net6.0/MySqlConnector.xml", - "lib/net7.0/MySqlConnector.dll", - "lib/net7.0/MySqlConnector.xml", - "lib/netcoreapp3.1/MySqlConnector.dll", - "lib/netcoreapp3.1/MySqlConnector.xml", - "lib/netstandard2.0/MySqlConnector.dll", - "lib/netstandard2.0/MySqlConnector.xml", - "lib/netstandard2.1/MySqlConnector.dll", - "lib/netstandard2.1/MySqlConnector.xml", - "logo.png", - "mysqlconnector.2.2.5.nupkg.sha512", - "mysqlconnector.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", + "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", + "lib/win8/System.Runtime.InteropServices.RuntimeInformation.dll", + "lib/wpa81/System.Runtime.InteropServices.RuntimeInformation.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/win/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", + "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512", + "system.runtime.interopservices.runtimeinformation.nuspec" ] }, - "Newtonsoft.Json/13.0.1": { - "sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "System.Runtime.Numerics/4.3.0": { + "sha512": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", "type": "package", - "path": "newtonsoft.json/13.0.1", + "path": "system.runtime.numerics/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "LICENSE.md", - "lib/net20/Newtonsoft.Json.dll", - "lib/net20/Newtonsoft.Json.xml", - "lib/net35/Newtonsoft.Json.dll", - "lib/net35/Newtonsoft.Json.xml", - "lib/net40/Newtonsoft.Json.dll", - "lib/net40/Newtonsoft.Json.xml", - "lib/net45/Newtonsoft.Json.dll", - "lib/net45/Newtonsoft.Json.xml", - "lib/netstandard1.0/Newtonsoft.Json.dll", - "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/netstandard1.3/Newtonsoft.Json.dll", - "lib/netstandard1.3/Newtonsoft.Json.xml", - "lib/netstandard2.0/Newtonsoft.Json.dll", - "lib/netstandard2.0/Newtonsoft.Json.xml", - "newtonsoft.json.13.0.1.nupkg.sha512", - "newtonsoft.json.nuspec", - "packageIcon.png" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Runtime.Numerics.dll", + "lib/netstandard1.3/System.Runtime.Numerics.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Runtime.Numerics.dll", + "ref/netcore50/System.Runtime.Numerics.xml", + "ref/netcore50/de/System.Runtime.Numerics.xml", + "ref/netcore50/es/System.Runtime.Numerics.xml", + "ref/netcore50/fr/System.Runtime.Numerics.xml", + "ref/netcore50/it/System.Runtime.Numerics.xml", + "ref/netcore50/ja/System.Runtime.Numerics.xml", + "ref/netcore50/ko/System.Runtime.Numerics.xml", + "ref/netcore50/ru/System.Runtime.Numerics.xml", + "ref/netcore50/zh-hans/System.Runtime.Numerics.xml", + "ref/netcore50/zh-hant/System.Runtime.Numerics.xml", + "ref/netstandard1.1/System.Runtime.Numerics.dll", + "ref/netstandard1.1/System.Runtime.Numerics.xml", + "ref/netstandard1.1/de/System.Runtime.Numerics.xml", + "ref/netstandard1.1/es/System.Runtime.Numerics.xml", + "ref/netstandard1.1/fr/System.Runtime.Numerics.xml", + "ref/netstandard1.1/it/System.Runtime.Numerics.xml", + "ref/netstandard1.1/ja/System.Runtime.Numerics.xml", + "ref/netstandard1.1/ko/System.Runtime.Numerics.xml", + "ref/netstandard1.1/ru/System.Runtime.Numerics.xml", + "ref/netstandard1.1/zh-hans/System.Runtime.Numerics.xml", + "ref/netstandard1.1/zh-hant/System.Runtime.Numerics.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.numerics.4.3.0.nupkg.sha512", + "system.runtime.numerics.nuspec" ] }, - "Newtonsoft.Json.Bson/1.0.2": { - "sha512": "QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==", + "System.Runtime.Serialization.Primitives/4.3.0": { + "sha512": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", "type": "package", - "path": "newtonsoft.json.bson/1.0.2", + "path": "system.runtime.serialization.primitives/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "LICENSE.md", - "lib/net45/Newtonsoft.Json.Bson.dll", - "lib/net45/Newtonsoft.Json.Bson.pdb", - "lib/net45/Newtonsoft.Json.Bson.xml", - "lib/netstandard1.3/Newtonsoft.Json.Bson.dll", - "lib/netstandard1.3/Newtonsoft.Json.Bson.pdb", - "lib/netstandard1.3/Newtonsoft.Json.Bson.xml", - "lib/netstandard2.0/Newtonsoft.Json.Bson.dll", - "lib/netstandard2.0/Newtonsoft.Json.Bson.pdb", - "lib/netstandard2.0/Newtonsoft.Json.Bson.xml", - "newtonsoft.json.bson.1.0.2.nupkg.sha512", - "newtonsoft.json.bson.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net46/System.Runtime.Serialization.Primitives.dll", + "lib/netcore50/System.Runtime.Serialization.Primitives.dll", + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net46/System.Runtime.Serialization.Primitives.dll", + "ref/netcore50/System.Runtime.Serialization.Primitives.dll", + "ref/netcore50/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/de/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/es/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/fr/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/it/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/ja/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/ko/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/ru/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/zh-hans/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/zh-hant/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/System.Runtime.Serialization.Primitives.dll", + "ref/netstandard1.0/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/de/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/es/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/fr/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/it/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/ja/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/ko/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/ru/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll", + "ref/netstandard1.3/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/de/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/es/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/fr/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/it/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/ja/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/ko/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/ru/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Serialization.Primitives.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Runtime.Serialization.Primitives.dll", + "system.runtime.serialization.primitives.4.3.0.nupkg.sha512", + "system.runtime.serialization.primitives.nuspec" + ] + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "sha512": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "type": "package", + "path": "system.security.cryptography.algorithms/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Algorithms.dll", + "lib/net461/System.Security.Cryptography.Algorithms.dll", + "lib/net463/System.Security.Cryptography.Algorithms.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Algorithms.dll", + "ref/net461/System.Security.Cryptography.Algorithms.dll", + "ref/net463/System.Security.Cryptography.Algorithms.dll", + "ref/netstandard1.3/System.Security.Cryptography.Algorithms.dll", + "ref/netstandard1.4/System.Security.Cryptography.Algorithms.dll", + "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/osx/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/net463/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/netcore50/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "system.security.cryptography.algorithms.4.3.0.nupkg.sha512", + "system.security.cryptography.algorithms.nuspec" ] }, - "Pomelo.EntityFrameworkCore.MySql/7.0.0": { - "sha512": "Qk5WB/skSZet5Yrz6AN2ywjZaB1pxfAmvQ+5I4khTkLwwIamI4QJoH2NphCWLFQL+2ar8HvsNCTmwYk0qhqL0w==", + "System.Security.Cryptography.Cng/4.5.0": { + "sha512": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", "type": "package", - "path": "pomelo.entityframeworkcore.mysql/7.0.0", + "path": "system.security.cryptography.cng/4.5.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "README.md", - "icon.png", - "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll", - "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.xml", - "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.dll", - "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.xml", - "pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", - "pomelo.entityframeworkcore.mysql.nuspec" + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Cng.dll", + "lib/net461/System.Security.Cryptography.Cng.dll", + "lib/net462/System.Security.Cryptography.Cng.dll", + "lib/net47/System.Security.Cryptography.Cng.dll", + "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.3/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.4/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll", + "lib/uap10.0.16299/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Cng.dll", + "ref/net461/System.Security.Cryptography.Cng.dll", + "ref/net461/System.Security.Cryptography.Cng.xml", + "ref/net462/System.Security.Cryptography.Cng.dll", + "ref/net462/System.Security.Cryptography.Cng.xml", + "ref/net47/System.Security.Cryptography.Cng.dll", + "ref/net47/System.Security.Cryptography.Cng.xml", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.xml", + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.xml", + "ref/netstandard1.3/System.Security.Cryptography.Cng.dll", + "ref/netstandard1.4/System.Security.Cryptography.Cng.dll", + "ref/netstandard1.6/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.xml", + "ref/uap10.0.16299/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net462/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net47/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.cryptography.cng.4.5.0.nupkg.sha512", + "system.security.cryptography.cng.nuspec", + "useSharedDesignerContext.txt", + "version.txt" ] }, - "Swashbuckle.AspNetCore/6.5.0": { - "sha512": "FK05XokgjgwlCI6wCT+D4/abtQkL1X1/B9Oas6uIwHFmYrIO9WUD5aLC9IzMs9GnHfUXOtXZ2S43gN1mhs5+aA==", + "System.Security.Cryptography.Csp/4.3.0": { + "sha512": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", "type": "package", - "path": "swashbuckle.aspnetcore/6.5.0", + "path": "system.security.cryptography.csp/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "build/Swashbuckle.AspNetCore.props", - "swashbuckle.aspnetcore.6.5.0.nupkg.sha512", - "swashbuckle.aspnetcore.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Csp.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Csp.dll", + "ref/netstandard1.3/System.Security.Cryptography.Csp.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.Csp.dll", + "runtimes/win/lib/netcore50/_._", + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll", + "system.security.cryptography.csp.4.3.0.nupkg.sha512", + "system.security.cryptography.csp.nuspec" ] }, - "Swashbuckle.AspNetCore.Swagger/6.5.0": { - "sha512": "XWmCmqyFmoItXKFsQSwQbEAsjDKcxlNf1l+/Ki42hcb6LjKL8m5Db69OTvz5vLonMSRntYO1XLqz0OP+n3vKnA==", + "System.Security.Cryptography.Encoding/4.3.0": { + "sha512": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", "type": "package", - "path": "swashbuckle.aspnetcore.swagger/6.5.0", + "path": "system.security.cryptography.encoding/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "lib/net5.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/net5.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/net5.0/Swashbuckle.AspNetCore.Swagger.xml", - "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml", - "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/net7.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/net7.0/Swashbuckle.AspNetCore.Swagger.xml", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.xml", - "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml", - "swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512", - "swashbuckle.aspnetcore.swagger.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Encoding.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Encoding.dll", + "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll", + "ref/netstandard1.3/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/de/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/es/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/fr/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/it/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/ja/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/ko/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/ru/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/zh-hans/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/zh-hant/System.Security.Cryptography.Encoding.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dll", + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll", + "system.security.cryptography.encoding.4.3.0.nupkg.sha512", + "system.security.cryptography.encoding.nuspec" ] }, - "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": { - "sha512": "Y/qW8Qdg9OEs7V013tt+94OdPxbRdbhcEbw4NiwGvf4YBcfhL/y7qp/Mjv/cENsQ2L3NqJ2AOu94weBy/h4KvA==", + "System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", "type": "package", - "path": "swashbuckle.aspnetcore.swaggergen/6.5.0", + "path": "system.security.cryptography.openssl/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512", - "swashbuckle.aspnetcore.swaggergen.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", + "ref/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", + "system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "system.security.cryptography.openssl.nuspec" ] }, - "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": { - "sha512": "OvbvxX+wL8skxTBttcBsVxdh73Fag4xwqEU2edh4JMn7Ws/xJHnY/JB1e9RoCb6XpDxUF3hD9A0Z1lEUx40Pfw==", + "System.Security.Cryptography.Primitives/4.3.0": { + "sha512": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", "type": "package", - "path": "swashbuckle.aspnetcore.swaggerui/6.5.0", + "path": "system.security.cryptography.primitives/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512", - "swashbuckle.aspnetcore.swaggerui.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Primitives.dll", + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Primitives.dll", + "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.security.cryptography.primitives.4.3.0.nupkg.sha512", + "system.security.cryptography.primitives.nuspec" ] }, - "System.Buffers/4.6.0": { - "sha512": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA==", + "System.Security.Cryptography.X509Certificates/4.3.0": { + "sha512": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", "type": "package", - "path": "system.buffers/4.6.0", + "path": "system.security.cryptography.x509certificates/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "buildTransitive/net461/System.Buffers.targets", - "buildTransitive/net462/_._", - "lib/net462/System.Buffers.dll", - "lib/net462/System.Buffers.xml", - "lib/netcoreapp2.1/_._", - "lib/netstandard2.0/System.Buffers.dll", - "lib/netstandard2.0/System.Buffers.xml", - "system.buffers.4.6.0.nupkg.sha512", - "system.buffers.nuspec" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.X509Certificates.dll", + "lib/net461/System.Security.Cryptography.X509Certificates.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.X509Certificates.dll", + "ref/net461/System.Security.Cryptography.X509Certificates.dll", + "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.dll", + "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/de/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/es/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/fr/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/it/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/ja/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/ko/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/ru/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/zh-hans/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/zh-hant/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll", + "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/de/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/es/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/fr/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/it/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/ja/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/ko/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/ru/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/zh-hans/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/zh-hant/System.Security.Cryptography.X509Certificates.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/netcore50/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll", + "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512", + "system.security.cryptography.x509certificates.nuspec" ] }, - "System.CodeDom/4.4.0": { - "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "System.Security.Principal.Windows/4.5.0": { + "sha512": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", "type": "package", - "path": "system.codedom/4.4.0", + "path": "system.security.principal.windows/4.5.0", "files": [ ".nupkg.metadata", ".signature.p7s", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "lib/net461/System.CodeDom.dll", - "lib/netstandard2.0/System.CodeDom.dll", - "ref/net461/System.CodeDom.dll", - "ref/net461/System.CodeDom.xml", - "ref/netstandard2.0/System.CodeDom.dll", - "ref/netstandard2.0/System.CodeDom.xml", - "system.codedom.4.4.0.nupkg.sha512", - "system.codedom.nuspec", + "lib/net46/System.Security.Principal.Windows.dll", + "lib/net461/System.Security.Principal.Windows.dll", + "lib/netstandard1.3/System.Security.Principal.Windows.dll", + "lib/netstandard2.0/System.Security.Principal.Windows.dll", + "lib/uap10.0.16299/_._", + "ref/net46/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/System.Security.Principal.Windows.dll", + "ref/netstandard1.3/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", + "ref/netstandard2.0/System.Security.Principal.Windows.dll", + "ref/netstandard2.0/System.Security.Principal.Windows.xml", + "ref/uap10.0.16299/_._", + "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net461/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.principal.windows.4.5.0.nupkg.sha512", + "system.security.principal.windows.nuspec", "useSharedDesignerContext.txt", "version.txt" ] }, - "System.Diagnostics.DiagnosticSource/8.0.1": { - "sha512": "vaoWjvkG1aenR2XdjaVivlCV9fADfgyhW5bZtXT23qaEea0lWiUljdQuze4E31vKM7ZWJaSUsbYIKE3rnzfZUg==", + "System.Text.Encoding/4.3.0": { + "sha512": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", "type": "package", - "path": "system.diagnostics.diagnosticsource/8.0.1", + "path": "system.text.encoding/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", - "lib/net462/System.Diagnostics.DiagnosticSource.dll", - "lib/net462/System.Diagnostics.DiagnosticSource.xml", - "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", - "lib/net7.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net7.0/System.Diagnostics.DiagnosticSource.xml", - "lib/net8.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net8.0/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", - "system.diagnostics.diagnosticsource.8.0.1.nupkg.sha512", - "system.diagnostics.diagnosticsource.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.dll", + "ref/netcore50/System.Text.Encoding.xml", + "ref/netcore50/de/System.Text.Encoding.xml", + "ref/netcore50/es/System.Text.Encoding.xml", + "ref/netcore50/fr/System.Text.Encoding.xml", + "ref/netcore50/it/System.Text.Encoding.xml", + "ref/netcore50/ja/System.Text.Encoding.xml", + "ref/netcore50/ko/System.Text.Encoding.xml", + "ref/netcore50/ru/System.Text.Encoding.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.xml", + "ref/netstandard1.0/System.Text.Encoding.dll", + "ref/netstandard1.0/System.Text.Encoding.xml", + "ref/netstandard1.0/de/System.Text.Encoding.xml", + "ref/netstandard1.0/es/System.Text.Encoding.xml", + "ref/netstandard1.0/fr/System.Text.Encoding.xml", + "ref/netstandard1.0/it/System.Text.Encoding.xml", + "ref/netstandard1.0/ja/System.Text.Encoding.xml", + "ref/netstandard1.0/ko/System.Text.Encoding.xml", + "ref/netstandard1.0/ru/System.Text.Encoding.xml", + "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", + "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", + "ref/netstandard1.3/System.Text.Encoding.dll", + "ref/netstandard1.3/System.Text.Encoding.xml", + "ref/netstandard1.3/de/System.Text.Encoding.xml", + "ref/netstandard1.3/es/System.Text.Encoding.xml", + "ref/netstandard1.3/fr/System.Text.Encoding.xml", + "ref/netstandard1.3/it/System.Text.Encoding.xml", + "ref/netstandard1.3/ja/System.Text.Encoding.xml", + "ref/netstandard1.3/ko/System.Text.Encoding.xml", + "ref/netstandard1.3/ru/System.Text.Encoding.xml", + "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", + "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.encoding.4.3.0.nupkg.sha512", + "system.text.encoding.nuspec" ] }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "System.Text.Encoding.Extensions/4.3.0": { + "sha512": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", "type": "package", - "path": "system.runtime.compilerservices.unsafe/6.0.0", + "path": "system.text.encoding.extensions/4.3.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", - "buildTransitive/netcoreapp3.1/_._", - "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", - "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", - "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", - "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", - "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", - "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", - "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", - "system.runtime.compilerservices.unsafe.nuspec", - "useSharedDesignerContext.txt" + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.Extensions.dll", + "ref/netcore50/System.Text.Encoding.Extensions.xml", + "ref/netcore50/de/System.Text.Encoding.Extensions.xml", + "ref/netcore50/es/System.Text.Encoding.Extensions.xml", + "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", + "ref/netcore50/it/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/System.Text.Encoding.Extensions.dll", + "ref/netstandard1.0/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/de/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/es/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/fr/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/it/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ja/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ko/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ru/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/System.Text.Encoding.Extensions.dll", + "ref/netstandard1.3/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/de/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/es/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/fr/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/it/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ja/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ko/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ru/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.encoding.extensions.4.3.0.nupkg.sha512", + "system.text.encoding.extensions.nuspec" ] }, "System.Text.Encodings.Web/8.0.0": { @@ -1930,6 +7352,629 @@ "useSharedDesignerContext.txt" ] }, + "System.Text.RegularExpressions/4.3.0": { + "sha512": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "type": "package", + "path": "system.text.regularexpressions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Text.RegularExpressions.dll", + "lib/netcore50/System.Text.RegularExpressions.dll", + "lib/netstandard1.6/System.Text.RegularExpressions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Text.RegularExpressions.dll", + "ref/netcore50/System.Text.RegularExpressions.dll", + "ref/netcore50/System.Text.RegularExpressions.xml", + "ref/netcore50/de/System.Text.RegularExpressions.xml", + "ref/netcore50/es/System.Text.RegularExpressions.xml", + "ref/netcore50/fr/System.Text.RegularExpressions.xml", + "ref/netcore50/it/System.Text.RegularExpressions.xml", + "ref/netcore50/ja/System.Text.RegularExpressions.xml", + "ref/netcore50/ko/System.Text.RegularExpressions.xml", + "ref/netcore50/ru/System.Text.RegularExpressions.xml", + "ref/netcore50/zh-hans/System.Text.RegularExpressions.xml", + "ref/netcore50/zh-hant/System.Text.RegularExpressions.xml", + "ref/netcoreapp1.1/System.Text.RegularExpressions.dll", + "ref/netstandard1.0/System.Text.RegularExpressions.dll", + "ref/netstandard1.0/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/zh-hant/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/System.Text.RegularExpressions.dll", + "ref/netstandard1.3/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/zh-hant/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/System.Text.RegularExpressions.dll", + "ref/netstandard1.6/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/zh-hant/System.Text.RegularExpressions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.regularexpressions.4.3.0.nupkg.sha512", + "system.text.regularexpressions.nuspec" + ] + }, + "System.Threading/4.3.0": { + "sha512": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "type": "package", + "path": "system.threading/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Threading.dll", + "lib/netstandard1.3/System.Threading.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Threading.dll", + "ref/netcore50/System.Threading.xml", + "ref/netcore50/de/System.Threading.xml", + "ref/netcore50/es/System.Threading.xml", + "ref/netcore50/fr/System.Threading.xml", + "ref/netcore50/it/System.Threading.xml", + "ref/netcore50/ja/System.Threading.xml", + "ref/netcore50/ko/System.Threading.xml", + "ref/netcore50/ru/System.Threading.xml", + "ref/netcore50/zh-hans/System.Threading.xml", + "ref/netcore50/zh-hant/System.Threading.xml", + "ref/netstandard1.0/System.Threading.dll", + "ref/netstandard1.0/System.Threading.xml", + "ref/netstandard1.0/de/System.Threading.xml", + "ref/netstandard1.0/es/System.Threading.xml", + "ref/netstandard1.0/fr/System.Threading.xml", + "ref/netstandard1.0/it/System.Threading.xml", + "ref/netstandard1.0/ja/System.Threading.xml", + "ref/netstandard1.0/ko/System.Threading.xml", + "ref/netstandard1.0/ru/System.Threading.xml", + "ref/netstandard1.0/zh-hans/System.Threading.xml", + "ref/netstandard1.0/zh-hant/System.Threading.xml", + "ref/netstandard1.3/System.Threading.dll", + "ref/netstandard1.3/System.Threading.xml", + "ref/netstandard1.3/de/System.Threading.xml", + "ref/netstandard1.3/es/System.Threading.xml", + "ref/netstandard1.3/fr/System.Threading.xml", + "ref/netstandard1.3/it/System.Threading.xml", + "ref/netstandard1.3/ja/System.Threading.xml", + "ref/netstandard1.3/ko/System.Threading.xml", + "ref/netstandard1.3/ru/System.Threading.xml", + "ref/netstandard1.3/zh-hans/System.Threading.xml", + "ref/netstandard1.3/zh-hant/System.Threading.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Threading.dll", + "system.threading.4.3.0.nupkg.sha512", + "system.threading.nuspec" + ] + }, + "System.Threading.Channels/4.5.0": { + "sha512": "MEH06N0rIGmRT4LOKQ2BmUO0IxfvmIY/PaouSq+DFQku72OL8cxfw8W99uGpTCFf2vx2QHLRSh374iSM3asdTA==", + "type": "package", + "path": "system.threading.channels/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.1/System.Threading.Channels.dll", + "lib/netcoreapp2.1/System.Threading.Channels.xml", + "lib/netstandard1.3/System.Threading.Channels.dll", + "lib/netstandard1.3/System.Threading.Channels.xml", + "lib/netstandard2.0/System.Threading.Channels.dll", + "lib/netstandard2.0/System.Threading.Channels.xml", + "system.threading.channels.4.5.0.nupkg.sha512", + "system.threading.channels.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Threading.Tasks/4.3.0": { + "sha512": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "type": "package", + "path": "system.threading.tasks/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Threading.Tasks.dll", + "ref/netcore50/System.Threading.Tasks.xml", + "ref/netcore50/de/System.Threading.Tasks.xml", + "ref/netcore50/es/System.Threading.Tasks.xml", + "ref/netcore50/fr/System.Threading.Tasks.xml", + "ref/netcore50/it/System.Threading.Tasks.xml", + "ref/netcore50/ja/System.Threading.Tasks.xml", + "ref/netcore50/ko/System.Threading.Tasks.xml", + "ref/netcore50/ru/System.Threading.Tasks.xml", + "ref/netcore50/zh-hans/System.Threading.Tasks.xml", + "ref/netcore50/zh-hant/System.Threading.Tasks.xml", + "ref/netstandard1.0/System.Threading.Tasks.dll", + "ref/netstandard1.0/System.Threading.Tasks.xml", + "ref/netstandard1.0/de/System.Threading.Tasks.xml", + "ref/netstandard1.0/es/System.Threading.Tasks.xml", + "ref/netstandard1.0/fr/System.Threading.Tasks.xml", + "ref/netstandard1.0/it/System.Threading.Tasks.xml", + "ref/netstandard1.0/ja/System.Threading.Tasks.xml", + "ref/netstandard1.0/ko/System.Threading.Tasks.xml", + "ref/netstandard1.0/ru/System.Threading.Tasks.xml", + "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", + "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", + "ref/netstandard1.3/System.Threading.Tasks.dll", + "ref/netstandard1.3/System.Threading.Tasks.xml", + "ref/netstandard1.3/de/System.Threading.Tasks.xml", + "ref/netstandard1.3/es/System.Threading.Tasks.xml", + "ref/netstandard1.3/fr/System.Threading.Tasks.xml", + "ref/netstandard1.3/it/System.Threading.Tasks.xml", + "ref/netstandard1.3/ja/System.Threading.Tasks.xml", + "ref/netstandard1.3/ko/System.Threading.Tasks.xml", + "ref/netstandard1.3/ru/System.Threading.Tasks.xml", + "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", + "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.tasks.4.3.0.nupkg.sha512", + "system.threading.tasks.nuspec" + ] + }, + "System.Threading.Tasks.Extensions/4.3.0": { + "sha512": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "type": "package", + "path": "system.threading.tasks.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll", + "lib/netstandard1.0/System.Threading.Tasks.Extensions.xml", + "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll", + "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml", + "system.threading.tasks.extensions.4.3.0.nupkg.sha512", + "system.threading.tasks.extensions.nuspec" + ] + }, + "System.Threading.Timer/4.3.0": { + "sha512": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "type": "package", + "path": "system.threading.timer/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net451/_._", + "lib/portable-net451+win81+wpa81/_._", + "lib/win81/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net451/_._", + "ref/netcore50/System.Threading.Timer.dll", + "ref/netcore50/System.Threading.Timer.xml", + "ref/netcore50/de/System.Threading.Timer.xml", + "ref/netcore50/es/System.Threading.Timer.xml", + "ref/netcore50/fr/System.Threading.Timer.xml", + "ref/netcore50/it/System.Threading.Timer.xml", + "ref/netcore50/ja/System.Threading.Timer.xml", + "ref/netcore50/ko/System.Threading.Timer.xml", + "ref/netcore50/ru/System.Threading.Timer.xml", + "ref/netcore50/zh-hans/System.Threading.Timer.xml", + "ref/netcore50/zh-hant/System.Threading.Timer.xml", + "ref/netstandard1.2/System.Threading.Timer.dll", + "ref/netstandard1.2/System.Threading.Timer.xml", + "ref/netstandard1.2/de/System.Threading.Timer.xml", + "ref/netstandard1.2/es/System.Threading.Timer.xml", + "ref/netstandard1.2/fr/System.Threading.Timer.xml", + "ref/netstandard1.2/it/System.Threading.Timer.xml", + "ref/netstandard1.2/ja/System.Threading.Timer.xml", + "ref/netstandard1.2/ko/System.Threading.Timer.xml", + "ref/netstandard1.2/ru/System.Threading.Timer.xml", + "ref/netstandard1.2/zh-hans/System.Threading.Timer.xml", + "ref/netstandard1.2/zh-hant/System.Threading.Timer.xml", + "ref/portable-net451+win81+wpa81/_._", + "ref/win81/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.timer.4.3.0.nupkg.sha512", + "system.threading.timer.nuspec" + ] + }, + "System.ValueTuple/4.3.0": { + "sha512": "cNLEvBX3d6MMQRZe3SMFNukVbitDAEpVZO17qa0/2FHxZ7Y7PpFRpr6m2615XYM/tYYYf0B+WyHNujqIw8Luwg==", + "type": "package", + "path": "system.valuetuple/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/.xml", + "lib/netstandard1.0/System.ValueTuple.dll", + "lib/portable-net40+sl4+win8+wp8/.xml", + "lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll", + "system.valuetuple.4.3.0.nupkg.sha512", + "system.valuetuple.nuspec" + ] + }, + "System.Xml.ReaderWriter/4.3.0": { + "sha512": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "type": "package", + "path": "system.xml.readerwriter/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net46/System.Xml.ReaderWriter.dll", + "lib/netcore50/System.Xml.ReaderWriter.dll", + "lib/netstandard1.3/System.Xml.ReaderWriter.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net46/System.Xml.ReaderWriter.dll", + "ref/netcore50/System.Xml.ReaderWriter.dll", + "ref/netcore50/System.Xml.ReaderWriter.xml", + "ref/netcore50/de/System.Xml.ReaderWriter.xml", + "ref/netcore50/es/System.Xml.ReaderWriter.xml", + "ref/netcore50/fr/System.Xml.ReaderWriter.xml", + "ref/netcore50/it/System.Xml.ReaderWriter.xml", + "ref/netcore50/ja/System.Xml.ReaderWriter.xml", + "ref/netcore50/ko/System.Xml.ReaderWriter.xml", + "ref/netcore50/ru/System.Xml.ReaderWriter.xml", + "ref/netcore50/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netcore50/zh-hant/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/System.Xml.ReaderWriter.dll", + "ref/netstandard1.0/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/de/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/es/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/fr/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/it/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ja/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ko/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ru/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/zh-hant/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/System.Xml.ReaderWriter.dll", + "ref/netstandard1.3/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/de/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/es/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/fr/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/it/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ja/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ko/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ru/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/zh-hant/System.Xml.ReaderWriter.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.readerwriter.4.3.0.nupkg.sha512", + "system.xml.readerwriter.nuspec" + ] + }, + "System.Xml.XDocument/4.3.0": { + "sha512": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "type": "package", + "path": "system.xml.xdocument/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Xml.XDocument.dll", + "lib/netstandard1.3/System.Xml.XDocument.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Xml.XDocument.dll", + "ref/netcore50/System.Xml.XDocument.xml", + "ref/netcore50/de/System.Xml.XDocument.xml", + "ref/netcore50/es/System.Xml.XDocument.xml", + "ref/netcore50/fr/System.Xml.XDocument.xml", + "ref/netcore50/it/System.Xml.XDocument.xml", + "ref/netcore50/ja/System.Xml.XDocument.xml", + "ref/netcore50/ko/System.Xml.XDocument.xml", + "ref/netcore50/ru/System.Xml.XDocument.xml", + "ref/netcore50/zh-hans/System.Xml.XDocument.xml", + "ref/netcore50/zh-hant/System.Xml.XDocument.xml", + "ref/netstandard1.0/System.Xml.XDocument.dll", + "ref/netstandard1.0/System.Xml.XDocument.xml", + "ref/netstandard1.0/de/System.Xml.XDocument.xml", + "ref/netstandard1.0/es/System.Xml.XDocument.xml", + "ref/netstandard1.0/fr/System.Xml.XDocument.xml", + "ref/netstandard1.0/it/System.Xml.XDocument.xml", + "ref/netstandard1.0/ja/System.Xml.XDocument.xml", + "ref/netstandard1.0/ko/System.Xml.XDocument.xml", + "ref/netstandard1.0/ru/System.Xml.XDocument.xml", + "ref/netstandard1.0/zh-hans/System.Xml.XDocument.xml", + "ref/netstandard1.0/zh-hant/System.Xml.XDocument.xml", + "ref/netstandard1.3/System.Xml.XDocument.dll", + "ref/netstandard1.3/System.Xml.XDocument.xml", + "ref/netstandard1.3/de/System.Xml.XDocument.xml", + "ref/netstandard1.3/es/System.Xml.XDocument.xml", + "ref/netstandard1.3/fr/System.Xml.XDocument.xml", + "ref/netstandard1.3/it/System.Xml.XDocument.xml", + "ref/netstandard1.3/ja/System.Xml.XDocument.xml", + "ref/netstandard1.3/ko/System.Xml.XDocument.xml", + "ref/netstandard1.3/ru/System.Xml.XDocument.xml", + "ref/netstandard1.3/zh-hans/System.Xml.XDocument.xml", + "ref/netstandard1.3/zh-hant/System.Xml.XDocument.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.xdocument.4.3.0.nupkg.sha512", + "system.xml.xdocument.nuspec" + ] + }, + "xunit/2.6.1": { + "sha512": "SnTEV7LFf2s3GJua5AJKB/m115jDcWJSG5n02YZS05iezU2QJKjShCsOxlxL8FUO+J7h2/yXGEr+evgpIHc3sA==", + "type": "package", + "path": "xunit/2.6.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "xunit.2.6.1.nupkg.sha512", + "xunit.nuspec" + ] + }, + "xunit.abstractions/2.0.3": { + "sha512": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==", + "type": "package", + "path": "xunit.abstractions/2.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net35/xunit.abstractions.dll", + "lib/net35/xunit.abstractions.xml", + "lib/netstandard1.0/xunit.abstractions.dll", + "lib/netstandard1.0/xunit.abstractions.xml", + "lib/netstandard2.0/xunit.abstractions.dll", + "lib/netstandard2.0/xunit.abstractions.xml", + "xunit.abstractions.2.0.3.nupkg.sha512", + "xunit.abstractions.nuspec" + ] + }, + "xunit.analyzers/1.4.0": { + "sha512": "7ljnTJfFjz5zK+Jf0h2dd2QOSO6UmFizXsojv/x4QX7TU5vEgtKZPk9RvpkiuUqg2bddtNZufBoKQalsi7djfA==", + "type": "package", + "path": "xunit.analyzers/1.4.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "analyzers/dotnet/cs/xunit.analyzers.dll", + "analyzers/dotnet/cs/xunit.analyzers.fixes.dll", + "tools/install.ps1", + "tools/uninstall.ps1", + "xunit.analyzers.1.4.0.nupkg.sha512", + "xunit.analyzers.nuspec" + ] + }, + "xunit.assert/2.6.1": { + "sha512": "+4bI81RS88tiYvfsBfC0YsdDd8v7kkLkRtDXmux3YBT8u1afhjdwxwBvkHGgrQ6NPRzE8xZpVGX2iaLkbXvYvg==", + "type": "package", + "path": "xunit.assert/2.6.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net6.0/xunit.assert.dll", + "lib/net6.0/xunit.assert.xml", + "lib/netstandard1.1/xunit.assert.dll", + "lib/netstandard1.1/xunit.assert.xml", + "xunit.assert.2.6.1.nupkg.sha512", + "xunit.assert.nuspec" + ] + }, + "xunit.core/2.6.1": { + "sha512": "Ru0POZXVYwa/G3/tS3TO3Yug/P+08RPeDkuepTmywNjfICYwHHY9zJBoxdeziZ0OintLtLKUMOBcC6VJzjqhwg==", + "type": "package", + "path": "xunit.core/2.6.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "build/xunit.core.props", + "build/xunit.core.targets", + "buildMultiTargeting/xunit.core.props", + "buildMultiTargeting/xunit.core.targets", + "xunit.core.2.6.1.nupkg.sha512", + "xunit.core.nuspec" + ] + }, + "Xunit.DependencyInjection/7.7.0": { + "sha512": "LD0LcogvRRsVMqKqJoeoHoMt8dTMdhTy9r0otrvZZGX9ujwHpthFj6uO6145XZ9TLKOb/rLAEYLJMoJFSCs0pw==", + "type": "package", + "path": "xunit.dependencyinjection/7.7.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/Xunit.DependencyInjection.Analyzer.deps.json", + "analyzers/dotnet/cs/Xunit.DependencyInjection.Analyzer.dll", + "analyzers/dotnet/cs/Xunit.DependencyInjection.Analyzer.pdb", + "analyzers/dotnet/cs/Xunit.DependencyInjection.Analyzer.xml", + "build/net461/Xunit.DependencyInjection.targets", + "build/netstandard2.0/Xunit.DependencyInjection.targets", + "buildMultiTargeting/Xunit.DependencyInjection.targets", + "buildTransitive/net461/Xunit.DependencyInjection.targets", + "buildTransitive/netstandard2.0/Xunit.DependencyInjection.targets", + "lib/net461/Xunit.DependencyInjection.dll", + "lib/net461/Xunit.DependencyInjection.pdb", + "lib/net461/Xunit.DependencyInjection.xml", + "lib/netstandard2.0/Xunit.DependencyInjection.dll", + "lib/netstandard2.0/Xunit.DependencyInjection.pdb", + "lib/netstandard2.0/Xunit.DependencyInjection.xml", + "tools/install.ps1", + "tools/uninstall.ps1", + "xunit.dependencyinjection.7.7.0.nupkg.sha512", + "xunit.dependencyinjection.nuspec" + ] + }, + "xunit.extensibility.core/2.6.1": { + "sha512": "DA4NqcFGLlRxX2zP3QptlQuRoOSdmBkr17ntK29jfRXqScj2fysIhvQvF5DHtDzAEkoRPqZcfR/IRGSItxmRqw==", + "type": "package", + "path": "xunit.extensibility.core/2.6.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net452/xunit.core.dll", + "lib/net452/xunit.core.dll.tdnet", + "lib/net452/xunit.core.xml", + "lib/net452/xunit.runner.tdnet.dll", + "lib/net452/xunit.runner.utility.net452.dll", + "lib/netstandard1.1/xunit.core.dll", + "lib/netstandard1.1/xunit.core.xml", + "xunit.extensibility.core.2.6.1.nupkg.sha512", + "xunit.extensibility.core.nuspec" + ] + }, + "xunit.extensibility.execution/2.6.1": { + "sha512": "sLKPQKuEQhRuhVuLiYEkRdUcwCfp+BIKds3r0JL8AYvOWRmVYYKWYouuYzPjmeUF6iEGC9CHCVz/NF1+wv+Mag==", + "type": "package", + "path": "xunit.extensibility.execution/2.6.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net452/xunit.execution.desktop.dll", + "lib/net452/xunit.execution.desktop.xml", + "lib/netstandard1.1/xunit.execution.dotnet.dll", + "lib/netstandard1.1/xunit.execution.dotnet.xml", + "xunit.extensibility.execution.2.6.1.nupkg.sha512", + "xunit.extensibility.execution.nuspec" + ] + }, "Haoliang.Core/1.0.0": { "type": "project", "path": "../Haoliang.Core/Haoliang.Core.csproj", @@ -1953,10 +7998,18 @@ "Haoliang.Models >= 1.0.0", "Microsoft.AspNetCore.Cors >= 2.3.0", "Microsoft.AspNetCore.Mvc.NewtonsoftJson >= 6.0.0", + "Microsoft.AspNetCore.SignalR >= 1.1.0", + "Microsoft.AspNetCore.SignalR.Protocols.MessagePack >= 1.1.0", "Microsoft.EntityFrameworkCore.Design >= 7.0.2", "Microsoft.EntityFrameworkCore.Tools >= 7.0.2", + "Microsoft.Extensions.Caching.Memory >= 7.0.0", + "Microsoft.Extensions.Caching.StackExchangeRedis >= 6.0.0", + "Moq >= 4.20.69", "Pomelo.EntityFrameworkCore.MySql >= 7.0.0", - "Swashbuckle.AspNetCore >= 6.5.0" + "StackExchange.Redis >= 2.6.122", + "Swashbuckle.AspNetCore >= 6.5.0", + "Xunit.DependencyInjection >= 7.7.0", + "xunit >= 2.6.1" ] }, "packageFolders": { @@ -2014,6 +8067,14 @@ "target": "Package", "version": "[6.0.0, )" }, + "Microsoft.AspNetCore.SignalR": { + "target": "Package", + "version": "[1.1.0, )" + }, + "Microsoft.AspNetCore.SignalR.Protocols.MessagePack": { + "target": "Package", + "version": "[1.1.0, )" + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2026,13 +8087,37 @@ "target": "Package", "version": "[7.0.2, )" }, + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[7.0.0, )" + }, + "Microsoft.Extensions.Caching.StackExchangeRedis": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Moq": { + "target": "Package", + "version": "[4.20.69, )" + }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", "version": "[7.0.0, )" }, + "StackExchange.Redis": { + "target": "Package", + "version": "[2.6.122, )" + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[6.5.0, )" + }, + "Xunit.DependencyInjection": { + "target": "Package", + "version": "[7.7.0, )" + }, + "xunit": { + "target": "Package", + "version": "[2.6.1, )" } }, "imports": [ diff --git a/Haoliang.Api/obj/project.nuget.cache b/Haoliang.Api/obj/project.nuget.cache index 9560803..682eb05 100644 --- a/Haoliang.Api/obj/project.nuget.cache +++ b/Haoliang.Api/obj/project.nuget.cache @@ -1,16 +1,37 @@ { "version": 2, - "dgSpecHash": "rf8aFVRiFQwg0xDg31tFCBl3lY9bGLl2JY9FWoCZLzcRy7s21dFiCjsegb24H1j4sj1KmlSdHAfbur13AerStw==", + "dgSpecHash": "iyYFED9MoYEL4mRTwzsS9YWC8COENma8aqxGbVOV+D866T8f96/0OL3jSTYUPkdcLCH7Yv7t5UUipEHM3Nkdxg==", "success": true, "projectFilePath": "/root/opencode/haoliang/Haoliang.Api/Haoliang.Api.csproj", "expectedPackageFiles": [ + "/root/.nuget/packages/bcrypt.net-next/4.0.3/bcrypt.net-next.4.0.3.nupkg.sha512", + "/root/.nuget/packages/castle.core/5.1.1/castle.core.5.1.1.nupkg.sha512", "/root/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512", + "/root/.nuget/packages/messagepack/1.7.3.4/messagepack.1.7.3.4.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.authentication.abstractions/2.2.0/microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.authorization/2.2.0/microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.authorization.policy/2.2.0/microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.connections.abstractions/2.2.0/microsoft.aspnetcore.connections.abstractions.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.cors/2.3.0/microsoft.aspnetcore.cors.2.3.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.hosting.abstractions/2.2.0/microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.hosting.server.abstractions/2.2.0/microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http/2.2.0/microsoft.aspnetcore.http.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.http.abstractions/2.3.0/microsoft.aspnetcore.http.abstractions.2.3.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http.connections/1.1.0/microsoft.aspnetcore.http.connections.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http.connections.common/1.1.0/microsoft.aspnetcore.http.connections.common.1.1.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.http.extensions/2.3.0/microsoft.aspnetcore.http.extensions.2.3.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.http.features/2.3.0/microsoft.aspnetcore.http.features.2.3.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.jsonpatch/6.0.0/microsoft.aspnetcore.jsonpatch.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.mvc.newtonsoftjson/6.0.0/microsoft.aspnetcore.mvc.newtonsoftjson.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.routing/2.2.0/microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.routing.abstractions/2.2.0/microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr/1.1.0/microsoft.aspnetcore.signalr.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr.common/1.1.0/microsoft.aspnetcore.signalr.common.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr.core/1.1.0/microsoft.aspnetcore.signalr.core.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr.protocols.json/1.1.0/microsoft.aspnetcore.signalr.protocols.json.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr.protocols.messagepack/1.1.0/microsoft.aspnetcore.signalr.protocols.messagepack.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.websockets/2.2.0/microsoft.aspnetcore.websockets.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.webutilities/2.2.0/microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg.sha512", "/root/.nuget/packages/microsoft.entityframeworkcore/7.0.2/microsoft.entityframeworkcore.7.0.2.nupkg.sha512", "/root/.nuget/packages/microsoft.entityframeworkcore.abstractions/7.0.2/microsoft.entityframeworkcore.abstractions.7.0.2.nupkg.sha512", @@ -21,32 +42,133 @@ "/root/.nuget/packages/microsoft.extensions.apidescription.server/6.0.5/microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.caching.abstractions/7.0.0/microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.caching.memory/7.0.0/microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.caching.stackexchangeredis/6.0.0/microsoft.extensions.caching.stackexchangeredis.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration/2.1.0/microsoft.extensions.configuration.2.1.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.dependencyinjection/7.0.0/microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/8.0.2/microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.dependencymodel/7.0.0/microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.fileproviders.abstractions/8.0.0/microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.fileproviders.physical/2.1.0/microsoft.extensions.fileproviders.physical.2.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.filesystemglobbing/2.1.0/microsoft.extensions.filesystemglobbing.2.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.hosting/2.1.0/microsoft.extensions.hosting.2.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.hosting.abstractions/2.2.0/microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.logging/7.0.0/microsoft.extensions.logging.7.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.logging.abstractions/8.0.2/microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.objectpool/2.2.0/microsoft.extensions.objectpool.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.options/8.0.2/microsoft.extensions.options.8.0.2.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.primitives/8.0.0/microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.abstractions/6.26.0/microsoft.identitymodel.abstractions.6.26.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.jsonwebtokens/6.26.0/microsoft.identitymodel.jsonwebtokens.6.26.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.logging/6.26.0/microsoft.identitymodel.logging.6.26.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.tokens/6.26.0/microsoft.identitymodel.tokens.6.26.0.nupkg.sha512", "/root/.nuget/packages/microsoft.net.http.headers/2.3.0/microsoft.net.http.headers.2.3.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.netcore.platforms/2.0.0/microsoft.netcore.platforms.2.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512", "/root/.nuget/packages/microsoft.openapi/1.2.3/microsoft.openapi.1.2.3.nupkg.sha512", + "/root/.nuget/packages/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg.sha512", "/root/.nuget/packages/mono.texttemplating/2.2.1/mono.texttemplating.2.2.1.nupkg.sha512", + "/root/.nuget/packages/moq/4.20.69/moq.4.20.69.nupkg.sha512", "/root/.nuget/packages/mysqlconnector/2.2.5/mysqlconnector.2.2.5.nupkg.sha512", + "/root/.nuget/packages/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg.sha512", "/root/.nuget/packages/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg.sha512", "/root/.nuget/packages/newtonsoft.json.bson/1.0.2/newtonsoft.json.bson.1.0.2.nupkg.sha512", + "/root/.nuget/packages/pipelines.sockets.unofficial/2.2.8/pipelines.sockets.unofficial.2.2.8.nupkg.sha512", "/root/.nuget/packages/pomelo.entityframeworkcore.mysql/7.0.0/pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", + "/root/.nuget/packages/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.native.system.net.http/4.3.0/runtime.native.system.net.http.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.native.system.security.cryptography.apple/4.3.0/runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/stackexchange.redis/2.6.122/stackexchange.redis.2.6.122.nupkg.sha512", "/root/.nuget/packages/swashbuckle.aspnetcore/6.5.0/swashbuckle.aspnetcore.6.5.0.nupkg.sha512", "/root/.nuget/packages/swashbuckle.aspnetcore.swagger/6.5.0/swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512", "/root/.nuget/packages/swashbuckle.aspnetcore.swaggergen/6.5.0/swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512", "/root/.nuget/packages/swashbuckle.aspnetcore.swaggerui/6.5.0/swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512", + "/root/.nuget/packages/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.buffers/4.6.0/system.buffers.4.6.0.nupkg.sha512", "/root/.nuget/packages/system.codedom/4.4.0/system.codedom.4.4.0.nupkg.sha512", + "/root/.nuget/packages/system.collections/4.3.0/system.collections.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.console/4.3.0/system.console.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.diagnostics.diagnosticsource/8.0.1/system.diagnostics.diagnosticsource.8.0.1.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.eventlog/6.0.0/system.diagnostics.eventlog.6.0.0.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.globalization/4.3.0/system.globalization.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.identitymodel.tokens.jwt/6.26.0/system.identitymodel.tokens.jwt.6.26.0.nupkg.sha512", + "/root/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.io.pipelines/5.0.1/system.io.pipelines.5.0.1.nupkg.sha512", + "/root/.nuget/packages/system.linq/4.3.0/system.linq.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.net.http/4.3.0/system.net.http.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.net.websockets.websocketprotocol/4.5.1/system.net.websockets.websocketprotocol.4.5.1.nupkg.sha512", + "/root/.nuget/packages/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.reflection/4.3.0/system.reflection.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.reflection.emit.ilgeneration/4.3.0/system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.reflection.typeextensions/4.3.0/system.reflection.typeextensions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime/4.3.0/system.runtime.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime.serialization.primitives/4.3.0/system.runtime.serialization.primitives.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.cng/4.5.0/system.security.cryptography.cng.4.5.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg.sha512", + "/root/.nuget/packages/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.text.encodings.web/8.0.0/system.text.encodings.web.8.0.0.nupkg.sha512", - "/root/.nuget/packages/system.text.json/7.0.0/system.text.json.7.0.0.nupkg.sha512" + "/root/.nuget/packages/system.text.json/7.0.0/system.text.json.7.0.0.nupkg.sha512", + "/root/.nuget/packages/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.threading/4.3.0/system.threading.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.threading.channels/4.5.0/system.threading.channels.4.5.0.nupkg.sha512", + "/root/.nuget/packages/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.valuetuple/4.3.0/system.valuetuple.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg.sha512", + "/root/.nuget/packages/xunit/2.6.1/xunit.2.6.1.nupkg.sha512", + "/root/.nuget/packages/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg.sha512", + "/root/.nuget/packages/xunit.analyzers/1.4.0/xunit.analyzers.1.4.0.nupkg.sha512", + "/root/.nuget/packages/xunit.assert/2.6.1/xunit.assert.2.6.1.nupkg.sha512", + "/root/.nuget/packages/xunit.core/2.6.1/xunit.core.2.6.1.nupkg.sha512", + "/root/.nuget/packages/xunit.dependencyinjection/7.7.0/xunit.dependencyinjection.7.7.0.nupkg.sha512", + "/root/.nuget/packages/xunit.extensibility.core/2.6.1/xunit.extensibility.core.2.6.1.nupkg.sha512", + "/root/.nuget/packages/xunit.extensibility.execution/2.6.1/xunit.extensibility.execution.2.6.1.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/Haoliang.Core/Services/AlarmService.cs b/Haoliang.Core/Services/AlarmService.cs index fcee08d..6c8c0ee 100644 --- a/Haoliang.Core/Services/AlarmService.cs +++ b/Haoliang.Core/Services/AlarmService.cs @@ -1,7 +1,12 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Haoliang.Models.System; +using Haoliang.Models.Device; +using Haoliang.Models.DataCollection; +using Haoliang.Data.Repositories; +using Haoliang.Core.Services; namespace Haoliang.Core.Services { @@ -180,4 +185,464 @@ namespace Haoliang.Core.Services return await _alarmRepository.GetByDeviceAndDateRangeAsync(deviceId, startDate, endDate); } } + + public class AlarmRuleService : IAlarmRuleService + { + private readonly IAlarmRuleRepository _ruleRepository; + private readonly IAlarmRepository _alarmRepository; + private readonly IDeviceRepository _deviceRepository; + private readonly ILoggerService _logger; + + public AlarmRuleService( + IAlarmRuleRepository ruleRepository, + IAlarmRepository alarmRepository, + IDeviceRepository deviceRepository, + ILoggerService logger) + { + _ruleRepository = ruleRepository; + _alarmRepository = alarmRepository; + _deviceRepository = deviceRepository; + _logger = logger; + } + + public async Task CreateAlarmRuleAsync(AlarmRule rule) + { + rule.IsActive = true; + rule.CreateTime = DateTime.Now; + rule.UpdateTime = DateTime.Now; + + return await _ruleRepository.AddAsync(rule); + } + + public async Task UpdateAlarmRuleAsync(int ruleId, AlarmRule rule) + { + var existingRule = await _ruleRepository.GetByIdAsync(ruleId); + if (existingRule == null) + { + throw new KeyNotFoundException($"Alarm rule with ID {ruleId} not found"); + } + + rule.RuleId = ruleId; + rule.UpdateTime = DateTime.Now; + + return await _ruleRepository.UpdateAsync(rule); + } + + public async Task DeleteAlarmRuleAsync(int ruleId) + { + return await _ruleRepository.DeleteAsync(ruleId); + } + + public async Task GetAlarmRuleByIdAsync(int ruleId) + { + return await _ruleRepository.GetByIdAsync(ruleId); + } + + public async Task> GetAllAlarmRulesAsync() + { + return await _ruleRepository.GetAllAsync(); + } + + public async Task> GetActiveAlarmRulesAsync() + { + return await _ruleRepository.GetByStatusAsync(true); + } + + public async Task> GetRulesByDeviceAsync(int deviceId) + { + return await _ruleRepository.GetByDeviceIdAsync(deviceId); + } + + public async Task EvaluateAlarmRuleAsync(AlarmRule rule, DeviceCurrentStatus status) + { + if (!rule.IsActive || status == null) + return false; + + try + { + switch (rule.RuleType) + { + case AlarmRuleType.DeviceOffline: + return EvaluateDeviceOfflineRule(rule, status); + + case AlarmRuleType.TemperatureHigh: + return EvaluateTemperatureRule(rule, status); + + case AlarmRuleType.PressureHigh: + return EvaluatePressureRule(rule, status); + + case AlarmRuleType.ProductionStop: + return EvaluateProductionStopRule(rule, status); + + case AlarmRuleType.NetworkError: + return EvaluateNetworkErrorRule(rule, status); + + default: + return false; + } + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Failed to evaluate alarm rule {rule.RuleId}: {ex.Message}"); + return false; + } + } + + public async Task GenerateAlarmFromRuleAsync(AlarmRule rule, DeviceCurrentStatus status) + { + var alarm = new Alarm + { + DeviceId = status.DeviceId, + DeviceCode = "", // Will be populated from device + AlarmType = rule.AlarmType, + Severity = rule.Severity, + Title = rule.AlarmTitle, + Description = rule.AlarmDescription, + AlarmStatus = AlarmStatus.Active, + RuleId = rule.RuleId, + CreateTime = DateTime.Now, + UpdateTime = DateTime.Now + }; + + // Get device code + var device = await _deviceRepository.GetByIdAsync(status.DeviceId); + if (device != null) + { + alarm.DeviceCode = device.DeviceCode; + } + + return alarm; + } + + public async Task TestAlarmRuleAsync(int ruleId) + { + var rule = await _ruleRepository.GetByIdAsync(ruleId); + if (rule == null) + throw new KeyNotFoundException($"Alarm rule with ID {ruleId} not found"); + + // Get a sample device status for testing + var devices = await _deviceRepository.GetAllAsync(); + if (!devices.Any()) + throw new Exception("No devices available for testing"); + + var sampleDevice = devices.First(); + var deviceStatus = new DeviceCurrentStatus + { + DeviceId = sampleDevice.Id, + Status = "Running", + IsRunning = true, + NCProgram = "O1234", + CumulativeCount = 1000, + RecordTime = DateTime.Now + }; + + // Evaluate the rule + var shouldTrigger = await EvaluateAlarmRuleAsync(rule, deviceStatus); + + if (shouldTrigger) + { + var alarm = await GenerateAlarmFromRuleAsync(rule, deviceStatus); + alarm.Title = $"Test Alarm: {rule.AlarmTitle}"; + alarm.Description = $"This is a test alarm for rule '{rule.RuleName}'."; + + await _alarmRepository.AddAsync(alarm); + await _alarmRepository.SaveAsync(); + + await _logger.LogInformationAsync($"Test alarm created for rule {rule.RuleId}"); + } + else + { + await _logger.LogInformationAsync($"Rule {rule.RuleId} did not trigger alarm during test"); + } + } + + private bool EvaluateDeviceOfflineRule(AlarmRule rule, DeviceCurrentStatus status) + { + // Check if device status indicates offline + return status.Status?.ToLower() == "offline" || + !status.IsRunning || + string.IsNullOrEmpty(status.NCProgram); + } + + private bool EvaluateTemperatureRule(AlarmRule rule, DeviceCurrentStatus status) + { + // Find temperature tag + var temperatureTag = status.Tags?.FirstOrDefault(t => t.Id?.Contains("temp") == true || t.Id?.Contains("温度") == true); + if (temperatureTag == null || temperatureTag.Value == null) + return false; + + if (decimal.TryParse(temperatureTag.Value.ToString(), out decimal temperature)) + { + return temperature > rule.ThresholdValue; + } + + return false; + } + + private bool EvaluatePressureRule(AlarmRule rule, DeviceCurrentStatus status) + { + // Find pressure tag + var pressureTag = status.Tags?.FirstOrDefault(t => t.Id?.Contains("pressure") == true || t.Id?.Contains("压力") == true); + if (pressureTag == null || pressureTag.Value == null) + return false; + + if (decimal.TryParse(pressureTag.Value.ToString(), out decimal pressure)) + { + return pressure > rule.ThresholdValue; + } + + return false; + } + + private bool EvaluateProductionStopRule(AlarmRule rule, DeviceCurrentStatus status) + { + // Check if device has been stopped for specified duration + var stopDuration = TimeSpan.FromMinutes(rule.ThresholdValue); + return !status.IsRunning && + status.RecordTime < DateTime.Now.Subtract(stopDuration); + } + + private bool EvaluateNetworkErrorRule(AlarmRule rule, DeviceCurrentStatus status) + { + // Check for network-related errors in status + return status.Tags?.Any(t => t.Id?.Contains("error") == true && t.Value?.ToString() == "1") == true; + } + } + + public class AlarmNotificationService : IAlarmNotificationService + { + private readonly IAlarmNotificationRepository _notificationRepository; + private readonly IEmailService _emailService; + private readonly ISmsService _smsService; + private readonly IWechatService _wechatService; + private readonly ILoggerService _logger; + private readonly IDeviceRepository _deviceRepository; + + public AlarmNotificationService( + IAlarmNotificationRepository notificationRepository, + IEmailService emailService, + ISmsService smsService, + IWechatService wechatService, + ILoggerService logger, + IDeviceRepository deviceRepository) + { + _notificationRepository = notificationRepository; + _emailService = emailService; + _smsService = smsService; + _wechatService = wechatService; + _logger = logger; + _deviceRepository = deviceRepository; + } + + public async Task SendAlarmNotificationAsync(Alarm alarm) + { + try + { + var device = await _deviceRepository.GetByIdAsync(alarm.DeviceId); + var notificationChannels = await GetNotificationChannelsForDevice(alarm.DeviceId); + + foreach (var channel in notificationChannels) + { + if (channel.IsEnabled) + { + await SendNotificationViaChannel(alarm, channel, device); + } + } + + // Log the notification + await LogNotificationSent(alarm, notificationChannels.Count()); + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Failed to send alarm notification for alarm {alarm.AlarmId}: {ex.Message}"); + } + } + + public async Task SendBulkAlarmNotificationsAsync(IEnumerable alarms) + { + foreach (var alarm in alarms) + { + await SendAlarmNotificationAsync(alarm); + } + } + + public async Task SendSmsNotificationAsync(string phoneNumber, string message) + { + try + { + return await _smsService.SendSmsAsync(phoneNumber, message); + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Failed to send SMS to {phoneNumber}: {ex.Message}"); + return false; + } + } + + public async Task SendEmailNotificationAsync(string email, string subject, string message) + { + try + { + return await _emailService.SendEmailAsync(email, subject, message); + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Failed to send email to {email}: {ex.Message}"); + return false; + } + } + + public async Task SendWechatNotificationAsync(string openId, string message) + { + try + { + return await _wechatService.SendMessageAsync(openId, message); + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Failed to send WeChat message to {openId}: {ex.Message}"); + return false; + } + } + + public async Task> GetNotificationHistoryAsync(DateTime startDate, DateTime endDate) + { + return await _notificationRepository.GetByDateRangeAsync(startDate, endDate); + } + + public async Task ConfigureNotificationChannelAsync(NotificationChannel channel) + { + // Validate channel configuration + if (!ValidateChannelConfiguration(channel)) + return false; + + // Save channel configuration + return await _notificationRepository.SaveChannelAsync(channel); + } + + public async Task> GetAvailableChannelsAsync() + { + return await _notificationRepository.GetAllChannelsAsync(); + } + + private async Task> GetNotificationChannelsForDevice(int deviceId) + { + // This would typically query the database for device-specific notification settings + // For now, return a default set of channels + return new List + { + new NotificationChannel { ChannelType = NotificationChannelType.Email, IsEnabled = true }, + new NotificationChannel { ChannelType = NotificationChannelType.Sms, IsEnabled = false }, + new NotificationChannel { ChannelType = NotificationChannelType.WeChat, IsEnabled = false } + }; + } + + private async Task SendNotificationViaChannel(Alarm alarm, NotificationChannel channel, Device device) + { + var message = FormatAlarmMessage(alarm, device); + var subject = $"Alarm: {alarm.AlarmType} - {device?.DeviceCode}"; + + switch (channel.ChannelType) + { + case NotificationChannelType.Email: + if (!string.IsNullOrEmpty(channel.Recipient)) + { + await SendEmailNotificationAsync(channel.Recipient, subject, message); + } + break; + + case NotificationChannelType.Sms: + if (!string.IsNullOrEmpty(channel.Recipient)) + { + await SendSmsNotificationAsync(channel.Recipient, message); + } + break; + + case NotificationChannelType.WeChat: + if (!string.IsNullOrEmpty(channel.Recipient)) + { + await SendWechatNotificationAsync(channel.Recipient, message); + } + break; + } + } + + private string FormatAlarmMessage(Alarm alarm, Device device) + { + return $"🚨 Alarm Alert\n\n" + + $"Device: {device?.DeviceCode} ({device?.DeviceName})\n" + + $"Type: {alarm.AlarmType}\n" + + $"Severity: {alarm.Severity}\n" + + $"Title: {alarm.Title}\n" + + $"Description: {alarm.Description}\n" + + $"Time: {alarm.CreateTime:yyyy-MM-dd HH:mm:ss}\n" + + $"Device ID: {alarm.DeviceId}"; + } + + private bool ValidateChannelConfiguration(NotificationChannel channel) + { + switch (channel.ChannelType) + { + case NotificationChannelType.Email: + return !string.IsNullOrEmpty(channel.Recipient) && channel.Recipient.Contains("@"); + + case NotificationChannelType.Sms: + return !string.IsNullOrEmpty(channel.Recipient) && channel.Recipient.All(char.IsDigit); + + case NotificationChannelType.WeChat: + return !string.IsNullOrEmpty(channel.Recipient); + + default: + return false; + } + } + + private async Task LogNotificationSent(Alarm alarm, int channelCount) + { + var notification = new AlarmNotification + { + AlarmId = alarm.AlarmId, + NotificationTime = DateTime.Now, + ChannelsUsed = channelCount, + Success = true + }; + + await _notificationRepository.AddNotificationAsync(notification); + } + } + + // Additional supporting classes and interfaces + public interface IEmailService + { + Task SendEmailAsync(string email, string subject, string message); + } + + public interface ISmsService + { + Task SendSmsAsync(string phoneNumber, string message); + } + + public interface IWechatService + { + Task SendMessageAsync(string openId, string message); + } + + public interface IAlarmRuleRepository + { + Task AddAsync(AlarmRule rule); + Task UpdateAsync(AlarmRule rule); + Task DeleteAsync(int ruleId); + Task GetByIdAsync(int ruleId); + Task> GetAllAsync(); + Task> GetByStatusAsync(bool isActive); + Task> GetByDeviceIdAsync(int deviceId); + } + + public interface IAlarmNotificationRepository + { + Task AddNotificationAsync(AlarmNotification notification); + Task> GetByDateRangeAsync(DateTime startDate, DateTime endDate); + Task SaveChannelAsync(NotificationChannel channel); + Task> GetAllChannelsAsync(); + } } \ No newline at end of file diff --git a/Haoliang.Core/Services/BackgroundTaskService.cs b/Haoliang.Core/Services/BackgroundTaskService.cs new file mode 100644 index 0000000..80f87b5 --- /dev/null +++ b/Haoliang.Core/Services/BackgroundTaskService.cs @@ -0,0 +1,384 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Haoliang.Core.Services; +using Haoliang.Data.Repositories; + +namespace Haoliang.Core.Services +{ + public interface IBackgroundTaskService + { + Task StartAsync(CancellationToken cancellationToken); + Task StopAsync(CancellationToken cancellationToken); + } + + public class BackgroundTaskService : BackgroundService, IBackgroundTaskService + { + private readonly ILogger _logger; + private readonly IDeviceCollectionService _collectionService; + private readonly IProductionService _productionService; + private readonly IAlarmService _alarmService; + private readonly IRealTimeService _realTimeService; + private readonly ISchedulerService _schedulerService; + private readonly Timer _collectionTimer; + private Timer _productionTimer; + private Timer _alarmTimer; + private Timer _realTimeTimer; + private bool _isRunning; + + public BackgroundTaskService( + ILogger logger, + IDeviceCollectionService collectionService, + IProductionService productionService, + IAlarmService alarmService, + IRealTimeService realTimeService, + ISchedulerService schedulerService) + { + _logger = logger; + _collectionService = collectionService; + _productionService = productionService; + _alarmService = alarmService; + _realTimeService = realTimeService; + _schedulerService = schedulerService; + + _isRunning = false; + _collectionTimer = new Timer(ExecuteCollectionTasks, null, TimeSpan.Zero, TimeSpan.FromMinutes(1)); + } + + protected override async Task ExecuteAsync(CancellationToken stoppingToken) + { + _logger.LogInformation("Background Task Service is starting."); + + _isRunning = true; + + try + { + await StartTimers(stoppingToken); + + while (!stoppingToken.IsCancellationRequested) + { + await Task.Delay(TimeSpan.FromSeconds(30), stoppingToken); + + // Log service health + await LogServiceHealthAsync(); + } + } + catch (Exception ex) + { + _logger.LogError(ex, "Background Task Service encountered an error."); + } + finally + { + await StopTimersAsync(); + _logger.LogInformation("Background Task Service is stopping."); + } + } + + public async Task StartAsync(CancellationToken cancellationToken) + { + if (_isRunning) + return; + + _logger.LogInformation("Starting background task service..."); + + try + { + // Start device collection + await _collectionService.CollectAllDevicesAsync(); + _logger.LogInformation("Device collection started."); + + // Start production calculation + await _productionService.CalculateAllProductionAsync(); + _logger.LogInformation("Production calculation started."); + + // Start alarm monitoring + var activeAlarms = await _alarmService.GetActiveAlarmsAsync(); + if (activeAlarms.Any()) + { + _logger.LogInformation($"Found {activeAlarms.Count()} active alarms."); + } + + _isRunning = true; + _logger.LogInformation("Background task service started successfully."); + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to start background task service."); + throw; + } + } + + public async Task StopAsync(CancellationToken cancellationToken) + { + if (!_isRunning) + return; + + _logger.LogInformation("Stopping background task service..."); + + try + { + await StopTimersAsync(); + _isRunning = false; + + _logger.LogInformation("Background task service stopped successfully."); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error while stopping background task service."); + throw; + } + } + + private async void ExecuteCollectionTasks(object state) + { + if (!_isRunning) + return; + + try + { + await _collectionService.CollectAllDevicesAsync(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error executing collection tasks."); + } + } + + private async Task StartTimers(CancellationToken cancellationToken) + { + // Start production calculation timer (every 5 minutes) + _productionTimer = new Timer(async _ => + { + if (!_isRunning) return; + + try + { + await _productionService.CalculateAllProductionAsync(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error in production calculation timer."); + } + }, null, TimeSpan.Zero, TimeSpan.FromMinutes(5)); + + // Start alarm monitoring timer (every 1 minute) + _alarmTimer = new Timer(async _ => + { + if (!_isRunning) return; + + try + { + var activeAlarms = await _alarmService.GetActiveAlarmsAsync(); + _logger.LogInformation($"Monitoring {activeAlarms.Count()} active alarms."); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error in alarm monitoring timer."); + } + }, null, TimeSpan.Zero, TimeSpan.FromMinutes(1)); + + // Start real-time data push timer (every 30 seconds) + _realTimeTimer = new Timer(async _ => + { + if (!_isRunning) return; + + try + { + await _realTimeService.BroadcastDeviceStatusAsync(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error in real-time data push timer."); + } + }, null, TimeSpan.Zero, TimeSpan.FromSeconds(30)); + + _logger.LogInformation("Background timers started."); + } + + private async Task StopTimersAsync() + { + _collectionTimer?.Dispose(); + _productionTimer?.Dispose(); + _alarmTimer?.Dispose(); + _realTimeTimer?.Dispose(); + + _logger.LogInformation("Background timers stopped."); + } + + private async Task LogServiceHealthAsync() + { + try + { + var collectionHealth = await _collectionService.GetCollectionHealthAsync(); + var deviceCount = await _collectionService.GetCollectionStatisticsAsync(DateTime.Today); + + _logger.LogInformation($"Service Health - Devices: {collectionHealth.TotalDevices}, " + + $"Online: {collectionHealth.OnlineDevices}, " + + $"Success Rate: {collectionHealth.SuccessRate:F1}%, " + + $"Active Tasks: {collectionHealth.ActiveCollectionTasks}"); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error logging service health."); + } + } + } + + public interface ISchedulerService + { + Task ScheduleDeviceCollectionAsync(int deviceId); + Task ScheduleProductionCalculationAsync(int deviceId); + Task ScheduleAlarmCheckAsync(); + Task CancelScheduledTaskAsync(string taskId); + Task> GetScheduledTasksAsync(); + } + + public class BackgroundTaskManager : ISchedulerService + { + private readonly ILogger _logger; + private readonly IDeviceCollectionService _collectionService; + private readonly IProductionService _productionService; + private readonly IAlarmService _alarmService; + private readonly Dictionary _scheduledTasks = new Dictionary(); + private readonly object _lock = new object(); + + public BackgroundTaskManager( + ILogger logger, + IDeviceCollectionService collectionService, + IProductionService productionService, + IAlarmService alarmService) + { + _logger = logger; + _collectionService = collectionService; + _productionService = productionService; + _alarmService = alarmService; + } + + public async Task ScheduleDeviceCollectionAsync(int deviceId) + { + var taskId = $"collection_{deviceId}_{DateTime.Now:yyyyMMddHHmmss}"; + + lock (_lock) + { + if (_scheduledTasks.ContainsKey(taskId)) + { + _scheduledTasks[taskId].Dispose(); + } + + var timer = new Timer(async _ => + { + try + { + await _collectionService.CollectDeviceAsync(deviceId); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Failed to execute scheduled collection for device {deviceId}"); + } + }, null, TimeSpan.Zero, TimeSpan.FromMinutes(5)); + + _scheduledTasks[taskId] = timer; + } + + _logger.LogInformation($"Scheduled device collection for device {deviceId} with task ID {taskId}"); + } + + public async Task ScheduleProductionCalculationAsync(int deviceId) + { + var taskId = $"production_{deviceId}_{DateTime.Now:yyyyMMddHHmmss}"; + + lock (_lock) + { + if (_scheduledTasks.ContainsKey(taskId)) + { + _scheduledTasks[taskId].Dispose(); + } + + var timer = new Timer(async _ => + { + try + { + await _productionService.CalculateProductionAsync(deviceId); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Failed to execute scheduled production calculation for device {deviceId}"); + } + }, null, TimeSpan.Zero, TimeSpan.FromMinutes(10)); + + _scheduledTasks[taskId] = timer; + } + + _logger.LogInformation($"Scheduled production calculation for device {deviceId} with task ID {taskId}"); + } + + public async Task ScheduleAlarmCheckAsync() + { + var taskId = $"alarm_check_{DateTime.Now:yyyyMMddHHmmss}"; + + lock (_lock) + { + if (_scheduledTasks.ContainsKey(taskId)) + { + _scheduledTasks[taskId].Dispose(); + } + + var timer = new Timer(async _ => + { + try + { + var activeAlarms = await _alarmService.GetActiveAlarmsAsync(); + _logger.LogInformation($"Alarm check completed: {activeAlarms.Count()} active alarms"); + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to execute alarm check"); + } + }, null, TimeSpan.Zero, TimeSpan.FromMinutes(2)); + + _scheduledTasks[taskId] = timer; + } + + _logger.LogInformation($"Scheduled alarm check with task ID {taskId}"); + } + + public Task CancelScheduledTaskAsync(string taskId) + { + lock (_lock) + { + if (_scheduledTasks.TryGetValue(taskId, out var timer)) + { + timer.Dispose(); + _scheduledTasks.Remove(taskId); + _logger.LogInformation($"Cancelled scheduled task {taskId}"); + return Task.CompletedTask; + } + } + + _logger.LogWarning($"Attempted to cancel non-existent task {taskId}"); + return Task.CompletedTask; + } + + public Task> GetScheduledTasksAsync() + { + var tasks = _scheduledTasks.Keys.Select(key => new ScheduledTask + { + TaskId = key, + ScheduledTime = DateTime.Now, + Status = "Active" + }).ToList(); + + return Task.FromResult>(tasks); + } + } + + public class ScheduledTask + { + public string TaskId { get; set; } + public DateTime ScheduledTime { get; set; } + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Haoliang.Core/Services/ConsoleLoggerService.cs b/Haoliang.Core/Services/ConsoleLoggerService.cs new file mode 100644 index 0000000..0676e29 --- /dev/null +++ b/Haoliang.Core/Services/ConsoleLoggerService.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; + +namespace Haoliang.Core.Services +{ + public class ConsoleLoggerService : ILoggerService + { + private readonly ILogger _logger; + + public ConsoleLoggerService(ILogger logger) + { + _logger = logger; + } + + public async Task LogInformationAsync(string message) + { + _logger.LogInformation(message); + await Task.CompletedTask; + } + + public async Task LogWarningAsync(string message) + { + _logger.LogWarning(message); + await Task.CompletedTask; + } + + public async Task LogErrorAsync(string message) + { + _logger.LogError(message); + await Task.CompletedTask; + } + + public async Task LogDebugAsync(string message) + { + _logger.LogDebug(message); + await Task.CompletedTask; + } + } +} \ No newline at end of file diff --git a/Haoliang.Core/Services/RealTimeService.cs b/Haoliang.Core/Services/RealTimeService.cs index 5a917be..512eff0 100644 --- a/Haoliang.Core/Services/RealTimeService.cs +++ b/Haoliang.Core/Services/RealTimeService.cs @@ -1,676 +1,356 @@ using System; -using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; -using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.SignalR; +using Haoliang.Models.Device; +using Haoliang.Models.DataCollection; +using Haoliang.Models.Production; +using Haoliang.Models.System; +using Haoliang.Data.Repositories; using Haoliang.Core.Services; -using Haoliang.Models.Models.Device; -using Haoliang.Models.Models.Production; -using Haoliang.Models.Models.System; -using Haoliang.Models.Common; namespace Haoliang.Core.Services { public interface IRealTimeService { - /// - /// Connect a client to WebSocket hub - /// - Task ConnectClientAsync(string connectionId, string userId, string clientType); - - /// - /// Disconnect a client - /// - Task DisconnectClientAsync(string connectionId); - - /// - /// Join a device monitoring group - /// + Task BroadcastDeviceStatusAsync(); + Task BroadcastProductionDataAsync(); + Task BroadcastAlarmDataAsync(); + Task SendDeviceUpdateAsync(int deviceId, DeviceCurrentStatus status); + Task SendProductionUpdateAsync(int deviceId, ProductionRecord production); + Task SendAlarmUpdateAsync(Alarm alarm); + Task BroadcastSystemHealthAsync(); Task JoinDeviceGroupAsync(string connectionId, int deviceId); - - /// - /// Leave a device monitoring group - /// Task LeaveDeviceGroupAsync(string connectionId, int deviceId); - - /// - /// Join a dashboard group - /// - Task JoinDashboardGroupAsync(string connectionId, string dashboardId); - - /// - /// Leave a dashboard group - /// - Task LeaveDashboardGroupAsync(string connectionId, string dashboardId); - - /// - /// Broadcast device status update - /// - Task BroadcastDeviceStatusAsync(DeviceStatusUpdate statusUpdate); - - /// - /// Broadcast production update - /// - Task BroadcastProductionUpdateAsync(ProductionUpdate productionUpdate); - - /// - /// Broadcast alert update - /// - Task BroadcastAlertAsync(AlertUpdate alertUpdate); - - /// - /// Send system notification - /// - Task SendSystemNotificationAsync(SystemNotification notification); - - /// - /// Send real-time dashboard data - /// - Task SendDashboardUpdateAsync(DashboardUpdate dashboardUpdate); - - /// - /// Send command to specific client - /// - Task SendCommandToClientAsync(string connectionId, RealTimeCommand command); - - /// - /// Broadcast command to all clients - /// - Task BroadcastCommandAsync(RealTimeCommand command); - - /// - /// Get connected clients count - /// - Task GetConnectedClientsCountAsync(); - - /// - /// Get connected clients by type - /// - Task> GetConnectedClientsByTypeAsync(string clientType); - - /// - /// Get device monitoring status - /// - Task GetDeviceMonitoringStatusAsync(int deviceId); - - /// - /// Start data streaming for device - /// - Task StartDeviceStreamingAsync(int deviceId, int intervalMs = 1000); - - /// - /// Stop data streaming for device - /// - Task StopDeviceStreamingAsync(int deviceId); - - /// - /// Get active streaming devices - /// - Task> GetActiveStreamingDevicesAsync(); + Task JoinAllDevicesGroupAsync(string connectionId); + Task LeaveAllDevicesGroupAsync(string connectionId); } public class RealTimeService : IRealTimeService { private readonly IHubContext _hubContext; - private readonly IDeviceCollectionService _deviceCollectionService; - private readonly IProductionService _productionService; - private readonly IAlarmService _alarmService; - private readonly ICacheService _cacheService; - private readonly ConcurrentDictionary _connectedClients = new ConcurrentDictionary(); - private readonly ConcurrentDictionary _deviceStreaming = new ConcurrentDictionary(); - private readonly Timer _deviceStatusTimer; - private readonly Timer _productionTimer; + private readonly IDeviceRepository _deviceRepository; + private readonly IProductionRepository _productionRepository; + private readonly IAlarmRepository _alarmRepository; + private readonly ICollectionRepository _collectionRepository; + private readonly ILoggerService _logger; + private readonly Dictionary> _userDeviceGroups = new Dictionary>(); + private readonly object _lock = new object(); public RealTimeService( IHubContext hubContext, - IDeviceCollectionService deviceCollectionService, - IProductionService productionService, - IAlarmService alarmService, - ICacheService cacheService) + IDeviceRepository deviceRepository, + IProductionRepository productionRepository, + IAlarmRepository alarmRepository, + ICollectionRepository collectionRepository, + ILoggerService logger) { _hubContext = hubContext; - _deviceCollectionService = deviceCollectionService; - _productionService = productionService; - _alarmService = alarmService; - _cacheService = cacheService; - - // Start timers for periodic updates - _deviceStatusTimer = new Timer(UpdateDeviceStatuses, null, TimeSpan.Zero, TimeSpan.FromSeconds(30)); - _productionTimer = new Timer(UpdateProductionData, null, TimeSpan.Zero, TimeSpan.FromSeconds(60)); + _deviceRepository = deviceRepository; + _productionRepository = productionRepository; + _alarmRepository = alarmRepository; + _collectionRepository = collectionRepository; + _logger = logger; } - public async Task ConnectClientAsync(string connectionId, string userId, string clientType) + public async Task BroadcastDeviceStatusAsync() { - var clientInfo = new ClientInfo + try { - ConnectionId = connectionId, - UserId = userId, - ClientType = clientType, - ConnectedAt = DateTime.UtcNow, - LastActivity = DateTime.UtcNow, - Groups = new HashSet(), - DeviceGroups = new HashSet() - }; + var devices = await _deviceRepository.GetAllAsync(); + var deviceStatuses = new List(); - _connectedClients.AddOrUpdate(connectionId, clientInfo, (key, existing) => clientInfo); + foreach (var device in devices) + { + var status = await GetDeviceCurrentStatusAsync(device.Id); + deviceStatuses.Add(status); + } - await _hubContext.Clients.Client(connectionId).SendAsync("ClientConnected", new + await _hubContext.Clients.All.SendAsync("ReceiveDeviceStatusUpdate", deviceStatuses); + _logger.LogDebug($"Broadcasted device status update for {deviceStatuses.Count} devices"); + } + catch (Exception ex) { - ClientId = connectionId, - UserId = userId, - ClientType = clientType, - Timestamp = DateTime.UtcNow - }); + _logger.LogError(ex, "Failed to broadcast device status update"); + } } - public async Task DisconnectClientAsync(string connectionId) + public async Task BroadcastProductionDataAsync() { - if (_connectedClients.TryRemove(connectionId, out var clientInfo)) + try { - // Remove from all groups - foreach (var group in clientInfo.Groups) - { - await _hubContext.Groups.RemoveFromGroupAsync(connectionId, group); - } + var devices = await _deviceRepository.GetAllAsync(); + var productionData = new Dictionary>(); - foreach (var deviceId in clientInfo.DeviceGroups) + foreach (var device in devices) { - await _hubContext.Groups.RemoveFromGroupAsync(connectionId, $"device_{deviceId}"); + var todayProductions = await _productionRepository.GetByDeviceAndDateAsync(device.Id, DateTime.Today); + productionData[device.Id] = todayProductions.ToList(); } - // Notify other clients - await _hubContext.Clients.AllExcept(connectionId).SendAsync("ClientDisconnected", new - { - ClientId = connectionId, - UserId = clientInfo.UserId, - Timestamp = DateTime.UtcNow - }); + await _hubContext.Clients.All.SendAsync("ReceiveProductionUpdate", productionData); + _logger.LogDebug($"Broadcasted production data update for {devices.Count} devices"); + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to broadcast production data update"); } } - public async Task JoinDeviceGroupAsync(string connectionId, int deviceId) + public async Task BroadcastAlarmDataAsync() { - if (_connectedClients.TryGetValue(connectionId, out var clientInfo)) + try { - clientInfo.DeviceGroups.Add(deviceId); - clientInfo.LastActivity = DateTime.UtcNow; - - await _hubContext.Groups.AddToGroupAsync(connectionId, $"device_{deviceId}"); - - // Send current device status - var deviceStatus = await _deviceCollectionService.GetDeviceCurrentStatusAsync(deviceId); - await _hubContext.Clients.Client(connectionId).SendAsync("DeviceStatusUpdated", new + var activeAlarms = await _alarmRepository.GetActiveAlarmsAsync(); + var alarmData = activeAlarms.Select(a => new { - DeviceId = deviceId, - Status = deviceStatus.Status, - Timestamp = DateTime.UtcNow - }); + a.AlarmId, + a.DeviceCode, + a.AlarmType, + a.Severity, + a.Title, + a.Description, + a.AlarmStatus, + a.CreateTime + }).ToList(); + + await _hubContext.Clients.All.SendAsync("ReceiveAlarmUpdate", alarmData); + _logger.LogDebug($"Broadcasted alarm data update for {alarmData.Count} alarms"); } - } - - public async Task LeaveDeviceGroupAsync(string connectionId, int deviceId) - { - if (_connectedClients.TryGetValue(connectionId, out var clientInfo)) + catch (Exception ex) { - clientInfo.DeviceGroups.Remove(deviceId); - await _hubContext.Groups.RemoveFromGroupAsync(connectionId, $"device_{deviceId}"); + _logger.LogError(ex, "Failed to broadcast alarm data update"); } } - public async Task JoinDashboardGroupAsync(string connectionId, string dashboardId) + public async Task SendDeviceUpdateAsync(int deviceId, DeviceCurrentStatus status) { - if (_connectedClients.TryGetValue(connectionId, out var clientInfo)) + try { - clientInfo.Groups.Add($"dashboard_{dashboardId}"); - clientInfo.LastActivity = DateTime.UtcNow; - - await _hubContext.Groups.AddToGroupAsync(connectionId, $"dashboard_{dashboardId}"); - - // Send current dashboard data - var dashboardUpdate = await GetDashboardUpdateAsync(); - await _hubContext.Clients.Client(connectionId).SendAsync("DashboardUpdated", dashboardUpdate); + await _hubContext.Clients.Group($"device_{deviceId}").SendAsync("ReceiveDeviceUpdate", status); + _logger.LogDebug($"Sent device update for device {deviceId}"); } - } - - public async Task LeaveDashboardGroupAsync(string connectionId, string dashboardId) - { - if (_connectedClients.TryGetValue(connectionId, out var clientInfo)) + catch (Exception ex) { - clientInfo.Groups.Remove($"dashboard_{dashboardId}"); - await _hubContext.Groups.RemoveFromGroupAsync(connectionId, $"dashboard_{dashboardId}"); + _logger.LogError(ex, $"Failed to send device update for device {deviceId}"); } } - public async Task BroadcastDeviceStatusAsync(DeviceStatusUpdate statusUpdate) - { - await _hubContext.Clients.Group($"device_{statusUpdate.DeviceId}").SendAsync("DeviceStatusUpdated", statusUpdate); - - // Also broadcast to dashboard groups - await _hubContext.Clients.Group("dashboard").SendAsync("DeviceStatusUpdated", statusUpdate); - } - - public async Task BroadcastProductionUpdateAsync(ProductionUpdate productionUpdate) - { - await _hubContext.Clients.Group($"device_{productionUpdate.DeviceId}").SendAsync("ProductionUpdated", productionUpdate); - - // Also broadcast to dashboard groups - await _hubContext.Clients.Group("dashboard").SendAsync("ProductionUpdated", productionUpdate); - } - - public async Task BroadcastAlertAsync(AlertUpdate alertUpdate) + public async Task SendProductionUpdateAsync(int deviceId, ProductionRecord production) { - await _hubContext.Clients.Group("dashboard").SendAsync("AlertUpdated", alertUpdate); - await _hubContext.Clients.Group("alerts").SendAsync("AlertUpdated", alertUpdate); - - // Send to specific device groups if alert is device-specific - if (alertUpdate.DeviceId.HasValue) + try { - await _hubContext.Clients.Group($"device_{alertUpdate.DeviceId.Value}").SendAsync("AlertUpdated", alertUpdate); + await _hubContext.Clients.Group($"device_{deviceId}").SendAsync("ReceiveProductionUpdate", production); + await _hubContext.Clients.All.SendAsync("ReceiveGlobalProductionUpdate", production); + _logger.LogDebug($"Sent production update for device {deviceId}"); } - } - - public async Task SendSystemNotificationAsync(SystemNotification notification) - { - await _hubContext.Clients.Group("notifications").SendAsync("SystemNotification", notification); - } - - public async Task SendDashboardUpdateAsync(DashboardUpdate dashboardUpdate) - { - await _hubContext.Clients.Group("dashboard").SendAsync("DashboardUpdated", dashboardUpdate); - } - - public async Task SendCommandToClientAsync(string connectionId, RealTimeCommand command) - { - await _hubContext.Clients.Client(connectionId).SendAsync("Command", command); - } - - public async Task BroadcastCommandAsync(RealTimeCommand command) - { - await _hubContext.Clients.All.SendAsync("Command", command); - } - - public async Task GetConnectedClientsCountAsync() - { - // Clean up inactive clients - var cutoffTime = DateTime.UtcNow.AddMinutes(-5); - var inactiveClients = _connectedClients.Values.Where(c => c.LastActivity < cutoffTime).ToList(); - - foreach (var client in inactiveClients) + catch (Exception ex) { - await DisconnectClientAsync(client.ConnectionId); + _logger.LogError(ex, $"Failed to send production update for device {deviceId}"); } - - return _connectedClients.Count; } - public async Task> GetConnectedClientsByTypeAsync(string clientType) + public async Task SendAlarmUpdateAsync(Alarm alarm) { - return _connectedClients.Values - .Where(c => c.ClientType.Equals(clientType, StringComparison.OrdinalIgnoreCase)) - .ToList(); - } - - public async Task GetDeviceMonitoringStatusAsync(int deviceId) - { - var streamingInfo = _deviceStreaming.GetValueOrDefault(deviceId); - var monitoringClients = _connectedClients.Values - .Count(c => c.DeviceGroups.Contains(deviceId)); - - return new DeviceMonitoringStatus + try { - DeviceId = deviceId, - IsStreaming = streamingInfo != null, - StreamingIntervalMs = streamingInfo?.IntervalMs ?? 0, - MonitoringClients = monitoringClients, - StreamingStartedAt = streamingInfo?.StartedAt, - LastStreamingUpdate = streamingInfo?.LastUpdate - }; + await _hubContext.Clients.Group($"device_{alarm.DeviceId}").SendAsync("ReceiveAlarmUpdate", alarm); + await _hubContext.Clients.All.SendAsync("ReceiveGlobalAlarmUpdate", alarm); + _logger.LogDebug($"Sent alarm update for alarm {alarm.AlarmId}"); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Failed to send alarm update for alarm {alarm.AlarmId}"); + } } - public async Task StartDeviceStreamingAsync(int deviceId, int intervalMs = 1000) + public async Task BroadcastSystemHealthAsync() { - if (!_deviceStreaming.ContainsKey(deviceId)) + try { - var streamingInfo = new DeviceStreamingInfo + var onlineDevices = await _deviceRepository.CountOnlineDevicesAsync(); + var activeAlarms = await _alarmRepository.CountActiveAlarmsAsync(); + var totalProductions = await _productionRepository.CountTodayProductionsAsync(); + + var healthData = new { - DeviceId = deviceId, - IntervalMs = intervalMs, - StartedAt = DateTime.UtcNow, - LastUpdate = DateTime.UtcNow, - IsRunning = true + Timestamp = DateTime.Now, + OnlineDevices = onlineDevices, + ActiveAlarms = activeAlarms, + TotalProductions = totalProductions, + SystemStatus = activeAlarms > 10 ? "Warning" : "Healthy" }; - _deviceStreaming.AddOrUpdate(deviceId, streamingInfo, (key, existing) => streamingInfo); - - // Start streaming task - Task.Run(() => StreamDeviceData(deviceId, intervalMs)); + await _hubContext.Clients.All.SendAsync("ReceiveSystemHealth", healthData); + _logger.LogDebug($"Broadcasted system health update"); } - } - - public async Task StopDeviceStreamingAsync(int deviceId) - { - if (_deviceStreaming.TryRemove(deviceId, out var streamingInfo)) + catch (Exception ex) { - streamingInfo.IsRunning = false; + _logger.LogError(ex, "Failed to broadcast system health update"); } } - public async Task> GetActiveStreamingDevicesAsync() - { - return _deviceStreaming.Values - .Where(s => s.IsRunning) - .Select(s => s.DeviceId) - .ToList(); - } - - #region Private Methods - - private void UpdateDeviceStatuses(object state) + public async Task JoinDeviceGroupAsync(string connectionId, int deviceId) { - Task.Run(async () => + try { - try + lock (_lock) { - var activeDevices = await _deviceCollectionService.GetAllActiveDevicesAsync(); - - foreach (var device in activeDevices) + if (!_userDeviceGroups.ContainsKey(connectionId)) { - var status = await _deviceCollectionService.GetDeviceCurrentStatusAsync(device.Id); - - var statusUpdate = new DeviceStatusUpdate - { - DeviceId = device.Id, - DeviceName = device.Name, - Status = status.Status, - CurrentProgram = status.CurrentProgram, - Runtime = status.Runtime, - Timestamp = DateTime.UtcNow - }; - - await BroadcastDeviceStatusAsync(statusUpdate); + _userDeviceGroups[connectionId] = new HashSet(); } + _userDeviceGroups[connectionId].Add(deviceId); } - catch (Exception ex) - { - // Log error - Console.WriteLine($"Error updating device statuses: {ex.Message}"); - } - }); + + await _hubContext.Groups.AddToGroupAsync(connectionId, $"device_{deviceId}"); + _logger.LogDebug($"Connection {connectionId} joined device group {deviceId}"); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Failed to add connection {connectionId} to device group {deviceId}"); + } } - private void UpdateProductionData(object state) + public async Task LeaveDeviceGroupAsync(string connectionId, int deviceId) { - Task.Run(async () => + try { - try + lock (_lock) { - var date = DateTime.Today; - var devices = await _deviceCollectionService.GetAllActiveDevicesAsync(); - - foreach (var device in devices) + if (_userDeviceGroups.ContainsKey(connectionId)) { - var production = await _productionService.GetDeviceProductionForDateAsync(device.Id, date); - - var productionUpdate = new ProductionUpdate + _userDeviceGroups[connectionId].Remove(deviceId); + if (_userDeviceGroups[connectionId].Count == 0) { - DeviceId = device.Id, - DeviceName = device.Name, - Quantity = production, - Timestamp = DateTime.UtcNow - }; - - await BroadcastProductionUpdateAsync(productionUpdate); + _userDeviceGroups.Remove(connectionId); + } } } - catch (Exception ex) - { - // Log error - Console.WriteLine($"Error updating production data: {ex.Message}"); - } - }); + + await _hubContext.Groups.RemoveFromGroupAsync(connectionId, $"device_{deviceId}"); + _logger.LogDebug($"Connection {connectionId} left device group {deviceId}"); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Failed to remove connection {connectionId} from device group {deviceId}"); + } } - private async Task StreamDeviceData(int deviceId, int intervalMs) + public async Task JoinAllDevicesGroupAsync(string connectionId) { - var streamingInfo = _deviceStreaming.GetValueOrDefault(deviceId); - if (streamingInfo == null || !streamingInfo.IsRunning) - return; - try { - while (streamingInfo.IsRunning) - { - try - { - // Get current device status - var status = await _deviceCollectionService.GetDeviceCurrentStatusAsync(deviceId); - - // Get current production data - var production = await _productionService.GetDeviceProductionForDateAsync(deviceId, DateTime.Today); - - // Create streaming message - var streamingMessage = new DeviceStreamingMessage - { - DeviceId = deviceId, - DeviceName = status.DeviceName, - Status = status.Status, - CurrentProgram = status.CurrentProgram, - Runtime = status.Runtime, - Quantity = production, - Timestamp = DateTime.UtcNow, - IntervalMs = intervalMs - }; - - // Send to device group - await _hubContext.Clients.Group($"device_{deviceId}").SendAsync("DeviceStreamingData", streamingMessage); - - // Update last streaming time - streamingInfo.LastUpdate = DateTime.UtcNow; - } - catch (Exception ex) - { - // Log error but continue streaming - Console.WriteLine($"Error streaming device {deviceId} data: {ex.Message}"); - } + await _hubContext.Groups.AddToGroupAsync(connectionId, "all_devices"); + _logger.LogDebug($"Connection {connectionId} joined all devices group"); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Failed to add connection {connectionId} to all devices group"); + } + } - await Task.Delay(intervalMs); - } + public async Task LeaveAllDevicesGroupAsync(string connectionId) + { + try + { + await _hubContext.Groups.RemoveFromGroupAsync(connectionId, "all_devices"); + _logger.LogDebug($"Connection {connectionId} left all devices group"); } catch (Exception ex) { - Console.WriteLine($"Device streaming task for device {deviceId} failed: {ex.Message}"); + _logger.LogError(ex, $"Failed to remove connection {connectionId} from all devices group"); } } - private async Task GetDashboardUpdateAsync() + private async Task GetDeviceCurrentStatusAsync(int deviceId) { - // Get dashboard summary from cache or service - var dashboardSummary = await _cacheService.GetOrSetDashboardSummaryAsync(DateTime.Today, - () => _productionService.GetDashboardSummaryAsync(new DashboardFilter { Date = DateTime.Today })); + var device = await _deviceRepository.GetByIdAsync(deviceId); + if (device == null) + return new DeviceCurrentStatus(); - return new DashboardUpdate + var latestCollection = await _collectionRepository.GetLatestDeviceStatusAsync(deviceId); + + return new DeviceCurrentStatus { - Timestamp = DateTime.UtcNow, - TotalDevices = dashboardSummary.TotalDevices, - ActiveDevices = dashboardSummary.ActiveDevices, - OfflineDevices = dashboardSummary.OfflineDevices, - TotalProductionToday = dashboardSummary.TotalProductionToday, - TotalProductionThisWeek = dashboardSummary.TotalProductionThisWeek, - TotalProductionThisMonth = dashboardSummary.TotalProductionThisMonth, - OverallEfficiency = dashboardSummary.OverallEfficiency, - QualityRate = dashboardSummary.QualityRate, - DeviceSummaries = dashboardSummary.DeviceSummaries + DeviceId = deviceId, + DeviceCode = device.DeviceCode, + DeviceName = device.DeviceName, + Status = latestCollection?.Status ?? "Unknown", + IsRunning = latestCollection?.IsRunning ?? false, + NCProgram = latestCollection?.NCProgram ?? "", + CumulativeCount = latestCollection?.CumulativeCount ?? 0, + OperatingMode = latestCollection?.OperatingMode ?? "", + RecordTime = latestCollection?.RecordTime ?? DateTime.Now }; } - - #endregion } - #region Supporting Models - + // SignalR Hub for real-time communication public class RealTimeHub : Hub { private readonly IRealTimeService _realTimeService; + private readonly ILoggerService _logger; - public RealTimeHub(IRealTimeService realTimeService) + public RealTimeHub(IRealTimeService realTimeService, ILoggerService logger) { _realTimeService = realTimeService; + _logger = logger; } public override async Task OnConnectedAsync() { + _logger.LogInformation($"Connection {Context.ConnectionId} connected to RealTimeHub"); + + // Automatically join all devices group for new connections + await _realTimeService.JoinAllDevicesGroupAsync(Context.ConnectionId); + await base.OnConnectedAsync(); } public override async Task OnDisconnectedAsync(Exception exception) { + _logger.LogInformation($"Connection {Context.ConnectionId} disconnected from RealTimeHub"); + + // Clean up device group memberships + // Note: This is a simplified cleanup - in production you'd track which groups each user was in + await _realTimeService.LeaveAllDevicesGroupAsync(Context.ConnectionId); + await base.OnDisconnectedAsync(exception); } + // Client methods that can be called from frontend public async Task JoinDeviceGroup(int deviceId) { await _realTimeService.JoinDeviceGroupAsync(Context.ConnectionId, deviceId); - await Clients.Caller.SendAsync("JoinedDeviceGroup", new { DeviceId = deviceId }); + await Clients.Caller.SendAsync("JoinedDeviceGroup", deviceId); } public async Task LeaveDeviceGroup(int deviceId) { await _realTimeService.LeaveDeviceGroupAsync(Context.ConnectionId, deviceId); - await Clients.Caller.SendAsync("LeftDeviceGroup", new { DeviceId = deviceId }); + await Clients.Caller.SendAsync("LeftDeviceGroup", deviceId); } - public async Task JoinDashboardGroup(string dashboardId) + public async Task RequestSystemHealth() { - await _realTimeService.JoinDashboardGroupAsync(Context.ConnectionId, dashboardId); - await Clients.Caller.SendAsync("JoinedDashboardGroup", new { DashboardId = dashboardId }); + await _realTimeService.BroadcastSystemHealthAsync(); } - public async Task LeaveDashboardGroup(string dashboardId) + public async Task RequestDeviceStatus() { - await _realTimeService.LeaveDashboardGroupAsync(Context.ConnectionId, dashboardId); - await Clients.Caller.SendAsync("LeftDashboardGroup", new { DashboardId = dashboardId }); + await _realTimeService.BroadcastDeviceStatusAsync(); } - public async Task RequestDeviceStreaming(int deviceId, int intervalMs = 1000) + public async Task RequestProductionData() { - await _realTimeService.StartDeviceStreamingAsync(deviceId, intervalMs); - await Clients.Caller.SendAsync("DeviceStreamingStarted", new { DeviceId = deviceId, IntervalMs = intervalMs }); + await _realTimeService.BroadcastProductionDataAsync(); } - public async Task StopDeviceStreaming(int deviceId) + public async Task RequestAlarmData() { - await _realTimeService.StopDeviceStreamingAsync(deviceId); - await Clients.Caller.SendAsync("DeviceStreamingStopped", new { DeviceId = deviceId }); - } - - public async Task Ping() - { - await Clients.Caller.SendAsync("Pong", new { Timestamp = DateTime.UtcNow }); + await _realTimeService.BroadcastAlarmDataAsync(); } } - - public class ClientInfo - { - public string ConnectionId { get; set; } - public string UserId { get; set; } - public string ClientType { get; set; } - public DateTime ConnectedAt { get; set; } - public DateTime LastActivity { get; set; } - public HashSet Groups { get; set; } - public HashSet DeviceGroups { get; set; } - } - - public class DeviceStreamingInfo - { - public int DeviceId { get; set; } - public int IntervalMs { get; set; } - public DateTime StartedAt { get; set; } - public DateTime LastUpdate { get; set; } - public bool IsRunning { get; set; } - } - - public class DeviceStatusUpdate - { - public int DeviceId { get; set; } - public string DeviceName { get; set; } - public DeviceStatus Status { get; set; } - public string CurrentProgram { get; set; } - public TimeSpan Runtime { get; set; } - public DateTime Timestamp { get; set; } - } - - public class ProductionUpdate - { - public int DeviceId { get; set; } - public string DeviceName { get; set; } - public decimal Quantity { get; set; } - public DateTime Timestamp { get; set; } - } - - public class AlertUpdate - { - public int? DeviceId { get; set; } - public string DeviceName { get; set; } - public string AlertType { get; set; } - public string Message { get; set; } - public DateTime Timestamp { get; set; } - public bool IsResolved { get; set; } - } - - public class SystemNotification - { - public string NotificationType { get; set; } - public string Title { get; set; } - public string Message { get; set; } - public DateTime Timestamp { get; set; } - public Dictionary Data { get; set; } - } - - public class DashboardUpdate - { - public DateTime Timestamp { get; set; } - public int TotalDevices { get; set; } - public int ActiveDevices { get; set; } - public int OfflineDevices { get; set; } - public decimal TotalProductionToday { get; set; } - public decimal TotalProductionThisWeek { get; set; } - public decimal TotalProductionThisMonth { get; set; } - public decimal OverallEfficiency { get; set; } - public decimal QualityRate { get; set; } - public List DeviceSummaries { get; set; } - } - - public class RealTimeCommand - { - public string Command { get; set; } - public object Parameters { get; set; } - public DateTime Timestamp { get; set; } - public string CommandType { get; set; } - } - - public class DeviceStreamingMessage - { - public int DeviceId { get; set; } - public string DeviceName { get; set; } - public DeviceStatus Status { get; set; } - public string CurrentProgram { get; set; } - public TimeSpan Runtime { get; set; } - public decimal Quantity { get; set; } - public DateTime Timestamp { get; set; } - public int IntervalMs { get; set; } - } - - public class DeviceMonitoringStatus - { - public int DeviceId { get; set; } - public bool IsStreaming { get; set; } - public int StreamingIntervalMs { get; set; } - public int MonitoringClients { get; set; } - public DateTime? StreamingStartedAt { get; set; } - public DateTime? LastStreamingUpdate { get; set; } - } - - #endregion } \ No newline at end of file diff --git a/Haoliang.Core/Services/SystemConfigService.cs b/Haoliang.Core/Services/SystemConfigService.cs new file mode 100644 index 0000000..1e6d8ae --- /dev/null +++ b/Haoliang.Core/Services/SystemConfigService.cs @@ -0,0 +1,257 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Haoliang.Models.System; +using Haoliang.Data.Repositories; + +namespace Haoliang.Core.Services +{ + public interface ISystemConfigService + { + Task GetConfigAsync(string configKey); + Task SetConfigAsync(string configKey, string configValue); + Task> GetAllConfigsAsync(); + Task DeleteConfigAsync(string configKey); + Task GetOrCreateConfigAsync(string configKey, string defaultValue); + Task ValidateConfigAsync(SystemConfig config); + } + + public class SystemConfigService : ISystemConfigService + { + private readonly ISystemConfigRepository _configRepository; + private readonly ILoggerService _logger; + + public SystemConfigService( + ISystemConfigRepository configRepository, + ILoggerService logger) + { + _configRepository = configRepository; + _logger = logger; + } + + public async Task GetConfigAsync(string configKey) + { + return await _configRepository.GetByKeyAsync(configKey); + } + + public async Task SetConfigAsync(string configKey, string configValue) + { + var existingConfig = await _configRepository.GetByKeyAsync(configKey); + + if (existingConfig != null) + { + // Update existing config + existingConfig.ConfigValue = configValue; + existingConfig.UpdateTime = DateTime.Now; + + var updatedConfig = await _configRepository.UpdateAsync(existingConfig); + await _logger.LogInformationAsync($"Updated config '{configKey}' with new value"); + return updatedConfig; + } + else + { + // Create new config + var newConfig = new SystemConfig + { + ConfigKey = configKey, + ConfigValue = configValue, + Description = $"Configuration for {configKey}", + CreatedAt = DateTime.Now, + UpdateTime = DateTime.Now + }; + + var createdConfig = await _configRepository.AddAsync(newConfig); + await _logger.LogInformationAsync($"Created new config '{configKey}'"); + return createdConfig; + } + } + + public async Task> GetAllConfigsAsync() + { + return await _configRepository.GetAllAsync(); + } + + public async Task DeleteConfigAsync(string configKey) + { + var config = await _configRepository.GetByKeyAsync(configKey); + if (config != null) + { + var result = await _configRepository.DeleteAsync(config.ConfigId); + if (result) + { + await _logger.LogInformationAsync($"Deleted config '{configKey}'"); + } + return result; + } + return false; + } + + public async Task GetOrCreateConfigAsync(string configKey, string defaultValue) + { + var config = await GetConfigAsync(configKey); + if (config == null) + { + return await SetConfigAsync(configKey, defaultValue); + } + return config; + } + + public async Task ValidateConfigAsync(SystemConfig config) + { + if (config == null) + { + await _logger.LogWarningAsync("System config validation failed: config is null"); + return false; + } + + if (string.IsNullOrEmpty(config.ConfigKey)) + { + await _logger.LogWarningAsync("System config validation failed: config key is empty"); + return false; + } + + if (string.IsNullOrEmpty(config.ConfigValue)) + { + await _logger.LogWarningAsync($"System config validation failed: config value is empty for key '{config.ConfigKey}'"); + return false; + } + + // Validate specific config keys + if (config.ConfigKey == "DailyProductionTarget" && !int.TryParse(config.ConfigValue, out _)) + { + await _logger.LogWarningAsync($"System config validation failed: invalid DailyProductionTarget value '{config.ConfigValue}'"); + return false; + } + + if (config.ConfigKey == "CollectionInterval" && !int.TryParse(config.ConfigValue, out _)) + { + await _logger.LogWarningAsync($"System config validation failed: invalid CollectionInterval value '{config.ConfigValue}'"); + return false; + } + + return true; + } + } + + public class SystemConfigManager : ISystemConfigService + { + private readonly ISystemConfigRepository _configRepository; + private readonly ILoggerService _logger; + + public SystemConfigManager( + ISystemConfigRepository configRepository, + ILoggerService logger) + { + _configRepository = configRepository; + _logger = logger; + } + + public async Task GetConfigAsync(string configKey) + { + return await _configRepository.GetByKeyAsync(configKey); + } + + public async Task SetConfigAsync(string configKey, string configValue) + { + return await new SystemConfigService(_configRepository, _logger).SetConfigAsync(configKey, configValue); + } + + public async Task> GetAllConfigsAsync() + { + return await _configRepository.GetAllAsync(); + } + + public async Task DeleteConfigAsync(string configKey) + { + return await _configRepository.DeleteByKeyAsync(configKey); + } + + public async Task GetOrCreateConfigAsync(string configKey, string defaultValue) + { + return await new SystemConfigService(_configRepository, _logger).GetOrCreateConfigAsync(configKey, defaultValue); + } + + public async Task ValidateConfigAsync(SystemConfig config) + { + return await new SystemConfigService(_configRepository, _logger).ValidateConfigAsync(config); + } + } + + public class LoggingManager : ILoggingService + { + private readonly ILogRepository _logRepository; + private readonly ILoggerService _logger; + + public LoggingManager( + ILogRepository logRepository, + ILoggerService logger) + { + _logRepository = logRepository; + _logger = logger; + } + + public async Task LogInformationAsync(string message) + { + await _logRepository.LogAsync(message, "Information"); + await _logger.LogInformationAsync(message); + } + + public async Task LogWarningAsync(string message) + { + await _logRepository.LogAsync(message, "Warning"); + await _logger.LogWarningAsync(message); + } + + public async Task LogErrorAsync(string message) + { + await _logRepository.LogAsync(message, "Error"); + await _logger.LogErrorAsync(message); + } + + public async Task LogDebugAsync(string message) + { + await _logRepository.LogAsync(message, "Debug"); + await _logger.LogDebugAsync(message); + } + + public async Task LogExceptionAsync(Exception ex, string message) + { + var fullMessage = $"{message}: {ex.Message}\n{ex.StackTrace}"; + await _logRepository.LogAsync(fullMessage, "Error"); + await _logger.LogErrorAsync(fullMessage); + } + + public async Task LogAsync(LogLevel level, string message) + { + await _logRepository.LogAsync(message, level.ToString()); + await LogByLevel(level, message); + } + + private async Task LogByLevel(LogLevel level, string message) + { + switch (level) + { + case LogLevel.Trace: + await _logger.LogDebugAsync(message); + break; + case LogLevel.Debug: + await _logger.LogDebugAsync(message); + break; + case LogLevel.Information: + await _logger.LogInformationAsync(message); + break; + case LogLevel.Warning: + await _logger.LogWarningAsync(message); + break; + case LogLevel.Error: + case LogLevel.Critical: + await _logger.LogErrorAsync(message); + break; + default: + await _logger.LogInformationAsync(message); + break; + } + } + } +} \ No newline at end of file diff --git a/Haoliang.Core/Services/TemplateService.cs b/Haoliang.Core/Services/TemplateService.cs index 41f703f..0157076 100644 --- a/Haoliang.Core/Services/TemplateService.cs +++ b/Haoliang.Core/Services/TemplateService.cs @@ -1,9 +1,12 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using System.Text.Json; using Haoliang.Models.Template; using Haoliang.Models.Device; using Haoliang.Models.DataCollection; +using Haoliang.Data.Repositories; namespace Haoliang.Core.Services { @@ -269,4 +272,1007 @@ namespace Haoliang.Core.Services }"; } } + + public class TagMappingService : ITagMappingService + { + private readonly ITagMappingRepository _tagMappingRepository; + private readonly ITemplateRepository _templateRepository; + private readonly ILoggerService _logger; + + public TagMappingService( + ITagMappingRepository tagMappingRepository, + ITemplateRepository templateRepository, + ILoggerService logger) + { + _tagMappingRepository = tagMappingRepository; + _templateRepository = templateRepository; + _logger = logger; + } + + public async Task CreateTagMappingAsync(TagMapping mapping) + { + // 验证映射 + await ValidateTagMappingAsync(mapping); + + mapping.CreateTime = DateTime.Now; + mapping.UpdateTime = DateTime.Now; + + return await _tagMappingRepository.AddAsync(mapping); + } + + public async Task UpdateTagMappingAsync(int mappingId, TagMapping mapping) + { + var existingMapping = await _tagMappingRepository.GetByIdAsync(mappingId); + if (existingMapping == null) + { + throw new KeyNotFoundException($"Tag mapping with ID {mappingId} not found"); + } + + mapping.MappingId = mappingId; + mapping.UpdateTime = DateTime.Now; + + // 验证更新后的映射 + await ValidateTagMappingAsync(mapping); + + return await _tagMappingRepository.UpdateAsync(mapping); + } + + public async Task DeleteTagMappingAsync(int mappingId) + { + return await _tagMappingRepository.DeleteAsync(mappingId); + } + + public async Task GetTagMappingByIdAsync(int mappingId) + { + return await _tagMappingRepository.GetByIdAsync(mappingId); + } + + public async Task> GetAllTagMappingsAsync() + { + return await _tagMappingRepository.GetAllAsync(); + } + + public async Task> GetMappingsByTemplateAsync(int templateId) + { + return await _tagMappingRepository.GetByTemplateIdAsync(templateId); + } + + public async Task MapDeviceTagAsync(TagData deviceTag, int templateId) + { + var template = await _templateRepository.GetByIdAsync(templateId); + if (template == null) + { + throw new KeyNotFoundException($"Template with ID {templateId} not found"); + } + + // 解析模板JSON配置 + var templateConfig = ParseTemplateConfiguration(template.TemplateJson); + + // 查找匹配的标签映射 + var mapping = templateConfig.TagMappings.FirstOrDefault(m => + m.DeviceTagId == deviceTag.Id || m.DeviceTagPattern?.Equals(deviceTag.Id, StringComparison.OrdinalIgnoreCase) == true); + + if (mapping != null) + { + var mappedTag = new TagMapping + { + TemplateId = templateId, + DeviceTagId = deviceTag.Id, + StandardTagId = mapping.StandardTagId, + DataType = mapping.DataType, + ConversionRule = mapping.ConversionRule, + IsRequired = mapping.IsRequired, + CreateTime = DateTime.Now, + UpdateTime = DateTime.Now + }; + + return await CreateTagMappingAsync(mappedTag); + } + + return null; + } + + public async Task> MapDeviceTagsAsync(IEnumerable deviceTags, int templateId) + { + var mappedTags = new Dictionary(); + var template = await _templateRepository.GetByIdAsync(templateId); + if (template == null) + { + throw new KeyNotFoundException($"Template with ID {templateId} not found"); + } + + var templateConfig = ParseTemplateConfiguration(template.TemplateJson); + + foreach (var deviceTag in deviceTags) + { + var mapping = templateConfig.TagMappings.FirstOrDefault(m => + m.DeviceTagId == deviceTag.Id || m.DeviceTagPattern?.Equals(deviceTag.Id, StringComparison.OrdinalIgnoreCase) == true); + + if (mapping != null) + { + var mappedTag = await MapDeviceTagAsync(deviceTag, templateId); + if (mappedTag != null) + { + mappedTags[mappedTag.StandardTagId] = deviceTag; + } + } + } + + return mappedTags; + } + + public async Task ValidateTagMappingAsync(TagMapping mapping) + { + if (mapping == null) + { + throw new ArgumentNullException(nameof(mapping)); + } + + // 验证模板存在 + var template = await _templateRepository.GetByIdAsync(mapping.TemplateId); + if (template == null) + { + throw new InvalidOperationException($"Template with ID {mapping.TemplateId} not found"); + } + + // 验证标准标签ID + if (string.IsNullOrEmpty(mapping.StandardTagId)) + { + throw new InvalidOperationException("Standard tag ID is required"); + } + + // 验证数据类型 + if (!IsValidDataType(mapping.DataType)) + { + throw new InvalidOperationException($"Invalid data type: {mapping.DataType}"); + } + + // 验证设备标签ID + if (string.IsNullOrEmpty(mapping.DeviceTagId)) + { + throw new InvalidOperationException("Device tag ID is required"); + } + } + + private TemplateConfiguration ParseTemplateConfiguration(string templateJson) + { + try + { + return JsonSerializer.Deserialize(templateJson) ?? new TemplateConfiguration(); + } + catch (Exception ex) + { + throw new InvalidOperationException($"Failed to parse template configuration: {ex.Message}"); + } + } + + private bool IsValidDataType(string dataType) + { + return !string.IsNullOrEmpty(dataType) && + new[] { "string", "int", "decimal", "bool", "datetime" }.Contains(dataType.ToLower()); + } + } + + public class TemplateValidationService : ITemplateValidationService + { + private readonly ITemplateRepository _templateRepository; + private readonly ITagMappingRepository _tagMappingRepository; + private readonly ILoggerService _logger; + + public TemplateValidationService( + ITemplateRepository templateRepository, + ITagMappingRepository tagMappingRepository, + ILoggerService logger) + { + _templateRepository = templateRepository; + _tagMappingRepository = tagMappingRepository; + _logger = logger; + } + + public async Task ValidateTemplateStructureAsync(CNCBrandTemplate template) + { + var validationErrors = await GetTemplateStructureErrorsAsync(template); + return validationErrors.Count == 0; + } + + public async Task ValidateTagMappingsAsync(CNCBrandTemplate template) + { + var validationErrors = new List(); + + try + { + var templateConfig = ParseTemplateConfiguration(template.TemplateJson); + + // 验证必需的标签映射 + var requiredTags = templateConfig.TagMappings.Where(m => m.IsRequired).ToList(); + var existingMappings = await _tagMappingRepository.GetByTemplateIdAsync(template.TemplateId); + + foreach (var requiredTag in requiredTags) + { + if (!existingMappings.Any(m => m.StandardTagId == requiredTag.StandardTagId)) + { + validationErrors.Add(new ValidationError + { + Field = "TagMappings", + Message = $"Required mapping for tag '{requiredTag.StandardTagId}' is missing" + }); + } + } + + // 验证数据类型一致性 + foreach (var mapping in existingMappings) + { + if (!IsValidDataType(mapping.DataType)) + { + validationErrors.Add(new ValidationError + { + Field = $"TagMappings[{mapping.DeviceTagId}]", + Message = $"Invalid data type: {mapping.DataType}" + }); + } + } + } + catch (Exception ex) + { + validationErrors.Add(new ValidationError + { + Field = "TemplateJson", + Message = $"Failed to parse template configuration: {ex.Message}" + }); + } + + return validationErrors.Count == 0; + } + + public async Task ValidateDataParsingRulesAsync(CNCBrandTemplate template) + { + var validationErrors = new List(); + + try + { + var templateConfig = ParseTemplateConfiguration(template.TemplateJson); + + // 验证数据解析规则 + foreach (var mapping in templateConfig.TagMappings) + { + if (!string.IsNullOrEmpty(mapping.ConversionRule)) + { + if (!ValidateConversionRule(mapping.ConversionRule)) + { + validationErrors.Add(new ValidationError + { + Field = $"TagMappings[{mapping.DeviceTagId}].ConversionRule", + Message = $"Invalid conversion rule: {mapping.ConversionRule}" + }); + } + } + } + } + catch (Exception ex) + { + validationErrors.Add(new ValidationError + { + Field = "TemplateJson", + Message = $"Failed to validate data parsing rules: {ex.Message}" + }); + } + + return validationErrors.Count == 0; + } + + public async Task> ValidateTemplateForDeviceAsync(int templateId, int deviceId) + { + var validationErrors = new List(); + + try + { + var template = await _templateRepository.GetByIdAsync(templateId); + if (template == null) + { + validationErrors.Add(new ValidationError + { + Field = "TemplateId", + Message = $"Template with ID {templateId} not found" + }); + return validationErrors; + } + + // 获取设备数据 + var deviceData = await GetSampleDeviceDataAsync(deviceId); + if (deviceData == null) + { + validationErrors.Add(new ValidationError + { + Field = "DeviceData", + Message = "No sample device data available for validation" + }); + return validationErrors; + } + + // 验证模板结构 + var structureErrors = await GetTemplateStructureErrorsAsync(template); + validationErrors.AddRange(structureErrors); + + // 验证标签映射 + var tagMappingErrors = await ValidateTagMappingsWithDeviceData(template, deviceData); + validationErrors.AddRange(tagMappingErrors); + + // 验证数据解析 + var parsingErrors = await ValidateDataParsingWithDeviceData(template, deviceData); + validationErrors.AddRange(parsingErrors); + } + catch (Exception ex) + { + validationErrors.Add(new ValidationError + { + Field = "Validation", + Message = $"Template validation failed: {ex.Message}" + }); + } + + return validationErrors; + } + + public async Task TestTemplateDataParsingAsync(CNCBrandTemplate template, string sampleData) + { + try + { + var templateConfig = ParseTemplateConfiguration(template.TemplateJson); + var deviceData = JsonSerializer.Deserialize(sampleData); + + if (deviceData?.Tags == null) + { + throw new InvalidOperationException("Invalid sample data format"); + } + + // 测试每个标签映射 + foreach (var mapping in templateConfig.TagMappings) + { + var deviceTag = deviceData.Tags.FirstOrDefault(t => t.Id == mapping.DeviceTagId); + if (deviceTag == null) + { + if (mapping.IsRequired) + { + throw new InvalidOperationException($"Required tag '{mapping.DeviceTagId}' not found in sample data"); + } + continue; + } + + // 应用转换规则 + var convertedValue = ApplyConversionRule(deviceTag.Value, mapping.ConversionRule); + if (convertedValue == null) + { + throw new InvalidOperationException($"Failed to convert tag '{mapping.DeviceTagId}' with rule '{mapping.ConversionRule}'"); + } + } + + return true; + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Template data parsing test failed: {ex.Message}"); + return false; + } + } + + public async Task> GetMissingRequiredTagsAsync(CNCBrandTemplate template) + { + var missingTags = new List(); + + try + { + var templateConfig = ParseTemplateConfiguration(template.TemplateJson); + var requiredMappings = templateConfig.TagMappings.Where(m => m.IsRequired).ToList(); + + foreach (var mapping in requiredMappings) + { + var existingMapping = await _tagMappingRepository.GetByTemplateIdAsync(template.TemplateId) + .FirstOrDefault(m => m.StandardTagId == mapping.StandardTagId); + + if (existingMapping == null) + { + missingTags.Add(mapping.StandardTagId); + } + } + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Failed to get missing required tags: {ex.Message}"); + } + + return missingTags; + } + + #region Private Methods + + private async Task> GetTemplateStructureErrorsAsync(CNCBrandTemplate template) + { + var errors = new List(); + + if (template == null) + { + errors.Add(new ValidationError { Field = "Template", Message = "Template is null" }); + return errors; + } + + if (string.IsNullOrEmpty(template.TemplateName)) + { + errors.Add(new ValidationError { Field = "TemplateName", Message = "Template name is required" }); + } + + if (string.IsNullOrEmpty(template.BrandName)) + { + errors.Add(new ValidationError { Field = "BrandName", Message = "Brand name is required" }); + } + + if (string.IsNullOrEmpty(template.TemplateJson)) + { + errors.Add(new ValidationError { Field = "TemplateJson", Message = "Template JSON is required" }); + } + + // 验证JSON格式 + try + { + var config = ParseTemplateConfiguration(template.TemplateJson); + + // 验证必需的标准标签 + var requiredStandardTags = new[] { "device", "production" }; + foreach (var requiredTag in requiredStandardTags) + { + if (!config.TagMappings.Any(m => m.StandardTagId == requiredTag)) + { + errors.Add(new ValidationError + { + Field = "TemplateJson", + Message = $"Required standard tag '{requiredTag}' is missing" + }); + } + } + } + catch (Exception ex) + { + errors.Add(new ValidationError { Field = "TemplateJson", Message = $"Invalid JSON format: {ex.Message}" }); + } + + return errors; + } + + private async Task> ValidateTagMappingsWithDeviceData(CNCBrandTemplate template, DeviceSampleData deviceData) + { + var errors = new List(); + + if (deviceData?.Tags == null) return errors; + + try + { + var templateConfig = ParseTemplateConfiguration(template.TemplateJson); + + foreach (var deviceTag in deviceData.Tags) + { + var mapping = templateConfig.TagMappings.FirstOrDefault(m => + m.DeviceTagId == deviceTag.Id || m.DeviceTagPattern?.Equals(deviceTag.Id, StringComparison.OrdinalIgnoreCase) == true); + + if (mapping == null) + { + // 如果不是必需标签,则忽略 + continue; + } + + // 验证数据类型 + var typeValid = ValidateTagDataType(deviceTag.Value, mapping.DataType); + if (!typeValid) + { + errors.Add(new ValidationError + { + Field = $"TagMappings[{deviceTag.Id}].DataType", + Message = $"Tag value '{deviceTag.Value}' cannot be converted to type '{mapping.DataType}'" + }); + } + } + } + catch (Exception ex) + { + errors.Add(new ValidationError + { + Field = "TagMappings", + Message = $"Failed to validate tag mappings: {ex.Message}" + }); + } + + return errors; + } + + private async Task> ValidateDataParsingWithDeviceData(CNCBrandTemplate template, DeviceSampleData deviceData) + { + var errors = new List(); + + try + { + var testResult = await TestTemplateDataParsingAsync(template, JsonSerializer.Serialize(deviceData)); + if (!testResult) + { + errors.Add(new ValidationError + { + Field = "DataParsing", + Message = "Template failed data parsing test with sample data" + }); + } + } + catch (Exception ex) + { + errors.Add(new ValidationError + { + Field = "DataParsing", + Message = $"Data parsing validation failed: {ex.Message}" + }); + } + + return errors; + } + + private bool ValidateTagDataType(object value, string expectedType) + { + if (value == null) return true; + + switch (expectedType.ToLower()) + { + case "string": + return true; // Any value can be converted to string + case "int": + return int.TryParse(value.ToString(), out _); + case "decimal": + return decimal.TryParse(value.ToString(), out _); + case "bool": + return bool.TryParse(value.ToString(), out _); + case "datetime": + return DateTime.TryParse(value.ToString(), out _); + default: + return false; + } + } + + private bool ValidateConversionRule(string conversionRule) + { + if (string.IsNullOrEmpty(conversionRule)) return true; + + // 简单的规则验证 + var validRules = new[] { "multiply:2", "divide:2", "add:1", "subtract:1", "format:0.00" }; + return validRules.Any(rule => conversionRule.StartsWith(rule.Split(':')[0])); + } + + private object ApplyConversionRule(object value, string conversionRule) + { + if (value == null || string.IsNullOrEmpty(conversionRule)) return value; + + try + { + var ruleParts = conversionRule.Split(':'); + var operation = ruleParts[0]; + var parameter = ruleParts.Length > 1 ? ruleParts[1] : null; + + if (decimal.TryParse(value.ToString(), out decimal numericValue)) + { + switch (operation.ToLower()) + { + case "multiply": + if (decimal.TryParse(parameter, out decimal multiplyFactor)) + return numericValue * multiplyFactor; + break; + case "divide": + if (decimal.TryParse(parameter, out decimal divideFactor)) + return divideFactor != 0 ? numericValue / divideFactor : 0; + break; + case "add": + if (decimal.TryParse(parameter, out decimal addValue)) + return numericValue + addValue; + break; + case "subtract": + if (decimal.TryParse(parameter, out decimal subtractValue)) + return numericValue - subtractValue; + break; + case "format": + if (parameter != null) + return numericValue.ToString(parameter); + break; + } + } + + return value; + } + catch + { + return value; // Return original value if conversion fails + } + } + + private async Task GetSampleDeviceDataAsync(int deviceId) + { + // This would typically fetch actual device data for validation + // For now, return sample data + return new DeviceSampleData + { + Device = "SampleDevice", + Desc = "Sample Device", + Tags = new List + { + new TagData { Id = "_io_status", Desc = "I/O Status", Quality = "0", Value = 1, Time = DateTime.Now }, + new TagData { Id = "Tag5", Desc = "NC Program", Quality = "0", Value = "O1234", Time = DateTime.Now }, + new TagData { Id = "Tag8", Desc = "Cumulative Count", Quality = "0", Value = 12345, Time = DateTime.Now } + } + }; + } + + private TemplateConfiguration ParseTemplateConfiguration(string templateJson) + { + return JsonSerializer.Deserialize(templateJson) ?? new TemplateConfiguration(); + } + + private bool IsValidDataType(string dataType) + { + return !string.IsNullOrEmpty(dataType) && + new[] { "string", "int", "decimal", "bool", "datetime" }.Contains(dataType.ToLower()); + } + + #endregion + } + + public class TemplateMigrationService : ITemplateMigrationService + { + private readonly ITemplateRepository _templateRepository; + private readonly ITagMappingRepository _tagMappingRepository; + private readonly ILoggerService _logger; + + public TemplateMigrationService( + ITemplateRepository templateRepository, + ITagMappingRepository tagMappingRepository, + ILoggerService logger) + { + _templateRepository = templateRepository; + _tagMappingRepository = tagMappingRepository; + _logger = logger; + } + + public async Task MigrateTemplateAsync(CNCBrandTemplate oldTemplate, string targetBrand) + { + // 验证迁移兼容性 + var isCompatible = await ValidateMigrationCompatibilityAsync(oldTemplate, targetBrand); + if (!isCompatible) + { + throw new InvalidOperationException("Template migration is not compatible with target brand"); + } + + var migrationReport = await GenerateMigrationReportAsync(oldTemplate, targetBrand); + var issues = await DetectMigrationIssuesAsync(oldTemplate, targetBrand); + + if (issues.Any()) + { + throw new InvalidOperationException($"Migration detected {issues.Count} issues: {string.Join(", ", issues.Select(i => i.Description))}"); + } + + // 创建新模板 + var newTemplate = new CNCBrandTemplate + { + TemplateName = $"{oldTemplate.TemplateName}_Migrated_{DateTime.Now:yyyyMMdd}", + BrandName = targetBrand, + Description = $"Migrated from {oldTemplate.BrandName}: {oldTemplate.Description}", + IsEnabled = false, + Version = oldTemplate.Version, + TemplateJson = oldTemplate.TemplateJson, + CreateTime = DateTime.Now, + UpdateTime = DateTime.Now + }; + + return await _templateRepository.AddAsync(newTemplate); + } + + public async Task ValidateMigrationCompatibilityAsync(CNCBrandTemplate sourceTemplate, string targetBrand) + { + try + { + // 获取目标品牌的现有模板 + var targetTemplates = await _templateRepository.GetByBrandAsync(targetBrand); + + // 基本兼容性检查 + if (sourceTemplate == null) + return false; + + if (string.IsNullOrEmpty(targetBrand)) + return false; + + // 检查模板结构兼容性 + var sourceConfig = ParseTemplateConfiguration(sourceTemplate.TemplateJson); + var targetConfigs = targetTemplates.Select(t => ParseTemplateConfiguration(t.TemplateJson)); + + // 检查必需标签是否兼容 + var requiredTags = sourceConfig.TagMappings.Where(m => m.IsRequired).ToList(); + foreach (var requiredTag in requiredTags) + { + if (!targetConfigs.Any(c => c.TagMappings.Any(m => m.StandardTagId == requiredTag.StandardTagId))) + { + await _logger.LogWarningAsync($"Required tag '{requiredTag.StandardTagId}' not found in target brand templates"); + return false; + } + } + + return true; + } + catch (Exception ex) + { + await _logger.LogErrorAsync($"Migration compatibility check failed: {ex.Message}"); + return false; + } + } + + public async Task GenerateMigrationReportAsync(CNCBrandTemplate template, string targetBrand) + { + var report = new MigrationReport + { + SourceTemplate = template, + TargetBrand = targetBrand, + MigrationTime = DateTime.Now, + Issues = new List(), + Recommendations = new List() + }; + + try + { + var targetTemplates = await _templateRepository.GetByBrandAsync(targetBrand); + var sourceConfig = ParseTemplateConfiguration(template.TemplateJson); + + // 分析兼容性 + report.IsCompatible = await ValidateMigrationCompatibilityAsync(template, targetBrand); + + // 识别缺失的标签 + var missingTags = await GetMissingTagsForMigration(template, targetBrand); + report.MissingTags = missingTags; + + // 生成建议 + if (missingTags.Any()) + { + report.Recommendations.Add($"Create missing tag mappings for: {string.Join(", ", missingTags)}"); + } + + if (!report.IsCompatible) + { + report.Recommendations.Add("Template migration is not recommended without manual review"); + } + } + catch (Exception ex) + { + report.IsCompatible = false; + report.Issues.Add(new MigrationIssue + { + Severity = MigrationIssueSeverity.Critical, + Description = $"Failed to generate migration report: {ex.Message}", + Recommendation = "Review template manually before migration" + }); + } + + return report; + } + + public async Task> DetectMigrationIssuesAsync(CNCBrandTemplate template, string targetBrand) + { + var issues = new List(); + + try + { + var targetTemplates = await _templateRepository.GetByBrandAsync(targetBrand); + var sourceConfig = ParseTemplateConfiguration(template.TemplateJson); + + // 检查数据类型冲突 + var typeConflicts = await DetectDataTypeConflicts(template, targetBrand); + issues.AddRange(typeConflicts); + + // 检查必需标签缺失 + var missingRequiredTags = await GetMissingRequiredTagsForMigration(template, targetBrand); + foreach (var missingTag in missingRequiredTags) + { + issues.Add(new MigrationIssue + { + Severity = MigrationIssueSeverity.High, + Description = $"Required tag '{missingTag}' is missing in target brand", + Recommendation = $"Create mapping for '{missingTag}' before migration" + }); + } + + // 检查数据转换规则兼容性 + var conversionConflicts = await DetectConversionRuleConflicts(template, targetBrand); + issues.AddRange(conversionConflicts); + + } + catch (Exception ex) + { + issues.Add(new MigrationIssue + { + Severity = MigrationIssueSeverity.Critical, + Description = $"Migration issue detection failed: {ex.Message}", + Recommendation = "Manual review required" + }); + } + + return issues; + } + + #region Private Methods + + private async Task> GetMissingTagsForMigration(CNCBrandTemplate template, string targetBrand) + { + var missingTags = new List(); + var targetTemplates = await _templateRepository.GetByBrandAsync(targetBrand); + var sourceConfig = ParseTemplateConfiguration(template.TemplateJson); + + var sourceTags = sourceConfig.TagMappings.Select(m => m.StandardTagId).ToList(); + var targetTags = targetTemplates.SelectMany(t => ParseTemplateConfiguration(t.TemplateJson).TagMappings.Select(m => m.StandardTagId)); + + foreach (var sourceTag in sourceTags) + { + if (!targetTags.Contains(sourceTag)) + { + missingTags.Add(sourceTag); + } + } + + return missingTags; + } + + private async Task> GetMissingRequiredTagsForMigration(CNCBrandTemplate template, string targetBrand) + { + var missingTags = new List(); + var targetTemplates = await _templateRepository.GetByBrandAsync(targetBrand); + var sourceConfig = ParseTemplateConfiguration(template.TemplateJson); + + var requiredSourceTags = sourceConfig.TagMappings.Where(m => m.IsRequired).Select(m => m.StandardTagId).ToList(); + var targetTags = targetTemplates.SelectMany(t => ParseTemplateConfiguration(t.TemplateJson).TagMappings.Select(m => m.StandardTagId)); + + foreach (var requiredTag in requiredSourceTags) + { + if (!targetTags.Contains(requiredTag)) + { + missingTags.Add(requiredTag); + } + } + + return missingTags; + } + + private async Task> DetectDataTypeConflicts(CNCBrandTemplate template, string targetBrand) + { + var issues = new List(); + var targetTemplates = await _templateRepository.GetByBrandAsync(targetBrand); + var sourceConfig = ParseTemplateConfiguration(template.TemplateJson); + + foreach (var sourceMapping in sourceConfig.TagMappings) + { + foreach (var targetTemplate in targetTemplates) + { + var targetConfig = ParseTemplateConfiguration(targetTemplate.TemplateJson); + var targetMapping = targetConfig.TagMappings.FirstOrDefault(m => m.StandardTagId == sourceMapping.StandardTagId); + + if (targetMapping != null && targetMapping.DataType != sourceMapping.DataType) + { + issues.Add(new MigrationIssue + { + Severity = MigrationIssueSeverity.Medium, + Description = $"Data type conflict for tag '{sourceMapping.StandardTagId}': source '{sourceMapping.DataType}', target '{targetMapping.DataType}'", + Recommendation = $"Review and reconcile data type difference" + }); + } + } + } + + return issues; + } + + private async Task> DetectConversionRuleConflicts(CNCBrandTemplate template, string targetBrand) + { + var issues = new List(); + var targetTemplates = await _templateRepository.GetByBrandAsync(targetBrand); + var sourceConfig = ParseTemplateConfiguration(template.TemplateJson); + + foreach (var sourceMapping in sourceConfig.TagMappings) + { + if (!string.IsNullOrEmpty(sourceMapping.ConversionRule)) + { + foreach (var targetTemplate in targetTemplates) + { + var targetConfig = ParseTemplateConfiguration(targetTemplate.TemplateJson); + var targetMapping = targetConfig.TagMappings.FirstOrDefault(m => m.StandardTagId == sourceMapping.StandardTagId); + + if (targetMapping != null && !string.IsNullOrEmpty(targetMapping.ConversionRule) && targetMapping.ConversionRule != sourceMapping.ConversionRule) + { + issues.Add(new MigrationIssue + { + Severity = MigrationIssueSeverity.Low, + Description = $"Conversion rule conflict for tag '{sourceMapping.StandardTagId}': source '{sourceMapping.ConversionRule}', target '{targetMapping.ConversionRule}'", + Recommendation = $"Review conversion rule compatibility" + }); + } + } + } + } + + return issues; + } + + private TemplateConfiguration ParseTemplateConfiguration(string templateJson) + { + return JsonSerializer.Deserialize(templateJson) ?? new TemplateConfiguration(); + } + + #endregion + } + + // Supporting classes and models + public class TemplateConfiguration + { + public List TagMappings { get; set; } = new List(); + } + + public class ValidationError + { + public string Field { get; set; } + public string Message { get; set; } + } + + public class MigrationReport + { + public CNCBrandTemplate SourceTemplate { get; set; } + public string TargetBrand { get; set; } + public DateTime MigrationTime { get; set; } + public bool IsCompatible { get; set; } + public List MissingTags { get; set; } + public List Issues { get; set; } + public List Recommendations { get; set; } + } + + public class MigrationIssue + { + public MigrationIssueSeverity Severity { get; set; } + public string Description { get; set; } + public string Recommendation { get; set; } + } + + public enum MigrationIssueSeverity + { + Low, + Medium, + High, + Critical + } + + public class DeviceSampleData + { + public string Device { get; set; } + public string Desc { get; set; } + public List Tags { get; set; } + } + + // Additional repository interfaces + public interface ITagMappingRepository + { + Task AddAsync(TagMapping mapping); + Task UpdateAsync(TagMapping mapping); + Task DeleteAsync(int mappingId); + Task GetByIdAsync(int mappingId); + Task> GetAllAsync(); + Task> GetByTemplateIdAsync(int templateId); + } + + public interface ITemplateMigrationRepository + { + Task GetMigrationReportAsync(int templateId, string targetBrand); + Task> GetMigrationIssuesAsync(int templateId, string targetBrand); + Task SaveMigrationLogAsync(MigrationLog log); + } + + public class MigrationLog + { + public int LogId { get; set; } + public int SourceTemplateId { get; set; } + public string TargetBrand { get; set; } + public DateTime MigrationTime { get; set; } + public bool IsSuccessful { get; set; } + public string ResultMessage { get; set; } + } } \ No newline at end of file diff --git a/Haoliang.Core/obj/Debug/net6.0/Haoliang.Core.assets.cache b/Haoliang.Core/obj/Debug/net6.0/Haoliang.Core.assets.cache index 5aa1dfb3a95d4ac7da2916631777519066eaa1f9..3b06ecb766fc4faa460f78aeb24b34296a5d99c5 100644 GIT binary patch literal 31785 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 diff --git a/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.dgspec.json b/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.dgspec.json index a30118c..0109b56 100644 --- a/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.dgspec.json +++ b/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.dgspec.json @@ -26,6 +26,9 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { + "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj": { + "projectPath": "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj" + }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } @@ -90,6 +93,80 @@ } } }, + "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj", + "projectName": "Haoliang.Data", + "projectPath": "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj", + "packagesPath": "/root/.nuget/packages/", + "outputPath": "/root/opencode/haoliang/Haoliang.Data/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/root/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": { + "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { + "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "dependencies": { + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Microsoft.EntityFrameworkCore.Design": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Microsoft.EntityFrameworkCore.Tools": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Pomelo.EntityFrameworkCore.MySql": { + "target": "Package", + "version": "[6.0.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/6.0.136/RuntimeIdentifierGraph.json" + } + } + }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "version": "1.0.0", "restore": { diff --git a/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.g.props b/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.g.props index 7267653..f987ce3 100644 --- a/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.g.props +++ b/Haoliang.Core/obj/Haoliang.Core.csproj.nuget.g.props @@ -12,4 +12,7 @@ + + /root/.nuget/packages/microsoft.entityframeworkcore.tools/6.0.0 + \ No newline at end of file diff --git a/Haoliang.Core/obj/project.assets.json b/Haoliang.Core/obj/project.assets.json index dd7e166..d43acc6 100644 --- a/Haoliang.Core/obj/project.assets.json +++ b/Haoliang.Core/obj/project.assets.json @@ -11,6 +11,15 @@ "lib/net6.0/BCrypt.Net-Next.dll": {} } }, + "Humanizer.Core/2.8.26": { + "type": "package", + "compile": { + "lib/netstandard2.0/Humanizer.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Humanizer.dll": {} + } + }, "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { "type": "package", "dependencies": { @@ -304,6 +313,83 @@ "lib/netcoreapp2.0/_._": {} } }, + "Microsoft.EntityFrameworkCore/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.0", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.0", + "Microsoft.Extensions.Caching.Memory": "6.0.0", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore.Design/6.0.0": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.8.26", + "Microsoft.EntityFrameworkCore.Relational": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": {} + }, + "build": { + "build/net6.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Design": "6.0.0" + }, + "compile": { + "lib/net6.0/_._": {} + }, + "runtime": { + "lib/net6.0/_._": {} + } + }, "Microsoft.Extensions.Caching.Abstractions/6.0.0": { "type": "package", "dependencies": { @@ -332,10 +418,10 @@ "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": {} } }, - "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Primitives": "2.2.0" + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} @@ -344,6 +430,22 @@ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} } }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { "type": "package", "compile": { @@ -383,6 +485,22 @@ "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": {} } }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} + } + }, "Microsoft.Extensions.Logging.Abstractions/6.0.0": { "type": "package", "compile": { @@ -514,6 +632,15 @@ "lib/netstandard1.0/_._": {} } }, + "MySqlConnector/2.0.0": { + "type": "package", + "compile": { + "lib/net6.0/MySqlConnector.dll": {} + }, + "runtime": { + "lib/net6.0/MySqlConnector.dll": {} + } + }, "Newtonsoft.Json/11.0.2": { "type": "package", "compile": { @@ -523,6 +650,20 @@ "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "[6.0.0, 7.0.0)", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "MySqlConnector": "2.0.0" + }, + "compile": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} + }, + "runtime": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} + } + }, "System.Buffers/4.5.0": { "type": "package", "compile": { @@ -532,6 +673,36 @@ "lib/netcoreapp2.0/_._": {} } }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Collections.Immutable.dll": {} + }, + "runtime": { + "lib/net6.0/System.Collections.Immutable.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} + }, + "runtime": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, "System.IdentityModel.Tokens.Jwt/6.26.0": { "type": "package", "dependencies": { @@ -738,6 +909,23 @@ "ref/netstandard1.3/System.Threading.Tasks.dll": {} } }, + "Haoliang.Data/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "dependencies": { + "Haoliang.Models": "1.0.0", + "Microsoft.EntityFrameworkCore": "6.0.0", + "Microsoft.EntityFrameworkCore.Design": "6.0.0", + "Microsoft.EntityFrameworkCore.Tools": "6.0.0", + "Pomelo.EntityFrameworkCore.MySql": "6.0.0" + }, + "compile": { + "bin/placeholder/Haoliang.Data.dll": {} + }, + "runtime": { + "bin/placeholder/Haoliang.Data.dll": {} + } + }, "Haoliang.Models/1.0.0": { "type": "project", "framework": ".NETCoreApp,Version=v6.0", @@ -782,6 +970,22 @@ "readme.md" ] }, + "Humanizer.Core/2.8.26": { + "sha512": "OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", + "type": "package", + "path": "humanizer.core/2.8.26", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "humanizer.core.2.8.26.nupkg.sha512", + "humanizer.core.nuspec", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" + ] + }, "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { "sha512": "VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==", "type": "package", @@ -1116,6 +1320,101 @@ "version.txt" ] }, + "Microsoft.EntityFrameworkCore/6.0.0": { + "sha512": "BdHAtHzfQt3rltgSoYamSlHg2qawPtEDT677/bcSJlO8lQ/lj6XWlusM0TOt59O8Sbqm3hAC1a+4cEBxmv56pw==", + "type": "package", + "path": "microsoft.entityframeworkcore/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.6.0.0.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.0": { + "sha512": "MrMLWEw4JsZdkVci0MkkGj+fSjZrXnm3m6UNuIEwytiAAIZPvJs3iPpnzfK4qM7np82W374voYm96q7QCdL0ow==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.6.0.0.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.0": { + "sha512": "BqWBL05PUDKwPwLeQCJdc2R4cIUycXV9UmuSjYfux2fcgyet8I2eYnOWlA7NgsDwRVcxW26vxvNQ0wuc8UAcLA==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.6.0.0.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Design/6.0.0": { + "sha512": "RFdomymyuPNffl+VPk7osdxCJQ0xlGuxr28ifdfFFNUaMK0OYiJOjr6w9z3kscOM2p2gdPWNI1IFUXllEyphow==", + "type": "package", + "path": "microsoft.entityframeworkcore.design/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", + "microsoft.entityframeworkcore.design.6.0.0.nupkg.sha512", + "microsoft.entityframeworkcore.design.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.0": { + "sha512": "rTRzrSbkUXoCGijlT9O7oq7JfuaU1/+VFyfSBjADQuOsfa0FCrWeB8ybue5CDvO/D6uW0kvPvlKfY2kwxXOOdg==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.6.0.0.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.0": { + "sha512": "m9e6nFnkyRdKcrTFO8rl3ZihCIKrYdECw+fHZVbKz6TBMwKhih/N0sjPnNt0k7sZPvI8izKPkh1d+z4OR2qgXQ==", + "type": "package", + "path": "microsoft.entityframeworkcore.tools/6.0.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/_._", + "microsoft.entityframeworkcore.tools.6.0.0.nupkg.sha512", + "microsoft.entityframeworkcore.tools.nuspec", + "tools/EntityFrameworkCore.PS2.psd1", + "tools/EntityFrameworkCore.PS2.psm1", + "tools/EntityFrameworkCore.psd1", + "tools/EntityFrameworkCore.psm1", + "tools/about_EntityFrameworkCore.help.txt", + "tools/init.ps1", + "tools/net461/any/ef.exe", + "tools/net461/win-x86/ef.exe", + "tools/netcoreapp2.0/any/ef.dll", + "tools/netcoreapp2.0/any/ef.runtimeconfig.json" + ] + }, "Microsoft.Extensions.Caching.Abstractions/6.0.0": { "sha512": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", "type": "package", @@ -1154,17 +1453,48 @@ "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { - "sha512": "65MrmXCziWaQFrI0UHkQbesrX5wTwf9XPjY5yFm/VkgJKFJ5gqvXRoXjIZcf2wLi5ZlwGz/oMYfyURVCWbM5iw==", + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "sha512": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", "type": "package", - "path": "microsoft.extensions.configuration.abstractions/2.2.0", + "path": "microsoft.extensions.configuration.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "microsoft.extensions.configuration.abstractions.2.2.0.nupkg.sha512", - "microsoft.extensions.configuration.abstractions.nuspec" + "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "sha512": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" ] }, "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { @@ -1218,6 +1548,27 @@ "microsoft.extensions.hosting.abstractions.nuspec" ] }, + "Microsoft.Extensions.Logging/6.0.0": { + "sha512": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "type": "package", + "path": "microsoft.extensions.logging/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.dll", + "lib/net461/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, "Microsoft.Extensions.Logging.Abstractions/6.0.0": { "sha512": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", "type": "package", @@ -1458,6 +1809,35 @@ "runtime.json" ] }, + "MySqlConnector/2.0.0": { + "sha512": "EY0KXqQas+QvdZQU0NPkqBSfJitWAl8IUCg0v/Qn0P7f/KApJTFJFm8czYWoDPyewUjPHrAnE/cSYzzSFGc8Ng==", + "type": "package", + "path": "mysqlconnector/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net45/MySqlConnector.dll", + "lib/net45/MySqlConnector.xml", + "lib/net461/MySqlConnector.dll", + "lib/net461/MySqlConnector.xml", + "lib/net471/MySqlConnector.dll", + "lib/net471/MySqlConnector.xml", + "lib/net5.0/MySqlConnector.dll", + "lib/net5.0/MySqlConnector.xml", + "lib/net6.0/MySqlConnector.dll", + "lib/net6.0/MySqlConnector.xml", + "lib/netcoreapp3.1/MySqlConnector.dll", + "lib/netcoreapp3.1/MySqlConnector.xml", + "lib/netstandard2.0/MySqlConnector.dll", + "lib/netstandard2.0/MySqlConnector.xml", + "lib/netstandard2.1/MySqlConnector.dll", + "lib/netstandard2.1/MySqlConnector.xml", + "logo.png", + "mysqlconnector.2.0.0.nupkg.sha512", + "mysqlconnector.nuspec" + ] + }, "Newtonsoft.Json/11.0.2": { "sha512": "IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ==", "type": "package", @@ -1488,6 +1868,20 @@ "newtonsoft.json.nuspec" ] }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "sha512": "iWloXFjpN6BllZA9oPqZTW9mNtFV5Q6DFv0WwFyh1IuOJ71btS3ifTwpLmaFXSlXzuEU9o7Rul0dU0WiwkOq0Q==", + "type": "package", + "path": "pomelo.entityframeworkcore.mysql/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.xml", + "pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", + "pomelo.entityframeworkcore.mysql.nuspec" + ] + }, "System.Buffers/4.5.0": { "sha512": "pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A==", "type": "package", @@ -1517,6 +1911,54 @@ "version.txt" ] }, + "System.Collections.Immutable/6.0.0": { + "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "type": "package", + "path": "system.collections.immutable/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Collections.Immutable.dll", + "lib/net461/System.Collections.Immutable.xml", + "lib/net6.0/System.Collections.Immutable.dll", + "lib/net6.0/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "system.collections.immutable.6.0.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "sha512": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "type": "package", + "path": "system.diagnostics.diagnosticsource/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Diagnostics.DiagnosticSource.dll", + "lib/net461/System.Diagnostics.DiagnosticSource.xml", + "lib/net5.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net5.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.IdentityModel.Tokens.Jwt/6.26.0": { "sha512": "GT6imbntzCpoGHTRFUa98TPCF9PTnzV1v5KiTj9sT5ZmeYZErNA5ks5VDvYBaOC59y3dQ78IsMzEJm+XrxDk6w==", "type": "package", @@ -2304,6 +2746,11 @@ "system.threading.tasks.nuspec" ] }, + "Haoliang.Data/1.0.0": { + "type": "project", + "path": "../Haoliang.Data/Haoliang.Data.csproj", + "msbuildProject": "../Haoliang.Data/Haoliang.Data.csproj" + }, "Haoliang.Models/1.0.0": { "type": "project", "path": "../Haoliang.Models/Haoliang.Models.csproj", @@ -2313,6 +2760,7 @@ "projectFileDependencyGroups": { "net6.0": [ "BCrypt.Net-Next >= 4.0.3", + "Haoliang.Data >= 1.0.0", "Haoliang.Models >= 1.0.0", "Microsoft.AspNetCore.Http.Abstractions >= 2.2.0", "Microsoft.AspNetCore.SignalR >= 1.1.0", @@ -2347,6 +2795,9 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { + "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj": { + "projectPath": "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj" + }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } diff --git a/Haoliang.Core/obj/project.nuget.cache b/Haoliang.Core/obj/project.nuget.cache index 948185e..ef9532f 100644 --- a/Haoliang.Core/obj/project.nuget.cache +++ b/Haoliang.Core/obj/project.nuget.cache @@ -1,10 +1,11 @@ { "version": 2, - "dgSpecHash": "JXZHRpHRIVB4k9X9GkQYjgJFTdFXJDSb+42sJl8bI1k2k9teZWdbTGwx0JJgh5J3M4+9rp1wh+omg4LmNZnqzQ==", + "dgSpecHash": "UrcVVpvInVazwc35FwsmV5vhcLVoOwid1NCCuZjn3O133q3kza7gearS2X9ki8CFJLx8yoTeQY+38HJQOCyyAA==", "success": true, "projectFilePath": "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj", "expectedPackageFiles": [ "/root/.nuget/packages/bcrypt.net-next/4.0.3/bcrypt.net-next.4.0.3.nupkg.sha512", + "/root/.nuget/packages/humanizer.core/2.8.26/humanizer.core.2.8.26.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.authentication.abstractions/2.2.0/microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.authorization/2.2.0/microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.authorization.policy/2.2.0/microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", @@ -26,12 +27,20 @@ "/root/.nuget/packages/microsoft.aspnetcore.websockets/2.2.0/microsoft.aspnetcore.websockets.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.aspnetcore.webutilities/2.2.0/microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.csharp/4.5.0/microsoft.csharp.4.5.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore/6.0.0/microsoft.entityframeworkcore.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.abstractions/6.0.0/microsoft.entityframeworkcore.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.analyzers/6.0.0/microsoft.entityframeworkcore.analyzers.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.design/6.0.0/microsoft.entityframeworkcore.design.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.relational/6.0.0/microsoft.entityframeworkcore.relational.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.tools/6.0.0/microsoft.entityframeworkcore.tools.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.caching.abstractions/6.0.0/microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.caching.memory/6.0.0/microsoft.extensions.caching.memory.6.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.configuration.abstractions/2.2.0/microsoft.extensions.configuration.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.abstractions/6.0.0/microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.dependencyinjection/6.0.0/microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/6.0.0/microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.fileproviders.abstractions/2.2.0/microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.hosting.abstractions/2.2.0/microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging/6.0.0/microsoft.extensions.logging.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.logging.abstractions/6.0.0/microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.objectpool/2.2.0/microsoft.extensions.objectpool.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.extensions.options/6.0.0/microsoft.extensions.options.6.0.0.nupkg.sha512", @@ -43,8 +52,12 @@ "/root/.nuget/packages/microsoft.net.http.headers/2.2.0/microsoft.net.http.headers.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.netcore.platforms/2.0.0/microsoft.netcore.platforms.2.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512", + "/root/.nuget/packages/mysqlconnector/2.0.0/mysqlconnector.2.0.0.nupkg.sha512", "/root/.nuget/packages/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg.sha512", + "/root/.nuget/packages/pomelo.entityframeworkcore.mysql/6.0.0/pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", "/root/.nuget/packages/system.buffers/4.5.0/system.buffers.4.5.0.nupkg.sha512", + "/root/.nuget/packages/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.diagnosticsource/6.0.0/system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", "/root/.nuget/packages/system.identitymodel.tokens.jwt/6.26.0/system.identitymodel.tokens.jwt.6.26.0.nupkg.sha512", "/root/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.io.pipelines/4.5.2/system.io.pipelines.4.5.2.nupkg.sha512", diff --git a/Haoliang.Data/Entities/CNCBusinessDbContext.cs b/Haoliang.Data/Entities/CNCBusinessDbContext.cs index bafb88a..7796426 100644 --- a/Haoliang.Data/Entities/CNCBusinessDbContext.cs +++ b/Haoliang.Data/Entities/CNCBusinessDbContext.cs @@ -1,6 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Haoliang.Data.Entities; +using Haoliang.Models.System; namespace Haoliang.Data { @@ -10,10 +11,12 @@ namespace Haoliang.Data // Device Management public DbSet Devices { get; set; } - public DbSet DeviceStatus { get; set; } public DbSet DeviceCurrentStatus { get; set; } public DbSet TagData { get; set; } + // DeviceStatus as string property (since it's an enum) + public string DeviceStatus { get; set; } = null!; + // Template Management public DbSet CNCTemplates { get; set; } public DbSet TagMappings { get; set; } diff --git a/Haoliang.Data/Entities/CNCDbContext.cs b/Haoliang.Data/Entities/CNCDbContext.cs index 08f4129..2058651 100644 --- a/Haoliang.Data/Entities/CNCDbContext.cs +++ b/Haoliang.Data/Entities/CNCDbContext.cs @@ -4,8 +4,6 @@ using Haoliang.Models.Template; using Haoliang.Models.Production; using Haoliang.Models.User; using Haoliang.Models.System; -using Haoliang.Models.System; -using Haoliang.Models.User; using Haoliang.Models.DataCollection; namespace Haoliang.Data.Entities @@ -14,22 +12,19 @@ namespace Haoliang.Data.Entities { public CNCBusinessDbContext(DbContextOptions options) : base(options) { } - public DbSet Devices { get; set; } - public DbSet DeviceStatus { get; set; } - public DbSet DeviceCurrentStatus { get; set; } - public DbSet TagData { get; set; } +public DbSet Devices { get; set; } + public DbSet DeviceCurrentStatus { get; set; } = null!; + public DbSet TagData { get; set; } = null!; public DbSet CNCTemplates { get; set; } - public DbSet TemplateFieldMappings { get; set; } public DbSet ProductionRecords { get; set; } public DbSet ProgramProductionSummary { get; set; } public DbSet Users { get; set; } - public DbSet Roles { get; set; } - public DbSet Employees { get; set; } - public DbSet DeviceAssignments { get; set; } - public DbSet StatisticRules { get; set; } public DbSet Alarms { get; set; } public DbSet AlarmRules { get; set; } + public DbSet StatisticRules { get; set; } + public DbSet ScheduledTasks { get; set; } public DbSet SystemConfig { get; set; } + public DbSet LogEntries { get; set; } public DbSet AlarmStatistics { get; set; } public DbSet AlarmNotifications { get; set; } public DbSet Permissions { get; set; } @@ -42,6 +37,8 @@ namespace Haoliang.Data.Entities public DbSet CollectionResults { get; set; } public DbSet CollectionLogs { get; set; } public DbSet CollectionConfigs { get; set; } + public DbSet TaskExecutionResults { get; set; } + public DbSet TaskExecutionSummaries { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { diff --git a/Haoliang.Data/Haoliang.Data.csproj b/Haoliang.Data/Haoliang.Data.csproj index 3a7548b..fdd00e5 100644 --- a/Haoliang.Data/Haoliang.Data.csproj +++ b/Haoliang.Data/Haoliang.Data.csproj @@ -5,10 +5,10 @@ - - - - + + + + diff --git a/Haoliang.Data/Repositories/AlarmRepository.cs b/Haoliang.Data/Repositories/AlarmRepository.cs deleted file mode 100644 index 30ffbce..0000000 --- a/Haoliang.Data/Repositories/AlarmRepository.cs +++ /dev/null @@ -1,132 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Haoliang.Models.System; -using Haoliang.Data.Repositories; - -namespace Haoliang.Data.Repositories -{ - public interface IAlarmRepository : IRepository - { - Task> GetByDeviceIdAsync(int deviceId); - Task> GetByAlarmTypeAsync(AlarmType type); - Task> GetByStatusAsync(AlarmStatus status); - Task> GetByDateRangeAsync(DateTime startDate, DateTime endDate); - Task GetAlarmStatisticsAsync(DateTime date); - Task> GetBySeverityAsync(AlarmSeverity severity); - Task> GetByDeviceAndDateRangeAsync(int deviceId, DateTime startDate, DateTime endDate); - Task CountActiveAlarmsAsync(); - Task> GetActiveAlarmsAsync(); - Task> GetAlarmsByPriorityAsync(AlarmPriority priority); - } - - public class AlarmRepository : Repository, IAlarmRepository - { - private readonly CNCDbContext _context; - - public AlarmRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task> GetByDeviceIdAsync(int deviceId) - { - return await _context.Alarms - .Where(a => a.DeviceId == deviceId) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - - public async Task> GetByAlarmTypeAsync(AlarmType type) - { - return await _context.Alarms - .Where(a => a.AlarmType == type) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - - public async Task> GetByStatusAsync(AlarmStatus status) - { - return await _context.Alarms - .Where(a => a.Status == status) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - - public async Task> GetByDateRangeAsync(DateTime startDate, DateTime endDate) - { - return await _context.Alarms - .Where(a => a.CreatedAt >= startDate && a.CreatedAt <= endDate) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - - public async Task GetAlarmStatisticsAsync(DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - var alarms = await _context.Alarms - .Where(a => a.CreatedAt >= startOfDay && a.CreatedAt <= endOfDay) - .ToListAsync(); - - var stats = new AlarmStatistics - { - Date = date, - TotalAlarms = alarms.Count, - ActiveAlarms = alarms.Count(a => a.Status == AlarmStatus.Active), - ResolvedAlarms = alarms.Count(a => a.Status == AlarmStatus.Resolved), - CriticalAlarms = alarms.Count(a => a.Severity == AlarmSeverity.Critical), - HighAlarms = alarms.Count(a => a.Severity == AlarmSeverity.High), - MediumAlarms = alarms.Count(a => a.Severity == AlarmSeverity.Medium), - LowAlarms = alarms.Count(a => a.Severity == AlarmSeverity.Low), - DeviceAlarms = alarms.GroupBy(a => a.DeviceId) - .ToDictionary(g => g.Key, g => g.Count()) - }; - - return stats; - } - - public async Task> GetBySeverityAsync(AlarmSeverity severity) - { - return await _context.Alarms - .Where(a => a.Severity == severity) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - - public async Task> GetByDeviceAndDateRangeAsync(int deviceId, DateTime startDate, DateTime endDate) - { - return await _context.Alarms - .Where(a => a.DeviceId == deviceId && - a.CreatedAt >= startDate && - a.CreatedAt <= endDate) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - - public async Task CountActiveAlarmsAsync() - { - return await _context.Alarms - .CountAsync(a => a.Status == AlarmStatus.Active); - } - - public async Task> GetActiveAlarmsAsync() - { - return await _context.Alarms - .Where(a => a.Status == AlarmStatus.Active) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - - public async Task> GetAlarmsByPriorityAsync(AlarmPriority priority) - { - return await _context.Alarms - .Where(a => a.Priority == priority) - .OrderByDescending(a => a.CreatedAt) - .ToListAsync(); - } - } -} \ No newline at end of file diff --git a/Haoliang.Data/Repositories/CollectionLogRepository.cs b/Haoliang.Data/Repositories/CollectionLogRepository.cs deleted file mode 100644 index 72e296e..0000000 --- a/Haoliang.Data/Repositories/CollectionLogRepository.cs +++ /dev/null @@ -1,126 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Haoliang.Models.DataCollection; -using Haoliang.Data.Repositories; - -namespace Haoliang.Data.Repositories -{ - public interface ICollectionLogRepository : IRepository - { - Task> GetByDeviceAsync(int deviceId); - Task> GetByLogLevelAsync(LogLevel logLevel); - Task GetErrorCountAsync(int deviceId); - Task ArchiveLogsAsync(int daysToKeep = 30); - Task ClearLogsAsync(); - Task> GetRecentLogsAsync(int count = 100); - Task GetLogStatisticsAsync(DateTime date); - Task> GetLogsByCategoryAsync(string category); - Task LogExistsAsync(int logId); - } - - public class CollectionLogRepository : Repository, ICollectionLogRepository - { - private readonly CNCDbContext _context; - - public CollectionLogRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task> GetByDeviceAsync(int deviceId) - { - return await _context.CollectionLogs - .Where(l => l.DeviceId == deviceId) - .OrderByDescending(l => l.LogTime) - .ToListAsync(); - } - - public async Task> GetByLogLevelAsync(LogLevel logLevel) - { - return await _context.CollectionLogs - .Where(l => l.LogLevel == logLevel) - .OrderByDescending(l => l.LogTime) - .ToListAsync(); - } - - public async Task GetErrorCountAsync(int deviceId) - { - return await _context.CollectionLogs - .CountAsync(l => l.DeviceId == deviceId && - (l.LogLevel == LogLevel.Error || l.LogLevel == LogLevel.Critical)); - } - - public async Task ArchiveLogsAsync(int daysToKeep = 30) - { - var cutoffDate = DateTime.Now.AddDays(-daysToKeep); - - var logsToArchive = await _context.CollectionLogs - .Where(l => l.LogTime < cutoffDate) - .ToListAsync(); - - if (logsToArchive.Any()) - { - // In a real implementation, you would move these to an archive table - _context.CollectionLogs.RemoveRange(logsToArchive); - await SaveAsync(); - } - } - - public async Task ClearLogsAsync() - { - _context.CollectionLogs.RemoveRange(_context.CollectionLogs); - await SaveAsync(); - } - - public async Task> GetRecentLogsAsync(int count = 100) - { - return await _context.CollectionLogs - .OrderByDescending(l => l.LogTime) - .Take(count) - .ToListAsync(); - } - - public async Task GetLogStatisticsAsync(DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - var logs = await _context.CollectionLogs - .Where(l => l.LogTime >= startOfDay && l.LogTime <= endOfDay) - .ToListAsync(); - - var stats = new CollectionLogStatistics - { - Date = date, - TotalLogs = logs.Count, - ErrorLogs = logs.Count(l => l.LogLevel == LogLevel.Error || l.LogLevel == LogLevel.Critical), - WarningLogs = logs.Count(l => l.LogLevel == LogLevel.Warning), - InfoLogs = logs.Count(l => l.LogLevel == LogLevel.Information), - DebugLogs = logs.Count(l => l.LogLevel == LogLevel.Debug), - DeviceLogs = logs.GroupBy(l => l.DeviceId) - .ToDictionary(g => g.Key, g => g.Count()), - LogCategories = logs.GroupBy(l => l.LogCategory) - .ToDictionary(g => g.Key, g => g.Count()) - }; - - return stats; - } - - public async Task> GetLogsByCategoryAsync(string category) - { - return await _context.CollectionLogs - .Where(l => l.LogCategory == category) - .OrderByDescending(l => l.LogTime) - .ToListAsync(); - } - - public async Task LogExistsAsync(int logId) - { - return await _context.CollectionLogs - .AnyAsync(l => l.LogId == logId); - } - } -} \ No newline at end of file diff --git a/Haoliang.Data/Repositories/CollectionRepository.cs b/Haoliang.Data/Repositories/CollectionRepository.cs index 9972a0a..ab5ec2b 100644 --- a/Haoliang.Data/Repositories/CollectionRepository.cs +++ b/Haoliang.Data/Repositories/CollectionRepository.cs @@ -344,64 +344,4 @@ namespace Haoliang.Data.Repositories return false; } } - - public interface ICollectionConfigRepository : IRepository - { - Task GetByKeyAsync(string configKey); - Task GetConfigValueAsync(string configKey); - Task UpdateConfigValueAsync(string configKey, string configValue); - Task> GetEnabledConfigsAsync(); - Task ConfigKeyExistsAsync(string configKey); - } - - public class CollectionConfigRepository : Repository, ICollectionConfigRepository - { - private readonly CNCDbContext _context; - - public CollectionConfigRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task GetByKeyAsync(string configKey) - { - return await _context.CollectionConfigs - .FirstOrDefaultAsync(cc => cc.ConfigKey == configKey); - } - - public async Task GetConfigValueAsync(string configKey) - { - var config = await GetByKeyAsync(configKey); - return config?.ConfigValue; - } - - public async Task UpdateConfigValueAsync(string configKey, string configValue) - { - var config = await GetByKeyAsync(configKey); - if (config != null) - { - config.ConfigValue = configValue; - config.UpdatedAt = DateTime.Now; - - Update(config); - await SaveAsync(); - return true; - } - return false; - } - - public async Task> GetEnabledConfigsAsync() - { - return await _context.CollectionConfigs - .Where(cc => cc.IsEnabled) - .OrderBy(cc => cc.ConfigKey) - .ToListAsync(); - } - - public async Task ConfigKeyExistsAsync(string configKey) - { - return await _context.CollectionConfigs - .AnyAsync(cc => cc.ConfigKey == configKey); - } - } } \ No newline at end of file diff --git a/Haoliang.Data/Repositories/CollectionResultRepository.cs b/Haoliang.Data/Repositories/CollectionResultRepository.cs deleted file mode 100644 index 7e9fb84..0000000 --- a/Haoliang.Data/Repositories/CollectionResultRepository.cs +++ /dev/null @@ -1,216 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Haoliang.Models.DataCollection; -using Haoliang.Data.Repositories; - -namespace Haoliang.Data.Repositories -{ - public interface ICollectionResultRepository : IRepository - { - Task> GetByDeviceAsync(int deviceId); - Task> GetByDateRangeAsync(int deviceId, DateTime startDate, DateTime endDate); - Task GetStatisticsAsync(DateTime date); - Task GetHealthAsync(); - Task ArchiveResultsAsync(int daysToKeep = 30); - Task> GetSuccessfulResultsAsync(int deviceId, DateTime date); - Task> GetFailedResultsAsync(int deviceId, DateTime date); - Task GetAverageResponseTimeAsync(int deviceId, DateTime date); - Task GetSuccessRateAsync(int deviceId, DateTime date); - } - - public class CollectionResultRepository : Repository, ICollectionResultRepository - { - private readonly CNCDbContext _context; - - public CollectionResultRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task> GetByDeviceAsync(int deviceId) - { - return await _context.CollectionResults - .Where(r => r.DeviceId == deviceId) - .OrderByDescending(r => r.CollectionTime) - .ToListAsync(); - } - - public async Task> GetByDateRangeAsync(int deviceId, DateTime startDate, DateTime endDate) - { - return await _context.CollectionResults - .Where(r => r.DeviceId == deviceId && - r.CollectionTime >= startDate && - r.CollectionTime <= endDate) - .OrderByDescending(r => r.CollectionTime) - .ToListAsync(); - } - - public async Task GetStatisticsAsync(DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - var results = await _context.CollectionResults - .Where(r => r.CollectionTime >= startOfDay && - r.CollectionTime <= endOfDay) - .ToListAsync(); - - var stats = new CollectionStatistics - { - Date = date, - TotalAttempts = results.Count(), - SuccessCount = results.Count(r => r.IsSuccess), - FailedCount = results.Count(r => !r.IsSuccess), - SuccessRate = results.Any() ? (decimal)results.Count(r => r.IsSuccess) / results.Count() * 100 : 0, - DeviceCount = results.Select(r => r.DeviceId).Distinct().Count(), - OnlineDeviceCount = await _context.Devices.CountAsync(d => d.IsOnline), - TotalDataSize = results.Sum(r => r.DataSize ?? 0) - }; - - if (stats.SuccessCount > 0) - { - var successfulResults = results.Where(r => r.IsSuccess).ToList(); - stats.AverageResponseTime = TimeSpan.FromTicks( - (long)successfulResults.Average(r => r.ResponseTime ?? 0)); - } - - return stats; - } - - public async Task GetHealthAsync() - { - var stats = await GetStatisticsAsync(DateTime.Now); - var onlineDeviceCount = await _context.Devices.CountAsync(d => d.IsOnline); - var availableDeviceCount = await _context.Devices.CountAsync(d => d.IsAvailable); - - var activeTasks = await _context.CollectionTasks - .CountAsync(t => t.Status == "Running"); - var failedTasks = await _context.CollectionTasks - .CountAsync(t => t.Status == "Failed"); - - var lastSuccessful = await _context.CollectionResults - .Where(r => r.IsSuccess) - .OrderByDescending(r => r.CollectionTime) - .FirstOrDefault(); - - var lastFailed = await _context.CollectionResults - .Where(r => !r.IsSuccess) - .OrderByDescending(r => r.CollectionTime) - .FirstOrDefault(); - - return new CollectionHealth - { - CheckTime = DateTime.Now, - TotalDevices = onlineDeviceCount, - OnlineDevices = availableDeviceCount, - ActiveCollectionTasks = activeTasks, - FailedTasks = failedTasks, - SuccessRate = stats.SuccessRate, - AverageResponseTime = stats.AverageResponseTime, - TotalCollectedData = stats.TotalDataSize, - LastSuccessfulCollection = lastSuccessful?.CollectionTime ?? DateTime.MinValue, - LastFailedCollection = lastFailed?.CollectionTime ?? DateTime.MinValue - }; - } - - public async Task ArchiveResultsAsync(int daysToKeep = 30) - { - var cutoffDate = DateTime.Now.AddDays(-daysToKeep); - - var resultsToArchive = await _context.CollectionResults - .Where(r => r.CollectionTime < cutoffDate) - .ToListAsync(); - - if (resultsToArchive.Any()) - { - // In a real implementation, you would move these to an archive table - _context.CollectionResults.RemoveRange(resultsToArchive); - await SaveAsync(); - } - } - - public async Task> GetSuccessfulResultsAsync(int deviceId, DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - return await _context.CollectionResults - .Where(r => r.DeviceId == deviceId && - r.CollectionTime >= startOfDay && - r.CollectionTime <= endOfDay && - r.IsSuccess) - .OrderByDescending(r => r.CollectionTime) - .ToListAsync(); - } - - public async Task> GetFailedResultsAsync(int deviceId, DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - return await _context.CollectionResults - .Where(r => r.DeviceId == deviceId && - r.CollectionTime >= startOfDay && - r.CollectionTime <= endOfDay && - !r.IsSuccess) - .OrderByDescending(r => r.CollectionTime) - .ToListAsync(); - } - - public async Task GetAverageResponseTimeAsync(int deviceId, DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - var successfulResults = await _context.CollectionResults - .Where(r => r.DeviceId == deviceId && - r.CollectionTime >= startOfDay && - r.CollectionTime <= endOfDay && - r.IsSuccess) - .ToListAsync(); - - if (successfulResults.Any()) - { - var averageTicks = (long)successfulResults.Average(r => r.ResponseTime ?? 0); - return new AverageResponseTime - { - DeviceId = deviceId, - Date = date, - AverageTime = TimeSpan.FromTicks(averageTicks), - SampleCount = successfulResults.Count - }; - } - - return new AverageResponseTime - { - DeviceId = deviceId, - Date = date, - AverageTime = TimeSpan.Zero, - SampleCount = 0 - }; - } - - public async Task GetSuccessRateAsync(int deviceId, DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - var results = await _context.CollectionResults - .Where(r => r.DeviceId == deviceId && - r.CollectionTime >= startOfDay && - r.CollectionTime <= endOfDay) - .ToListAsync(); - - if (results.Any()) - { - var successCount = results.Count(r => r.IsSuccess); - return (int)(decimal)successCount / results.Count() * 100; - } - - return 0; - } - } -} \ No newline at end of file diff --git a/Haoliang.Data/Repositories/CollectionTaskRepository.cs b/Haoliang.Data/Repositories/CollectionTaskRepository.cs deleted file mode 100644 index bae709f..0000000 --- a/Haoliang.Data/Repositories/CollectionTaskRepository.cs +++ /dev/null @@ -1,132 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Haoliang.Models.DataCollection; -using Haoliang.Data.Repositories; - -namespace Haoliang.Data.Repositories -{ - public interface ICollectionTaskRepository : IRepository - { - Task> GetPendingTasksAsync(); - Task> GetFailedTasksAsync(); - Task GetByDeviceAsync(int deviceId); - Task MarkTaskCompletedAsync(int taskId, bool isSuccess, string result); - Task> GetTasksByDateAsync(DateTime date); - Task> GetRunningTasksAsync(); - Task GetTaskStatisticsAsync(DateTime date); - Task HasPendingTasksAsync(int deviceId); - Task> GetTasksByStatusAsync(string status); - } - - public class CollectionTaskRepository : Repository, ICollectionTaskRepository - { - private readonly CNCDbContext _context; - - public CollectionTaskRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task> GetPendingTasksAsync() - { - return await _context.CollectionTasks - .Where(t => t.Status == "Pending") - .OrderBy(t => t.ScheduledTime) - .ToListAsync(); - } - - public async Task> GetFailedTasksAsync() - { - return await _context.CollectionTasks - .Where(t => t.Status == "Failed") - .OrderByDescending(t => t.CreatedAt) - .ToListAsync(); - } - - public async Task GetByDeviceAsync(int deviceId) - { - return await _context.CollectionTasks - .Where(t => t.DeviceId == deviceId) - .OrderByDescending(t => t.CreatedAt) - .FirstOrDefaultAsync(); - } - - public async Task MarkTaskCompletedAsync(int taskId, bool isSuccess, string result) - { - var task = await GetByIdAsync(taskId); - if (task == null) - { - return false; - } - - task.Status = isSuccess ? "Completed" : "Failed"; - task.Result = result; - task.CompletedAt = DateTime.Now; - - await SaveAsync(); - return true; - } - - public async Task> GetTasksByDateAsync(DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - return await _context.CollectionTasks - .Where(t => t.CreatedAt >= startOfDay && - t.CreatedAt < endOfDay) - .OrderBy(t => t.ScheduledTime) - .ToListAsync(); - } - - public async Task> GetRunningTasksAsync() - { - return await _context.CollectionTasks - .Where(t => t.Status == "Running") - .OrderBy(t => t.ScheduledTime) - .ToListAsync(); - } - - public async Task GetTaskStatisticsAsync(DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - var tasks = await _context.CollectionTasks - .Where(t => t.CreatedAt >= startOfDay && - t.CreatedAt < endOfDay) - .ToListAsync(); - - var stats = new CollectionTaskStatistics - { - Date = date, - TotalTasks = tasks.Count, - PendingTasks = tasks.Count(t => t.Status == "Pending"), - RunningTasks = tasks.Count(t => t.Status == "Running"), - CompletedTasks = tasks.Count(t => t.Status == "Completed"), - FailedTasks = tasks.Count(t => t.Status == "Failed"), - DeviceTasks = tasks.GroupBy(t => t.DeviceId) - .ToDictionary(g => g.Key, g => g.Count()) - }; - - return stats; - } - - public async Task HasPendingTasksAsync(int deviceId) - { - return await _context.CollectionTasks - .AnyAsync(t => t.DeviceId == deviceId && t.Status == "Pending"); - } - - public async Task> GetTasksByStatusAsync(string status) - { - return await _context.CollectionTasks - .Where(t => t.Status == status) - .OrderBy(t => t.ScheduledTime) - .ToListAsync(); - } - } -} \ No newline at end of file diff --git a/Haoliang.Data/Repositories/DeviceRepository.cs b/Haoliang.Data/Repositories/DeviceRepository.cs index a2a84af..63df3cb 100644 --- a/Haoliang.Data/Repositories/DeviceRepository.cs +++ b/Haoliang.Data/Repositories/DeviceRepository.cs @@ -95,70 +95,4 @@ namespace Haoliang.Data.Repositories .CountAsync(d => d.IsAvailable); } } - - public interface IDeviceStatusRepository : IRepository - { - Task> GetLatestStatusAsync(int deviceId, int count = 10); - Task GetLatestStatusByDeviceIdAsync(int deviceId); - Task> GetStatusByDateRangeAsync(int deviceId, DateTime startDate, DateTime endDate); - Task CountStatusRecordsAsync(int deviceId); - Task DeleteOldStatusRecordsAsync(int deviceId, int keepDays = 30); - } - - public class DeviceStatusRepository : Repository, IDeviceStatusRepository - { - private readonly CNCDbContext _context; - - public DeviceStatusRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task> GetLatestStatusAsync(int deviceId, int count = 10) - { - return await _context.DeviceStatus - .Where(ds => ds.DeviceId == deviceId) - .OrderByDescending(ds => ds.RecordTime) - .Take(count) - .ToListAsync(); - } - - public async Task GetLatestStatusByDeviceIdAsync(int deviceId) - { - return await _context.DeviceStatus - .Where(ds => ds.DeviceId == deviceId) - .OrderByDescending(ds => ds.RecordTime) - .FirstOrDefaultAsync(); - } - - public async Task> GetStatusByDateRangeAsync(int deviceId, DateTime startDate, DateTime endDate) - { - return await _context.DeviceStatus - .Where(ds => ds.DeviceId == deviceId && - ds.RecordTime >= startDate && - ds.RecordTime <= endDate) - .OrderBy(ds => ds.RecordTime) - .ToListAsync(); - } - - public async Task CountStatusRecordsAsync(int deviceId) - { - return await _context.DeviceStatus - .CountAsync(ds => ds.DeviceId == deviceId); - } - - public async Task DeleteOldStatusRecordsAsync(int deviceId, int keepDays = 30) - { - var cutoffDate = DateTime.Now.AddDays(-keepDays); - var oldRecords = await _context.DeviceStatus - .Where(ds => ds.DeviceId == deviceId && ds.RecordTime < cutoffDate) - .ToListAsync(); - - if (oldRecords.Any()) - { - RemoveRange(oldRecords); - await SaveAsync(); - } - } - } } \ No newline at end of file diff --git a/Haoliang.Data/Repositories/IRepository.cs b/Haoliang.Data/Repositories/IRepository.cs index f27ac55..06dcc21 100644 --- a/Haoliang.Data/Repositories/IRepository.cs +++ b/Haoliang.Data/Repositories/IRepository.cs @@ -18,7 +18,7 @@ namespace Haoliang.Data.Repositories void RemoveRange(IEnumerable entities); Task CountAsync(System.Linq.Expressions.Expression> predicate = null); Task ExistsAsync(System.Linq.Expressions.Expression> predicate); - Task SaveAsync(); + Task SaveAsync(); } public interface IReadRepository where T : class diff --git a/Haoliang.Data/Repositories/ProgramProductionSummaryRepository.cs b/Haoliang.Data/Repositories/ProgramProductionSummaryRepository.cs deleted file mode 100644 index 6d0bec5..0000000 --- a/Haoliang.Data/Repositories/ProgramProductionSummaryRepository.cs +++ /dev/null @@ -1,176 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Haoliang.Models.Production; -using Haoliang.Data.Repositories; - -namespace Haoliang.Data.Repositories -{ - public interface IProgramProductionSummaryRepository : IRepository - { - Task GetByDeviceAndDateAsync(int deviceId, DateTime date); - Task> GetByDateAsync(DateTime date); - Task> GetByDeviceAsync(int deviceId); - Task> GetByProgramAsync(string programName); - Task GetByDeviceAndProgramAsync(int deviceId, string programName); - Task> GetByDateRangeAsync(DateTime startDate, DateTime endDate); - Task GetTotalProductionAsync(DateTime date); - Task UpdateProductionSummaryAsync(int deviceId, string programName, int quantity); - Task ArchiveProductionSummariesAsync(int daysToKeep = 90); - } - - public class ProgramProductionSummaryRepository : Repository, IProgramProductionSummaryRepository - { - private readonly CNCDbContext _context; - - public ProgramProductionSummaryRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task GetByDeviceAndDateAsync(int deviceId, DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - return await _context.ProgramProductionSummaries - .FirstOrDefaultAsync(p => p.DeviceId == deviceId && - p.ProductionDate >= startOfDay && - p.ProductionDate < endOfDay); - } - - public async Task> GetByDateAsync(DateTime date) - { - var startOfDay = date.Date; - var endOfDay = startOfDay.AddDays(1); - - return await _context.ProgramProductionSummaries - .Where(p => p.ProductionDate >= startOfDay && - p.ProductionDate < endOfDay) - .OrderBy(p => p.DeviceName) - .ThenBy(p => p.ProgramName) - .ToListAsync(); - } - - public async Task> GetByDeviceAsync(int deviceId) - { - return await _context.ProgramProductionSummaries - .Where(p => p.DeviceId == deviceId) - .OrderByDescending(p => p.ProductionDate) - .ThenBy(p => p.ProgramName) - .ToListAsync(); - } - - public async Task> GetByProgramAsync(string programName) - { - return await _context.ProgramProductionSummaries - .Where(p => p.ProgramName == programName) - .OrderByDescending(p => p.ProductionDate) - .ThenBy(p => p.DeviceName) - .ToListAsync(); - } - - public async Task GetByDeviceAndProgramAsync(int deviceId, string programName) - { - var today = DateTime.Today; - - return await _context.ProgramProductionSummaries - .FirstOrDefaultAsync(p => p.DeviceId == deviceId && - p.ProgramName == programName && - p.ProductionDate == today); - } - - public async Task> GetByDateRangeAsync(DateTime startDate, DateTime endDate) - { - return await _context.ProgramProductionSummaries - .Where(p => p.ProductionDate >= startDate && - p.ProductionDate <= endDate) - .OrderBy(p => p.ProductionDate) - .ThenBy(p => p.DeviceName) - .ThenBy(p => p.ProgramName) - .ToListAsync(); - } - - public async Task GetTotalProductionAsync(DateTime date) - { - var summaries = await GetByDateAsync(date); - - var totalSummary = new ProductionSummary - { - ProductionDate = date, - TotalDevices = summaries.Select(s => s.DeviceId).Distinct().Count(), - TotalPrograms = summaries.Count(), - TotalQuantity = summaries.Sum(s => s.Quantity), - AverageQuantity = summaries.Any() ? summaries.Average(s => s.Quantity) : 0, - DeviceSummaries = summaries.GroupBy(s => s.DeviceId) - .Select(g => new DeviceProductionSummary - { - DeviceId = g.Key, - DeviceName = g.FirstOrDefault()?.DeviceName ?? "", - TotalQuantity = g.Sum(s => s.Quantity), - ProgramCount = g.Count(), - Programs = g.Select(s => new ProgramSummary - { - ProgramName = s.ProgramName, - Quantity = s.Quantity, - Percentage = g.Sum(s => s.Quantity) > 0 ? - (decimal)s.Quantity / g.Sum(s => s.Quantity) * 100 : 0 - }).ToList() - }).ToList() - }; - - return totalSummary; - } - - public async Task UpdateProductionSummaryAsync(int deviceId, string programName, int quantity) - { - var today = DateTime.Today; - var summary = await GetByDeviceAndProgramAsync(deviceId, programName); - - if (summary != null) - { - // Update existing summary - summary.Quantity += quantity; - summary.UpdatedAt = DateTime.Now; - _context.ProgramProductionSummaries.Update(summary); - } - else - { - // Create new summary - var device = await _context.Devices.FindAsync(deviceId); - summary = new ProgramProductionSummary - { - DeviceId = deviceId, - DeviceName = device?.DeviceName ?? "", - ProgramName = programName, - Quantity = quantity, - ProductionDate = today, - CreatedAt = DateTime.Now, - UpdatedAt = DateTime.Now - }; - _context.ProgramProductionSummaries.Add(summary); - } - - await SaveAsync(); - return true; - } - - public async Task ArchiveProductionSummariesAsync(int daysToKeep = 90) - { - var cutoffDate = DateTime.Today.AddDays(-daysToKeep); - - var summariesToArchive = await _context.ProgramProductionSummaries - .Where(p => p.ProductionDate < cutoffDate) - .ToListAsync(); - - if (summariesToArchive.Any()) - { - // In a real implementation, you would move these to an archive table - _context.ProgramProductionSummaries.RemoveRange(summariesToArchive); - await SaveAsync(); - } - } - } -} \ No newline at end of file diff --git a/Haoliang.Data/Repositories/ScheduledTaskRepository.cs b/Haoliang.Data/Repositories/ScheduledTaskRepository.cs index 25f977f..6c5b371 100644 --- a/Haoliang.Data/Repositories/ScheduledTaskRepository.cs +++ b/Haoliang.Data/Repositories/ScheduledTaskRepository.cs @@ -11,7 +11,7 @@ namespace Haoliang.Data.Repositories public interface IScheduledTaskRepository : IRepository { Task> GetActiveTasksAsync(); - Task> GetTasksByStatusAsync(TaskStatus status); + Task> GetTasksByStatusAsync(Haoliang.Models.System.TaskStatus status); Task GetLastExecutionResultAsync(string taskId); Task> GetTasksByCronExpressionAsync(string cronExpression); Task> GetOverdueTasksAsync(); @@ -38,7 +38,7 @@ namespace Haoliang.Data.Repositories .ToListAsync(); } - public async Task> GetTasksByStatusAsync(TaskStatus status) + public async Task> GetTasksByStatusAsync(Haoliang.Models.System.TaskStatus status) { return await _context.ScheduledTasks .Where(t => t.TaskStatus == status) diff --git a/Haoliang.Data/Repositories/SystemConfigRepository.cs b/Haoliang.Data/Repositories/SystemConfigRepository.cs deleted file mode 100644 index c3b40eb..0000000 --- a/Haoliang.Data/Repositories/SystemConfigRepository.cs +++ /dev/null @@ -1,140 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Haoliang.Models.System; -using Haoliang.Data.Repositories; - -namespace Haoliang.Data.Repositories -{ - public interface ISystemConfigRepository : IRepository - { - Task GetByKeyAsync(string configKey); - Task DeleteByKeyAsync(string configKey); - Task KeyExistsAsync(string configKey); - Task> GetByCategoryAsync(string category); - SystemConfig UpsertAsync(SystemConfig config); - Task GetValueAsync(string configKey); - Task SetValueAsync(string configKey, string value); - Task> GetActiveConfigsAsync(); - Task GetDefaultConfigAsync(); - Task UpdateConfigValueAsync(string configKey, string value); - } - - public class SystemConfigRepository : Repository, ISystemConfigRepository - { - private readonly CNCDbContext _context; - - public SystemConfigRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task GetByKeyAsync(string configKey) - { - return await _context.SystemConfigs - .FirstOrDefaultAsync(c => c.ConfigKey == configKey); - } - - public async Task DeleteByKeyAsync(string configKey) - { - var config = await GetByKeyAsync(configKey); - if (config != null) - { - _context.SystemConfigs.Remove(config); - await SaveAsync(); - return true; - } - return false; - } - - public async Task KeyExistsAsync(string configKey) - { - return await _context.SystemConfigs - .AnyAsync(c => c.ConfigKey == configKey); - } - - public async Task> GetByCategoryAsync(string category) - { - return await _context.SystemConfigs - .Where(c => c.Category == category) - .OrderBy(c => c.ConfigKey) - .ToListAsync(); - } - - public SystemConfig UpsertAsync(SystemConfig config) - { - var existing = _context.SystemConfigs - .FirstOrDefault(c => c.ConfigKey == config.ConfigKey); - - if (existing != null) - { - // Update existing - existing.ConfigValue = config.ConfigValue; - existing.Description = config.Description; - existing.UpdatedAt = DateTime.Now; - existing.IsActive = config.IsActive; - existing.Category = config.Category; - _context.SystemConfigs.Update(existing); - } - else - { - // Insert new - config.CreatedAt = DateTime.Now; - config.UpdatedAt = DateTime.Now; - _context.SystemConfigs.Add(config); - } - - SaveAsync(); - return config; - } - - public async Task GetValueAsync(string configKey) - { - var config = await GetByKeyAsync(configKey); - return config?.ConfigValue; - } - - public async Task SetValueAsync(string configKey, string value) - { - var config = await GetByKeyAsync(configKey); - if (config != null) - { - config.ConfigValue = value; - config.UpdatedAt = DateTime.Now; - await SaveAsync(); - return true; - } - return false; - } - - public async Task> GetActiveConfigsAsync() - { - return await _context.SystemConfigs - .Where(c => c.IsActive) - .OrderBy(c => c.Category) - .ThenBy(c => c.ConfigKey) - .ToListAsync(); - } - - public async Task GetDefaultConfigAsync() - { - return await _context.SystemConfigs - .FirstOrDefaultAsync(c => c.IsDefault); - } - - public async Task UpdateConfigValueAsync(string configKey, string value) - { - var config = await GetByKeyAsync(configKey); - if (config != null) - { - config.ConfigValue = value; - config.UpdatedAt = DateTime.Now; - await SaveAsync(); - return true; - } - return false; - } - } -} \ No newline at end of file diff --git a/Haoliang.Data/Repositories/SystemRepository.cs b/Haoliang.Data/Repositories/SystemRepository.cs index 7628b71..0108829 100644 --- a/Haoliang.Data/Repositories/SystemRepository.cs +++ b/Haoliang.Data/Repositories/SystemRepository.cs @@ -132,211 +132,4 @@ namespace Haoliang.Data.Repositories return false; } } - - public interface IAlarmRuleRepository : IRepository - { - Task GetByNameAsync(string ruleName); - Task> GetEnabledRulesAsync(); - Task> GetRulesByDeviceIdAsync(int deviceId); - Task RuleNameExistsAsync(string ruleName); - Task EnableRuleAsync(int ruleId); - Task DisableRuleAsync(int ruleId); - } - - public class AlarmRuleRepository : Repository, IAlarmRuleRepository - { - private readonly CNCDbContext _context; - - public AlarmRuleRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task GetByNameAsync(string ruleName) - { - return await _context.AlarmRules - .FirstOrDefaultAsync(ar => ar.RuleName == ruleName); - } - - public async Task> GetEnabledRulesAsync() - { - return await _context.AlarmRules - .Where(ar => ar.IsEnabled) - .OrderBy(ar => ar.RuleName) - .ToListAsync(); - } - - public async Task> GetRulesByDeviceIdAsync(int deviceId) - { - return await _context.AlarmRules - .Where(ar => ar.DeviceId == null || ar.DeviceId == deviceId) - .OrderBy(ar => ar.RuleName) - .ToListAsync(); - } - - public async Task RuleNameExistsAsync(string ruleName) - { - return await _context.AlarmRules - .AnyAsync(ar => ar.RuleName == ruleName); - } - - public async Task EnableRuleAsync(int ruleId) - { - var rule = await GetByIdAsync(ruleId); - if (rule != null) - { - rule.IsEnabled = true; - rule.UpdatedAt = DateTime.Now; - - Update(rule); - await SaveAsync(); - return true; - } - return false; - } - - public async Task DisableRuleAsync(int ruleId) - { - var rule = await GetByIdAsync(ruleId); - if (rule != null) - { - rule.IsEnabled = false; - rule.UpdatedAt = DateTime.Now; - - Update(rule); - await SaveAsync(); - return true; - } - return false; - } - } - - public interface ISystemConfigRepository : IRepository - { - Task GetByKeyAsync(string configKey); - Task GetConfigValueAsync(string configKey); - Task UpdateConfigValueAsync(string configKey, string configValue); - Task> GetByCategoryAsync(string category); - Task ConfigKeyExistsAsync(string configKey); - } - - public class SystemConfigRepository : Repository, ISystemConfigRepository - { - private readonly CNCDbContext _context; - - public SystemConfigRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task GetByKeyAsync(string configKey) - { - return await _context.SystemConfig - .FirstOrDefaultAsync(sc => sc.ConfigKey == configKey); - } - - public async Task GetConfigValueAsync(string configKey) - { - var config = await GetByKeyAsync(configKey); - return config?.ConfigValue; - } - - public async Task UpdateConfigValueAsync(string configKey, string configValue) - { - var config = await GetByKeyAsync(configKey); - if (config != null) - { - config.ConfigValue = configValue; - config.UpdatedAt = DateTime.Now; - - Update(config); - await SaveAsync(); - return true; - } - return false; - } - - public async Task> GetByCategoryAsync(string category) - { - return await _context.SystemConfig - .Where(sc => sc.Description?.Contains(category) == true) - .OrderBy(sc => sc.ConfigKey) - .ToListAsync(); - } - - public async Task ConfigKeyExistsAsync(string configKey) - { - return await _context.SystemConfig - .AnyAsync(sc => sc.ConfigKey == configKey); - } - } - - public interface IStatisticRuleRepository : IRepository - { - Task GetByNameAsync(string ruleName); - Task> GetEnabledRulesAsync(); - Task RuleNameExistsAsync(string ruleName); - Task EnableRuleAsync(int ruleId); - Task DisableRuleAsync(int ruleId); - } - - public class StatisticRuleRepository : Repository, IStatisticRuleRepository - { - private readonly CNCDbContext _context; - - public StatisticRuleRepository(CNCDbContext context) : base(context) - { - _context = context; - } - - public async Task GetByNameAsync(string ruleName) - { - return await _context.StatisticRules - .FirstOrDefaultAsync(sr => sr.RuleName == ruleName); - } - - public async Task> GetEnabledRulesAsync() - { - return await _context.StatisticRules - .Where(sr => sr.IsEnabled) - .OrderBy(sr => sr.RuleName) - .ToListAsync(); - } - - public async Task RuleNameExistsAsync(string ruleName) - { - return await _context.StatisticRules - .AnyAsync(sr => sr.RuleName == ruleName); - } - - public async Task EnableRuleAsync(int ruleId) - { - var rule = await GetByIdAsync(ruleId); - if (rule != null) - { - rule.IsEnabled = true; - rule.UpdatedAt = DateTime.Now; - - Update(rule); - await SaveAsync(); - return true; - } - return false; - } - - public async Task DisableRuleAsync(int ruleId) - { - var rule = await GetByIdAsync(ruleId); - if (rule != null) - { - rule.IsEnabled = false; - rule.UpdatedAt = DateTime.Now; - - Update(rule); - await SaveAsync(); - return true; - } - return false; - } - } } \ No newline at end of file diff --git a/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.assets.cache b/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.assets.cache index 742e1d9d6689926cc08bf4a889dc3f372bdb7ac7..8ab8ddb6b159bc92b1317027b9e19d13ee08e012 100644 GIT binary patch literal 9786 zcmd6sTT>iG6o5Axh^Rp&8jXV42!;g6Ea4WwOM**6C?Qf1t@3f0ZI(&qvdqk4ma;6X ztnxKgKKS5^RsH~<`~m(3xqCJZE=$ySL}e4UuK4x|m*0pZ@xE_vt=oHa=Wg zdbUs~jQ?=&=HjQlzx@64KR>PSJvq4W{mkZ*Uw`{?>CfN)`tFa%`(uNJ!c!pk)v1!_ zxQxq$YP#`IuQI=6n}+B5?oOaFCoqG?j;Gt~GuL})xE|AVN4FXW%=1fg+N3sF z67`B3IH1SyOY3b7x0@R7a1CYDu*5ZJ70W^pd`>~Z_otyeP6vAwFvmAt$JZ>kS~Z=j zrf>U!ryBwO7>5SKvKr0|PkAd-P(|Eq zzN9b?K>Z-qctSr%w3+RCjZVACdo2-ez1dhc9d2)V3%m^VZ*rN=b#}~Z9UKWvDCMCt z8?ZxBoEcwHc+W#UeGLjTR#=TW73LTX(|N#}uC&vZiUScXm)k8@c}v-luPR`#LH*l2 zh9t-m%$W-_&X^Yz=GUQa&-?pFfhTdqV+%)4T9Revrf1i_^r} zNInnoj2OykBey0W*OAQ-W228+t>gvvredRuP=AoaMm5j0&A{A;+fVCOLmyCLo;KPI zWQ?MMaS7^oV=x;2o@Ka>1N+SN;C_I2DY@6i)}B@7|Cc*?E9_(#{-V)Gpu{Z9nrk!5 zC9iQd_8%SWMymyNZCgho8RYE{1kYpyxeTR3kJfMa0kh#MWLYi0;%laD*8_dqVo`{# zmULN?UggpKcUcIlK((~;ZQ(qW@P6eqH`wd|4V(`jwso<5uod?{L7}WA{ zP(dvN-OdFw zVSKBVX6-b1p5T}RQo%6=_$~l;IcVm{RM1Qzzn9ad|2dfEfK)I|0lp7_#~5UDydrcf zXXP-+rtogU??)DV^UkT@o9g@)bRM%I{-2ctl*IYSUl(`X_AawD^H(FV!siKUVux56I8N#60nQJnu&W9&-K&qSqLnUux6orn)R zc@r>qGItf5!@*I>GbBbuTq9#dsCM+o#_elLVP)k^$?TN=XoR; z%X}IYm(4~J=A1H9)OVdA~7?A97}&kkFDP)HN%621225@)OB=J012lNm%UWIG-z@ z{84G)Jf~@`iJni!7P<+~hx4;Qc0dWMW-O8|xuXEpv_-f;Hg%F`ppU7}?LN?%y~Y8K WWZ9y{w5>OqA$yIzjb+PTqv*ek`u{8d literal 32351 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 diff --git a/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.csproj.AssemblyReference.cache b/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.csproj.AssemblyReference.cache index 6a25522f5d1d2757b4605a99883ebb17b5d3921e..af6097ab39bbe1088c6fd821680dcff37810e921 100644 GIT binary patch delta 1252 zcmaKrSxggA6o$DiOlLZ+wYE%4!L}&Ug4otl%A!UTgA3Fp8snBI(1H!LKq)UMicu61 z5PAeeFi3EViEE;0B9R9*XpjUGw8bSZiBX@_sL|+yGt+i3#xQU9oco{ipYPnc|1Q#h zE(*ucors7Cln-}Md|Q$UyI$&b_8h;u{V9SWwPL@GH(=wTpC%rC0|}^&JF8s6i0%K(=i_^rXi*Bj8@2tiG^(f8PxI#%tCx# z-w}W&{%lykDG%1pXn}@EJ?yGa0i^~(Zaa# z39>meI#O~-6O!xct9mGO<+Ju%@l=T06?AgYC!PmpLQYu?CVKDxJ_V>#D50Fh!Anrs zB4YE6_5idJMsBF%LJK!k4Ips}EFh;%T}z3TRbFH2G?PhCbukF%sK^i|ihMrt@~KL= z#0kRA(yep}h743nC~%2Y@GUhs-I-}wVM{*2EHIHmuu0@BmN{@jDu-?fL0+go8`A5c zRTNFfWl&!n#v_8k={nH#F^EbyWinZPraGib3#qiBwxi*eAXO{C#3$LlO)^~hf3Al4 ztnZf;F5$L~QU)0;W3pM0uqB9PM6L^Cfwbr)AuBH_In)tCOw{RT1Vho2`xvIUeQ-{8 zC}vFUVn``~UWE{ge1AS@Km|-F40J?J(Pt?)p)4kyHIhlr?Ry;Jp<#Jc#0WuE8Kl^t zN`_bd;6L(JrRUSH3pB9_*v#?K6a9hym9c!f$SQRfcIrm^Xnz12)rnB#%7b6(TkPX} Hp;7(;pxms` delta 50 zcmV-20L}l{rv=951PBHJuK)l50Zfy>0U?noFa`_vtd;whv0v8#lW+kAlO6#PgG>Uq IOacM=Fui*bE&u=k diff --git a/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.csproj.CoreCompileInputs.cache b/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.csproj.CoreCompileInputs.cache index 2c82df7..8208728 100644 --- a/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.csproj.CoreCompileInputs.cache +++ b/Haoliang.Data/obj/Debug/net6.0/Haoliang.Data.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -3e3908621d77d028c205325d4d43007864ecc556 +4ed16a54e5ac1a1c4893fbacd380ecf37ee763c1 diff --git a/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.dgspec.json b/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.dgspec.json index 058b447..37da758 100644 --- a/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.dgspec.json +++ b/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.dgspec.json @@ -4,92 +4,6 @@ "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj": {} }, "projects": { - "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj", - "projectName": "Haoliang.Core", - "projectPath": "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj", - "packagesPath": "/root/.nuget/packages/", - "outputPath": "/root/opencode/haoliang/Haoliang.Core/obj/", - "projectStyle": "PackageReference", - "configFilePaths": [ - "/root/.nuget/NuGet/NuGet.Config" - ], - "originalTargetFrameworks": [ - "net6.0" - ], - "sources": { - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net6.0": { - "targetAlias": "net6.0", - "projectReferences": { - "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { - "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" - } - } - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - } - }, - "frameworks": { - "net6.0": { - "targetAlias": "net6.0", - "dependencies": { - "BCrypt.Net-Next": { - "target": "Package", - "version": "[4.0.3, )" - }, - "Microsoft.AspNetCore.Http.Abstractions": { - "target": "Package", - "version": "[2.2.0, )" - }, - "Microsoft.AspNetCore.SignalR": { - "target": "Package", - "version": "[1.1.0, )" - }, - "Microsoft.Extensions.Caching.Memory": { - "target": "Package", - "version": "[6.0.0, )" - }, - "Microsoft.Extensions.Logging.Abstractions": { - "target": "Package", - "version": "[6.0.0, )" - }, - "Microsoft.IdentityModel.Tokens": { - "target": "Package", - "version": "[6.26.0, )" - }, - "System.IdentityModel.Tokens.Jwt": { - "target": "Package", - "version": "[6.26.0, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48" - ], - "assetTargetFallback": true, - "warn": true, - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/6.0.136/RuntimeIdentifierGraph.json" - } - } - }, "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj": { "version": "1.0.0", "restore": { @@ -112,9 +26,6 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj": { - "projectPath": "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj" - }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } @@ -133,19 +44,19 @@ "dependencies": { "Microsoft.EntityFrameworkCore": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Design": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Tools": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", - "version": "[7.0.0, )" + "version": "[6.0.0, )" } }, "imports": [ diff --git a/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.props b/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.props index 372c971..baab474 100644 --- a/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.props +++ b/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.props @@ -13,10 +13,9 @@ - - + - /root/.nuget/packages/microsoft.entityframeworkcore.tools/7.0.2 + /root/.nuget/packages/microsoft.entityframeworkcore.tools/6.0.0 \ No newline at end of file diff --git a/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.targets b/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.targets index eab753f..3dc06ef 100644 --- a/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.targets +++ b/Haoliang.Data/obj/Haoliang.Data.csproj.nuget.g.targets @@ -1,7 +1,2 @@  - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/Haoliang.Data/obj/project.assets.json b/Haoliang.Data/obj/project.assets.json index fe01c96..519fbcc 100644 --- a/Haoliang.Data/obj/project.assets.json +++ b/Haoliang.Data/obj/project.assets.json @@ -2,337 +2,34 @@ "version": 3, "targets": { "net6.0": { - "BCrypt.Net-Next/4.0.3": { + "Humanizer.Core/2.8.26": { "type": "package", "compile": { - "lib/net6.0/BCrypt.Net-Next.dll": {} + "lib/netstandard2.0/Humanizer.dll": {} }, "runtime": { - "lib/net6.0/BCrypt.Net-Next.dll": {} + "lib/netstandard2.0/Humanizer.dll": {} } }, - "Humanizer.Core/2.14.1": { - "type": "package", - "compile": { - "lib/net6.0/Humanizer.dll": {} - }, - "runtime": { - "lib/net6.0/Humanizer.dll": {} - } - }, - "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", - "Microsoft.Extensions.Logging.Abstractions": "2.2.0", - "Microsoft.Extensions.Options": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Authorization/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "2.2.0", - "Microsoft.Extensions.Options": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": {} - } - }, - "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", - "Microsoft.AspNetCore.Authorization": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": {} - } - }, - "Microsoft.AspNetCore.Connections.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "2.2.0", - "System.IO.Pipelines": "4.5.2" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", - "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", - "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "2.2.0", - "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", - "Microsoft.AspNetCore.WebUtilities": "2.2.0", - "Microsoft.Extensions.ObjectPool": "2.2.0", - "Microsoft.Extensions.Options": "2.2.0", - "Microsoft.Net.Http.Headers": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "2.2.0", - "System.Text.Encodings.Web": "4.5.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Connections/1.1.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", - "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", - "Microsoft.AspNetCore.Http": "2.2.0", - "Microsoft.AspNetCore.Http.Connections.Common": "1.1.0", - "Microsoft.AspNetCore.Routing": "2.2.0", - "Microsoft.AspNetCore.WebSockets": "2.2.0", - "Newtonsoft.Json": "11.0.2", - "System.Security.Principal.Windows": "4.5.0" - }, - "compile": { - "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll": {} - }, - "runtime": { - "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Connections.Common/1.1.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Connections.Abstractions": "2.2.0", - "Newtonsoft.Json": "11.0.2", - "System.Buffers": "4.5.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Extensions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", - "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", - "Microsoft.Net.Http.Headers": "2.2.0", - "System.Buffers": "4.5.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Features/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {} - } - }, - "Microsoft.AspNetCore.Routing/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "2.2.0", - "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", - "Microsoft.Extensions.Logging.Abstractions": "2.2.0", - "Microsoft.Extensions.ObjectPool": "2.2.0", - "Microsoft.Extensions.Options": "2.2.0" - }, - "compile": { - "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": {} - }, - "runtime": { - "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": {} - } - }, - "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.SignalR/1.1.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Connections": "1.1.0", - "Microsoft.AspNetCore.SignalR.Core": "1.1.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll": {} - } - }, - "Microsoft.AspNetCore.SignalR.Common/1.1.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Connections.Abstractions": "2.2.0", - "Microsoft.Extensions.Options": "2.2.0", - "Newtonsoft.Json": "11.0.2", - "System.Buffers": "4.5.0" - }, - "compile": { - "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll": {} - }, - "runtime": { - "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll": {} - } - }, - "Microsoft.AspNetCore.SignalR.Core/1.1.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Authorization": "2.2.0", - "Microsoft.AspNetCore.SignalR.Common": "1.1.0", - "Microsoft.AspNetCore.SignalR.Protocols.Json": "1.1.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", - "Microsoft.Extensions.Logging.Abstractions": "2.2.0", - "System.Reflection.Emit": "4.3.0", - "System.Threading.Channels": "4.5.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll": {} - } - }, - "Microsoft.AspNetCore.SignalR.Protocols.Json/1.1.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.SignalR.Common": "1.1.0", - "Newtonsoft.Json": "11.0.2" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} - } - }, - "Microsoft.AspNetCore.WebSockets/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "2.2.0", - "Microsoft.Extensions.Logging.Abstractions": "2.2.0", - "Microsoft.Extensions.Options": "2.2.0", - "System.Net.WebSockets.WebSocketProtocol": "4.5.1" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll": {} - } - }, - "Microsoft.AspNetCore.WebUtilities/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Net.Http.Headers": "2.2.0", - "System.Text.Encodings.Web": "4.5.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": {} - } - }, - "Microsoft.CSharp/4.5.0": { - "type": "package", - "compile": { - "ref/netcoreapp2.0/_._": {} - }, - "runtime": { - "lib/netcoreapp2.0/_._": {} - } - }, - "Microsoft.EntityFrameworkCore/7.0.2": { + "Microsoft.EntityFrameworkCore/6.0.0": { "type": "package", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "7.0.2", - "Microsoft.EntityFrameworkCore.Analyzers": "7.0.2", - "Microsoft.Extensions.Caching.Memory": "7.0.0", - "Microsoft.Extensions.DependencyInjection": "7.0.0", - "Microsoft.Extensions.Logging": "7.0.0" + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.0", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.0", + "Microsoft.Extensions.Caching.Memory": "6.0.0", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" }, "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.dll": {} }, "runtime": { "lib/net6.0/Microsoft.EntityFrameworkCore.dll": {} - }, - "build": { - "buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props": {} } }, - "Microsoft.EntityFrameworkCore.Abstractions/7.0.2": { + "Microsoft.EntityFrameworkCore.Abstractions/6.0.0": { "type": "package", "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {} @@ -341,7 +38,7 @@ "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {} } }, - "Microsoft.EntityFrameworkCore.Analyzers/7.0.2": { + "Microsoft.EntityFrameworkCore.Analyzers/6.0.0": { "type": "package", "compile": { "lib/netstandard2.0/_._": {} @@ -350,13 +47,11 @@ "lib/netstandard2.0/_._": {} } }, - "Microsoft.EntityFrameworkCore.Design/7.0.2": { + "Microsoft.EntityFrameworkCore.Design/6.0.0": { "type": "package", "dependencies": { - "Humanizer.Core": "2.14.1", - "Microsoft.EntityFrameworkCore.Relational": "7.0.2", - "Microsoft.Extensions.DependencyModel": "7.0.0", - "Mono.TextTemplating": "2.2.1" + "Humanizer.Core": "2.8.26", + "Microsoft.EntityFrameworkCore.Relational": "6.0.0" }, "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": {} @@ -368,11 +63,11 @@ "build/net6.0/Microsoft.EntityFrameworkCore.Design.props": {} } }, - "Microsoft.EntityFrameworkCore.Relational/7.0.2": { + "Microsoft.EntityFrameworkCore.Relational/6.0.0": { "type": "package", "dependencies": { - "Microsoft.EntityFrameworkCore": "7.0.2", - "Microsoft.Extensions.Configuration.Abstractions": "7.0.0" + "Microsoft.EntityFrameworkCore": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" }, "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {} @@ -381,10 +76,10 @@ "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {} } }, - "Microsoft.EntityFrameworkCore.Tools/7.0.2": { + "Microsoft.EntityFrameworkCore.Tools/6.0.0": { "type": "package", "dependencies": { - "Microsoft.EntityFrameworkCore.Design": "7.0.2" + "Microsoft.EntityFrameworkCore.Design": "6.0.0" }, "compile": { "lib/net6.0/_._": {} @@ -393,59 +88,51 @@ "lib/net6.0/_._": {} } }, - "Microsoft.Extensions.Caching.Abstractions/7.0.0": { + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": {} } }, - "Microsoft.Extensions.Caching.Memory/7.0.0": { + "Microsoft.Extensions.Caching.Memory/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "7.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Logging.Abstractions": "7.0.0", - "Microsoft.Extensions.Options": "7.0.0", - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": {} } }, - "Microsoft.Extensions.Configuration.Abstractions/7.0.0": { + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} } }, - "Microsoft.Extensions.DependencyInjection/7.0.0": { + "Microsoft.Extensions.DependencyInjection/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" }, "compile": { "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {} @@ -454,10 +141,10 @@ "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { "type": "package", "compile": { "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} @@ -466,71 +153,26 @@ "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.DependencyModel/7.0.0": { - "type": "package", - "dependencies": { - "System.Text.Encodings.Web": "7.0.0", - "System.Text.Json": "7.0.0" - }, - "compile": { - "lib/net6.0/Microsoft.Extensions.DependencyModel.dll": {} - }, - "runtime": { - "lib/net6.0/Microsoft.Extensions.DependencyModel.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", - "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", - "Microsoft.Extensions.Logging.Abstractions": "2.2.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": {} + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.Extensions.Logging/7.0.0": { + "Microsoft.Extensions.Logging/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "7.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Logging.Abstractions": "7.0.0", - "Microsoft.Extensions.Options": "7.0.0" + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Logging.dll": {} + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Logging.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} } }, - "Microsoft.Extensions.Logging.Abstractions/7.0.0": { + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { "type": "package", "compile": { "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {} @@ -539,35 +181,23 @@ "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {} }, "build": { - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} - } - }, - "Microsoft.Extensions.ObjectPool/2.2.0": { - "type": "package", - "compile": { - "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": {} + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.Extensions.Options/7.0.0": { + "Microsoft.Extensions.Options/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Options.dll": {} + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Options.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": {} } }, - "Microsoft.Extensions.Primitives/7.0.0": { + "Microsoft.Extensions.Primitives/6.0.0": { "type": "package", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" @@ -579,839 +209,149 @@ "lib/net6.0/Microsoft.Extensions.Primitives.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.IdentityModel.Abstractions/6.26.0": { + "MySqlConnector/2.0.0": { "type": "package", "compile": { - "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {} + "lib/net6.0/MySqlConnector.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {} + "lib/net6.0/MySqlConnector.dll": {} } }, - "Microsoft.IdentityModel.JsonWebTokens/6.26.0": { + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { "type": "package", "dependencies": { - "Microsoft.IdentityModel.Tokens": "6.26.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encodings.Web": "4.7.2", - "System.Text.Json": "4.7.2" + "Microsoft.EntityFrameworkCore.Relational": "[6.0.0, 7.0.0)", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "MySqlConnector": "2.0.0" }, "compile": { - "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} } }, - "Microsoft.IdentityModel.Logging/6.26.0": { + "System.Collections.Immutable/6.0.0": { "type": "package", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.26.0" + "System.Runtime.CompilerServices.Unsafe": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {} + "lib/net6.0/System.Collections.Immutable.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {} - } - }, - "Microsoft.IdentityModel.Tokens/6.26.0": { - "type": "package", - "dependencies": { - "Microsoft.CSharp": "4.5.0", - "Microsoft.IdentityModel.Logging": "6.26.0", - "System.Security.Cryptography.Cng": "4.5.0" - }, - "compile": { - "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {} + "lib/net6.0/System.Collections.Immutable.dll": {} }, - "runtime": { - "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {} + "build": { + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.Net.Http.Headers/2.2.0": { + "System.Diagnostics.DiagnosticSource/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Primitives": "2.2.0", - "System.Buffers": "4.5.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} - } - }, - "Microsoft.NETCore.Platforms/2.0.0": { - "type": "package", - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "Microsoft.NETCore.Targets/1.1.0": { - "type": "package", - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "Mono.TextTemplating/2.2.1": { - "type": "package", - "dependencies": { - "System.CodeDom": "4.4.0" - }, - "compile": { - "lib/netstandard2.0/Mono.TextTemplating.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Mono.TextTemplating.dll": {} - } - }, - "MySqlConnector/2.2.5": { - "type": "package", - "compile": { - "lib/net6.0/MySqlConnector.dll": {} - }, - "runtime": { - "lib/net6.0/MySqlConnector.dll": {} - } - }, - "Newtonsoft.Json/11.0.2": { - "type": "package", - "compile": { - "lib/netstandard2.0/Newtonsoft.Json.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": {} - } - }, - "Pomelo.EntityFrameworkCore.MySql/7.0.0": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "7.0.2", - "MySqlConnector": "2.2.5" - }, - "compile": { - "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} - }, - "runtime": { - "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} - } - }, - "System.Buffers/4.5.0": { - "type": "package", - "compile": { - "ref/netcoreapp2.0/_._": {} - }, - "runtime": { - "lib/netcoreapp2.0/_._": {} - } - }, - "System.CodeDom/4.4.0": { - "type": "package", - "compile": { - "ref/netstandard2.0/System.CodeDom.dll": {} - }, - "runtime": { - "lib/netstandard2.0/System.CodeDom.dll": {} - } - }, - "System.IdentityModel.Tokens.Jwt/6.26.0": { - "type": "package", - "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "6.26.0", - "Microsoft.IdentityModel.Tokens": "6.26.0" - }, - "compile": { - "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {} - }, - "runtime": { - "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {} - } - }, - "System.IO/4.3.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "compile": { - "ref/netstandard1.5/System.IO.dll": {} - } - }, - "System.IO.Pipelines/4.5.2": { - "type": "package", - "compile": { - "ref/netstandard1.3/System.IO.Pipelines.dll": {} - }, - "runtime": { - "lib/netcoreapp2.1/System.IO.Pipelines.dll": {} - } - }, - "System.Net.WebSockets.WebSocketProtocol/4.5.1": { - "type": "package", - "compile": { - "ref/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll": {} - }, - "runtime": { - "lib/netcoreapp2.1/System.Net.WebSockets.WebSocketProtocol.dll": {} - } - }, - "System.Reflection/4.3.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "compile": { - "ref/netstandard1.5/System.Reflection.dll": {} - } - }, - "System.Reflection.Emit/4.3.0": { - "type": "package", - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "compile": { - "ref/netstandard1.1/System.Reflection.Emit.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.dll": {} - } - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "type": "package", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "compile": { - "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} - } - }, - "System.Reflection.Primitives/4.3.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - }, - "compile": { - "ref/netstandard1.0/System.Reflection.Primitives.dll": {} - } - }, - "System.Runtime/4.3.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.dll": {} - } - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "compile": { - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} - }, - "runtime": { - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} - }, - "build": { - "buildTransitive/netcoreapp3.1/_._": {} - } - }, - "System.Security.Cryptography.Cng/4.5.0": { - "type": "package", - "compile": { - "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll": {} - }, - "runtime": { - "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": {} - }, - "runtimeTargets": { - "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Principal.Windows/4.5.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0" - }, - "compile": { - "ref/netstandard2.0/System.Security.Principal.Windows.dll": {} - }, - "runtime": { - "lib/netstandard2.0/System.Security.Principal.Windows.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Text.Encoding/4.3.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - }, - "compile": { - "ref/netstandard1.3/System.Text.Encoding.dll": {} - } - }, - "System.Text.Encodings.Web/7.0.0": { - "type": "package", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - }, - "compile": { - "lib/net6.0/System.Text.Encodings.Web.dll": {} - }, - "runtime": { - "lib/net6.0/System.Text.Encodings.Web.dll": {} - }, - "build": { - "buildTransitive/net6.0/_._": {} - }, - "runtimeTargets": { - "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": { - "assetType": "runtime", - "rid": "browser" - } - } - }, - "System.Text.Json/7.0.0": { - "type": "package", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "7.0.0" - }, - "compile": { - "lib/net6.0/System.Text.Json.dll": {} - }, - "runtime": { - "lib/net6.0/System.Text.Json.dll": {} - }, - "build": { - "buildTransitive/net6.0/System.Text.Json.targets": {} - } - }, - "System.Threading.Channels/4.5.0": { - "type": "package", - "compile": { - "lib/netcoreapp2.1/System.Threading.Channels.dll": {} - }, - "runtime": { - "lib/netcoreapp2.1/System.Threading.Channels.dll": {} - } - }, - "System.Threading.Tasks/4.3.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - }, - "compile": { - "ref/netstandard1.3/System.Threading.Tasks.dll": {} - } - }, - "Haoliang.Core/1.0.0": { - "type": "project", - "framework": ".NETCoreApp,Version=v6.0", - "dependencies": { - "BCrypt.Net-Next": "4.0.3", - "Haoliang.Models": "1.0.0", - "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", - "Microsoft.AspNetCore.SignalR": "1.1.0", - "Microsoft.Extensions.Caching.Memory": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.IdentityModel.Tokens": "6.26.0", - "System.IdentityModel.Tokens.Jwt": "6.26.0" - }, - "compile": { - "bin/placeholder/Haoliang.Core.dll": {} - }, - "runtime": { - "bin/placeholder/Haoliang.Core.dll": {} - } - }, - "Haoliang.Models/1.0.0": { - "type": "project", - "framework": ".NETCoreApp,Version=v6.0", - "compile": { - "bin/placeholder/Haoliang.Models.dll": {} - }, - "runtime": { - "bin/placeholder/Haoliang.Models.dll": {} - } - } - } - }, - "libraries": { - "BCrypt.Net-Next/4.0.3": { - "sha512": "W+U9WvmZQgi5cX6FS5GDtDoPzUCV4LkBLkywq/kRZhuDwcbavOzcDAr3LXJFqHUi952Yj3LEYoWW0jbEUQChsA==", - "type": "package", - "path": "bcrypt.net-next/4.0.3", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "bcrypt.net-next.4.0.3.nupkg.sha512", - "bcrypt.net-next.nuspec", - "ico.png", - "lib/net20/BCrypt.Net-Next.dll", - "lib/net20/BCrypt.Net-Next.xml", - "lib/net35/BCrypt.Net-Next.dll", - "lib/net35/BCrypt.Net-Next.xml", - "lib/net462/BCrypt.Net-Next.dll", - "lib/net462/BCrypt.Net-Next.xml", - "lib/net472/BCrypt.Net-Next.dll", - "lib/net472/BCrypt.Net-Next.xml", - "lib/net48/BCrypt.Net-Next.dll", - "lib/net48/BCrypt.Net-Next.xml", - "lib/net5.0/BCrypt.Net-Next.dll", - "lib/net5.0/BCrypt.Net-Next.xml", - "lib/net6.0/BCrypt.Net-Next.dll", - "lib/net6.0/BCrypt.Net-Next.xml", - "lib/netstandard2.0/BCrypt.Net-Next.dll", - "lib/netstandard2.0/BCrypt.Net-Next.xml", - "lib/netstandard2.1/BCrypt.Net-Next.dll", - "lib/netstandard2.1/BCrypt.Net-Next.xml", - "readme.md" - ] - }, - "Humanizer.Core/2.14.1": { - "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", - "type": "package", - "path": "humanizer.core/2.14.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "humanizer.core.2.14.1.nupkg.sha512", - "humanizer.core.nuspec", - "lib/net6.0/Humanizer.dll", - "lib/net6.0/Humanizer.xml", - "lib/netstandard1.0/Humanizer.dll", - "lib/netstandard1.0/Humanizer.xml", - "lib/netstandard2.0/Humanizer.dll", - "lib/netstandard2.0/Humanizer.xml", - "logo.png" - ] - }, - "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { - "sha512": "VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==", - "type": "package", - "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.xml", - "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.authentication.abstractions.nuspec" - ] - }, - "Microsoft.AspNetCore.Authorization/2.2.0": { - "sha512": "/L0W8H3jMYWyaeA9gBJqS/tSWBegP9aaTM0mjRhxTttBY9z4RVDRYJ2CwPAmAXIuPr3r1sOw+CS8jFVRGHRezQ==", - "type": "package", - "path": "microsoft.aspnetcore.authorization/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml", - "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.authorization.nuspec" - ] - }, - "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { - "sha512": "aJCo6niDRKuNg2uS2WMEmhJTooQUGARhV2ENQ2tO5443zVHUo19MSgrgGo9FIrfD+4yKPF8Q+FF33WkWfPbyKw==", - "type": "package", - "path": "microsoft.aspnetcore.authorization.policy/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.xml", - "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.authorization.policy.nuspec" - ] - }, - "Microsoft.AspNetCore.Connections.Abstractions/2.2.0": { - "sha512": "Aqr/16Cu5XmGv7mLKJvXRxhhd05UJ7cTTSaUV4MZ3ynAzfgWjsAdpIU8FWuxwAjmVdmI8oOWuVDrbs+sRkhKnA==", - "type": "package", - "path": "microsoft.aspnetcore.connections.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.xml", - "microsoft.aspnetcore.connections.abstractions.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.connections.abstractions.nuspec" - ] - }, - "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { - "sha512": "ubycklv+ZY7Kutdwuy1W4upWcZ6VFR8WUXU7l7B2+mvbDBBPAcfpi+E+Y5GFe+Q157YfA3C49D2GCjAZc7Mobw==", - "type": "package", - "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.xml", - "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.hosting.abstractions.nuspec" - ] - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { - "sha512": "1PMijw8RMtuQF60SsD/JlKtVfvh4NORAhF4wjysdABhlhTrYmtgssqyncR0Stq5vqtjplZcj6kbT4LRTglt9IQ==", - "type": "package", - "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml", - "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.hosting.server.abstractions.nuspec" - ] - }, - "Microsoft.AspNetCore.Http/2.2.0": { - "sha512": "YogBSMotWPAS/X5967pZ+yyWPQkThxhmzAwyCHCSSldzYBkW5W5d6oPfBaPqQOnSHYTpSOSOkpZoAce0vwb6+A==", - "type": "package", - "path": "microsoft.aspnetcore.http/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.xml", - "microsoft.aspnetcore.http.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.http.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { - "sha512": "Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==", - "type": "package", - "path": "microsoft.aspnetcore.http.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.xml", - "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.http.abstractions.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Connections/1.1.0": { - "sha512": "ZcwAM9rE5yjGC+vtiNAK0INybpKIqnvB+/rntZn2/CPtyiBAtovVrEp4UZOoC31zH5t0P78ix9gLNJzII/ODsA==", - "type": "package", - "path": "microsoft.aspnetcore.http.connections/1.1.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll", - "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.xml", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.xml", - "microsoft.aspnetcore.http.connections.1.1.0.nupkg.sha512", - "microsoft.aspnetcore.http.connections.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Connections.Common/1.1.0": { - "sha512": "mYk5QUUjyXQmlyDHWDjkLYDArt97plwe6KsDsNVhDEQ+HgZMKGjISyM6YSA7BERQNR25kXBTbIYfSy1vePGQgg==", - "type": "package", - "path": "microsoft.aspnetcore.http.connections.common/1.1.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.xml", - "microsoft.aspnetcore.http.connections.common.1.1.0.nupkg.sha512", - "microsoft.aspnetcore.http.connections.common.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Extensions/2.2.0": { - "sha512": "2DgZ9rWrJtuR7RYiew01nGRzuQBDaGHGmK56Rk54vsLLsCdzuFUPqbDTJCS1qJQWTbmbIQ9wGIOjpxA1t0l7/w==", - "type": "package", - "path": "microsoft.aspnetcore.http.extensions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.xml", - "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.http.extensions.nuspec" - ] - }, - "Microsoft.AspNetCore.Http.Features/2.2.0": { - "sha512": "ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==", - "type": "package", - "path": "microsoft.aspnetcore.http.features/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.xml", - "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.http.features.nuspec" - ] - }, - "Microsoft.AspNetCore.Routing/2.2.0": { - "sha512": "jAhDBy0wryOnMhhZTtT9z63gJbvCzFuLm8yC6pHzuVu9ZD1dzg0ltxIwT4cfwuNkIL/TixdKsm3vpVOpG8euWQ==", - "type": "package", - "path": "microsoft.aspnetcore.routing/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll", - "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.xml", - "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Routing.xml", - "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.routing.nuspec" - ] - }, - "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { - "sha512": "lRRaPN7jDlUCVCp9i0W+PB0trFaKB0bgMJD7hEJS9Uo4R9MXaMC8X2tJhPLmeVE3SGDdYI4QNKdVmhNvMJGgPQ==", - "type": "package", - "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.xml", - "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.routing.abstractions.nuspec" - ] - }, - "Microsoft.AspNetCore.SignalR/1.1.0": { - "sha512": "V5X5XkeAHaFyyBOGPrddVeqTNo6zRPJNS5PRhlzEyBXiNG9AtqUbMyWFdZahQyMiIWJau550z59A4kdC9g5I9A==", - "type": "package", - "path": "microsoft.aspnetcore.signalr/1.1.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.xml", - "microsoft.aspnetcore.signalr.1.1.0.nupkg.sha512", - "microsoft.aspnetcore.signalr.nuspec" - ] - }, - "Microsoft.AspNetCore.SignalR.Common/1.1.0": { - "sha512": "TyLgQ4y4RVUIxiYFnHT181/rJ33/tL/NcBWC9BwLpulDt5/yGCG4EvsToZ49EBQ7256zj+R6OGw6JF+jj6MdPQ==", - "type": "package", - "path": "microsoft.aspnetcore.signalr.common/1.1.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll", - "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.xml", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.xml", - "microsoft.aspnetcore.signalr.common.1.1.0.nupkg.sha512", - "microsoft.aspnetcore.signalr.common.nuspec" - ] - }, - "Microsoft.AspNetCore.SignalR.Core/1.1.0": { - "sha512": "mk69z50oFk2e89d3F/AfKeAvP3kvGG7MHG4ErydZiUd3ncSRq0kl0czq/COn/QVKYua9yGr2LIDwuR1C6/pu8Q==", - "type": "package", - "path": "microsoft.aspnetcore.signalr.core/1.1.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.xml", - "microsoft.aspnetcore.signalr.core.1.1.0.nupkg.sha512", - "microsoft.aspnetcore.signalr.core.nuspec" - ] - }, - "Microsoft.AspNetCore.SignalR.Protocols.Json/1.1.0": { - "sha512": "BOsjatDJnvnnXCMajOlC0ISmiFnJi/EyJzMo0i//5fZJVCLrQ4fyV/HzrhhAhSJuwJOQDdDozKQ9MB9jHq84pg==", - "type": "package", - "path": "microsoft.aspnetcore.signalr.protocols.json/1.1.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.xml", - "microsoft.aspnetcore.signalr.protocols.json.1.1.0.nupkg.sha512", - "microsoft.aspnetcore.signalr.protocols.json.nuspec" - ] - }, - "Microsoft.AspNetCore.WebSockets/2.2.0": { - "sha512": "ZpOcg2V0rCwU9ErfDb9y3Hcjoe7rU42XlmUS0mO4pVZQSgJVqR+DfyZtYd5LDa11F7bFNS2eezI9cBM3CmfGhw==", - "type": "package", - "path": "microsoft.aspnetcore.websockets/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.xml", - "microsoft.aspnetcore.websockets.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.websockets.nuspec" - ] - }, - "Microsoft.AspNetCore.WebUtilities/2.2.0": { - "sha512": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", - "type": "package", - "path": "microsoft.aspnetcore.webutilities/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll", - "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.xml", - "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", - "microsoft.aspnetcore.webutilities.nuspec" - ] - }, - "Microsoft.CSharp/4.5.0": { - "sha512": "kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} + }, + "runtime": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Haoliang.Models/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "compile": { + "bin/placeholder/Haoliang.Models.dll": {} + }, + "runtime": { + "bin/placeholder/Haoliang.Models.dll": {} + } + } + } + }, + "libraries": { + "Humanizer.Core/2.8.26": { + "sha512": "OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", "type": "package", - "path": "microsoft.csharp/4.5.0", + "path": "humanizer.core/2.8.26", "files": [ ".nupkg.metadata", ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/Microsoft.CSharp.dll", - "lib/netcoreapp2.0/_._", - "lib/netstandard1.3/Microsoft.CSharp.dll", - "lib/netstandard2.0/Microsoft.CSharp.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/uap10.0.16299/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "microsoft.csharp.4.5.0.nupkg.sha512", - "microsoft.csharp.nuspec", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/Microsoft.CSharp.dll", - "ref/netcore50/Microsoft.CSharp.xml", - "ref/netcore50/de/Microsoft.CSharp.xml", - "ref/netcore50/es/Microsoft.CSharp.xml", - "ref/netcore50/fr/Microsoft.CSharp.xml", - "ref/netcore50/it/Microsoft.CSharp.xml", - "ref/netcore50/ja/Microsoft.CSharp.xml", - "ref/netcore50/ko/Microsoft.CSharp.xml", - "ref/netcore50/ru/Microsoft.CSharp.xml", - "ref/netcore50/zh-hans/Microsoft.CSharp.xml", - "ref/netcore50/zh-hant/Microsoft.CSharp.xml", - "ref/netcoreapp2.0/_._", - "ref/netstandard1.0/Microsoft.CSharp.dll", - "ref/netstandard1.0/Microsoft.CSharp.xml", - "ref/netstandard1.0/de/Microsoft.CSharp.xml", - "ref/netstandard1.0/es/Microsoft.CSharp.xml", - "ref/netstandard1.0/fr/Microsoft.CSharp.xml", - "ref/netstandard1.0/it/Microsoft.CSharp.xml", - "ref/netstandard1.0/ja/Microsoft.CSharp.xml", - "ref/netstandard1.0/ko/Microsoft.CSharp.xml", - "ref/netstandard1.0/ru/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", - "ref/netstandard2.0/Microsoft.CSharp.dll", - "ref/netstandard2.0/Microsoft.CSharp.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/uap10.0.16299/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "useSharedDesignerContext.txt", - "version.txt" + "humanizer.core.2.8.26.nupkg.sha512", + "humanizer.core.nuspec", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" ] }, - "Microsoft.EntityFrameworkCore/7.0.2": { - "sha512": "5QEspjTHk/cgM98AaB12mDXF7jlInlYhG0gxS6X8ZJ2rzmyIAsvYNEwoOUifd/gt5v5HblYClYfZ9YYIEjSkew==", + "Microsoft.EntityFrameworkCore/6.0.0": { + "sha512": "BdHAtHzfQt3rltgSoYamSlHg2qawPtEDT677/bcSJlO8lQ/lj6XWlusM0TOt59O8Sbqm3hAC1a+4cEBxmv56pw==", "type": "package", - "path": "microsoft.entityframeworkcore/7.0.2", + "path": "microsoft.entityframeworkcore/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", - "buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props", "lib/net6.0/Microsoft.EntityFrameworkCore.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.xml", - "microsoft.entityframeworkcore.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Abstractions/7.0.2": { - "sha512": "nszewdtuQAk2DbhNnGssRCYVxyBhm0DZHJobU8Bc4RGPuybraCv/lovFWPUeZlTT3bQndyV8Ko2NHKSc4qsKCg==", + "Microsoft.EntityFrameworkCore.Abstractions/6.0.0": { + "sha512": "MrMLWEw4JsZdkVci0MkkGj+fSjZrXnm3m6UNuIEwytiAAIZPvJs3iPpnzfK4qM7np82W374voYm96q7QCdL0ow==", "type": "package", - "path": "microsoft.entityframeworkcore.abstractions/7.0.2", + "path": "microsoft.entityframeworkcore.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", - "microsoft.entityframeworkcore.abstractions.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.abstractions.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Analyzers/7.0.2": { - "sha512": "75dDCNXzoQFM86Mk/iY7lQ+XHb2DbpAh53hbAJUlxkL3XUVoCq6rWgO4y1EX7DdyKMF61dsdEKlF4/bmpi4urA==", + "Microsoft.EntityFrameworkCore.Analyzers/6.0.0": { + "sha512": "BqWBL05PUDKwPwLeQCJdc2R4cIUycXV9UmuSjYfux2fcgyet8I2eYnOWlA7NgsDwRVcxW26vxvNQ0wuc8UAcLA==", "type": "package", - "path": "microsoft.entityframeworkcore.analyzers/7.0.2", + "path": "microsoft.entityframeworkcore.analyzers/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", "lib/netstandard2.0/_._", - "microsoft.entityframeworkcore.analyzers.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.analyzers.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Design/7.0.2": { - "sha512": "gUUucCoJci8BBxOcU/XuuldUZpCo5Od8lwFEzZ5WywnvDfSmARnXNe97BpjL+JiBhSrnuTxW/wCJjWqPonXXHQ==", + "Microsoft.EntityFrameworkCore.Design/6.0.0": { + "sha512": "RFdomymyuPNffl+VPk7osdxCJQ0xlGuxr28ifdfFFNUaMK0OYiJOjr6w9z3kscOM2p2gdPWNI1IFUXllEyphow==", "type": "package", - "path": "microsoft.entityframeworkcore.design/7.0.2", + "path": "microsoft.entityframeworkcore.design/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", @@ -1419,35 +359,35 @@ "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", - "microsoft.entityframeworkcore.design.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.design.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.design.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Relational/7.0.2": { - "sha512": "TbTGOdaGtjps3GP7rLWXEXzmP+EXhV8AwPE/ov0QYhs5i5vKZX5ZpVLMnco2MeMtiPgLyxE7DhQT8s1wlu190g==", + "Microsoft.EntityFrameworkCore.Relational/6.0.0": { + "sha512": "rTRzrSbkUXoCGijlT9O7oq7JfuaU1/+VFyfSBjADQuOsfa0FCrWeB8ybue5CDvO/D6uW0kvPvlKfY2kwxXOOdg==", "type": "package", - "path": "microsoft.entityframeworkcore.relational/7.0.2", + "path": "microsoft.entityframeworkcore.relational/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", - "microsoft.entityframeworkcore.relational.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.relational.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.relational.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Tools/7.0.2": { - "sha512": "0Jx9feeGsUUlI+PEFkADyfQrGU+UIYh9N1I8ZO6X5bjYSKL2V1empkGTupvfrI7S9h4uA7aY8GQpjkCmIep7dg==", + "Microsoft.EntityFrameworkCore.Tools/6.0.0": { + "sha512": "m9e6nFnkyRdKcrTFO8rl3ZihCIKrYdECw+fHZVbKz6TBMwKhih/N0sjPnNt0k7sZPvI8izKPkh1d+z4OR2qgXQ==", "type": "package", - "path": "microsoft.entityframeworkcore.tools/7.0.2", + "path": "microsoft.entityframeworkcore.tools/6.0.0", "hasTools": true, "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "lib/net6.0/_._", - "microsoft.entityframeworkcore.tools.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.tools.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.tools.nuspec", "tools/EntityFrameworkCore.PS2.psd1", "tools/EntityFrameworkCore.PS2.psm1", @@ -1456,238 +396,143 @@ "tools/about_EntityFrameworkCore.help.txt", "tools/init.ps1", "tools/net461/any/ef.exe", - "tools/net461/win-arm64/ef.exe", "tools/net461/win-x86/ef.exe", "tools/netcoreapp2.0/any/ef.dll", "tools/netcoreapp2.0/any/ef.runtimeconfig.json" ] }, - "Microsoft.Extensions.Caching.Abstractions/7.0.0": { - "sha512": "IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==", + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "sha512": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", "type": "package", - "path": "microsoft.extensions.caching.abstractions/7.0.0", + "path": "microsoft.extensions.caching.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", - "microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.caching.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Caching.Memory/7.0.0": { - "sha512": "xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==", + "Microsoft.Extensions.Caching.Memory/6.0.0": { + "sha512": "Ve3BlCzhAlVp5IgO3+8dacAhZk1A0GlIlFNkAcfR2TfAibLKWIt5DhVJZfu4YtW+XZ89OjYf/agMcgjDtPxdGA==", "type": "package", - "path": "microsoft.extensions.caching.memory/7.0.0", + "path": "microsoft.extensions.caching.memory/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", - "lib/net462/Microsoft.Extensions.Caching.Memory.dll", - "lib/net462/Microsoft.Extensions.Caching.Memory.xml", - "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", - "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net461/Microsoft.Extensions.Caching.Memory.dll", + "lib/net461/Microsoft.Extensions.Caching.Memory.xml", "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", - "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", + "microsoft.extensions.caching.memory.6.0.0.nupkg.sha512", "microsoft.extensions.caching.memory.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Configuration.Abstractions/7.0.0": { - "sha512": "f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==", + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "sha512": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", "type": "package", - "path": "microsoft.extensions.configuration.abstractions/7.0.0", + "path": "microsoft.extensions.configuration.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.configuration.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyInjection/7.0.0": { - "sha512": "elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==", + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "sha512": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", "type": "package", - "path": "microsoft.extensions.dependencyinjection/7.0.0", + "path": "microsoft.extensions.dependencyinjection/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.xml", "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", - "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", "microsoft.extensions.dependencyinjection.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { - "sha512": "h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==", + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "sha512": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", "type": "package", - "path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.dependencyinjection.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyModel/7.0.0": { - "sha512": "oONNYd71J3LzkWc4fUHl3SvMfiQMYUCo/mDHDEu76hYYxdhdrPYv6fvGv9nnKVyhE9P0h20AU8RZB5OOWQcAXg==", - "type": "package", - "path": "microsoft.extensions.dependencymodel/7.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "README.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", - "lib/net462/Microsoft.Extensions.DependencyModel.dll", - "lib/net462/Microsoft.Extensions.DependencyModel.xml", - "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", - "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", - "microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", - "microsoft.extensions.dependencymodel.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { - "sha512": "EcnaSsPTqx2MGnHrmWOD0ugbuuqVT8iICqSqPzi45V5/MA1LjUNb0kwgcxBGqizV1R+WeBK7/Gw25Jzkyk9bIw==", - "type": "package", - "path": "microsoft.extensions.fileproviders.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml", - "microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512", - "microsoft.extensions.fileproviders.abstractions.nuspec" - ] - }, - "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { - "sha512": "+k4AEn68HOJat5gj1TWa6X28WlirNQO9sPIIeQbia+91n03esEtMSSoekSTpMjUzjqtJWQN3McVx0GvSPFHF/Q==", - "type": "package", - "path": "microsoft.extensions.hosting.abstractions/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml", - "microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512", - "microsoft.extensions.hosting.abstractions.nuspec" - ] - }, - "Microsoft.Extensions.Logging/7.0.0": { - "sha512": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==", + "Microsoft.Extensions.Logging/6.0.0": { + "sha512": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", "type": "package", - "path": "microsoft.extensions.logging/7.0.0", + "path": "microsoft.extensions.logging/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", - "lib/net462/Microsoft.Extensions.Logging.dll", - "lib/net462/Microsoft.Extensions.Logging.xml", - "lib/net6.0/Microsoft.Extensions.Logging.dll", - "lib/net6.0/Microsoft.Extensions.Logging.xml", - "lib/net7.0/Microsoft.Extensions.Logging.dll", - "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/net461/Microsoft.Extensions.Logging.dll", + "lib/net461/Microsoft.Extensions.Logging.xml", "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", - "microsoft.extensions.logging.7.0.0.nupkg.sha512", + "microsoft.extensions.logging.6.0.0.nupkg.sha512", "microsoft.extensions.logging.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Logging.Abstractions/7.0.0": { - "sha512": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==", + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "sha512": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", "type": "package", - "path": "microsoft.extensions.logging.abstractions/7.0.0", + "path": "microsoft.extensions.logging.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", @@ -1722,265 +567,84 @@ "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "build/Microsoft.Extensions.Logging.Abstractions.targets", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.xml", "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.logging.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.ObjectPool/2.2.0": { - "sha512": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==", - "type": "package", - "path": "microsoft.extensions.objectpool/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll", - "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.xml", - "microsoft.extensions.objectpool.2.2.0.nupkg.sha512", - "microsoft.extensions.objectpool.nuspec" - ] - }, - "Microsoft.Extensions.Options/7.0.0": { - "sha512": "lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==", + "Microsoft.Extensions.Options/6.0.0": { + "sha512": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", "type": "package", - "path": "microsoft.extensions.options/7.0.0", + "path": "microsoft.extensions.options/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Options.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", - "lib/net462/Microsoft.Extensions.Options.dll", - "lib/net462/Microsoft.Extensions.Options.xml", - "lib/net6.0/Microsoft.Extensions.Options.dll", - "lib/net6.0/Microsoft.Extensions.Options.xml", - "lib/net7.0/Microsoft.Extensions.Options.dll", - "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net461/Microsoft.Extensions.Options.dll", + "lib/net461/Microsoft.Extensions.Options.xml", "lib/netstandard2.0/Microsoft.Extensions.Options.dll", "lib/netstandard2.0/Microsoft.Extensions.Options.xml", "lib/netstandard2.1/Microsoft.Extensions.Options.dll", "lib/netstandard2.1/Microsoft.Extensions.Options.xml", - "microsoft.extensions.options.7.0.0.nupkg.sha512", + "microsoft.extensions.options.6.0.0.nupkg.sha512", "microsoft.extensions.options.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Primitives/7.0.0": { - "sha512": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==", + "Microsoft.Extensions.Primitives/6.0.0": { + "sha512": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", "type": "package", - "path": "microsoft.extensions.primitives/7.0.0", + "path": "microsoft.extensions.primitives/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", - "lib/net462/Microsoft.Extensions.Primitives.dll", - "lib/net462/Microsoft.Extensions.Primitives.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Primitives.dll", + "lib/net461/Microsoft.Extensions.Primitives.xml", "lib/net6.0/Microsoft.Extensions.Primitives.dll", "lib/net6.0/Microsoft.Extensions.Primitives.xml", - "lib/net7.0/Microsoft.Extensions.Primitives.dll", - "lib/net7.0/Microsoft.Extensions.Primitives.xml", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.xml", "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", - "microsoft.extensions.primitives.7.0.0.nupkg.sha512", + "microsoft.extensions.primitives.6.0.0.nupkg.sha512", "microsoft.extensions.primitives.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.IdentityModel.Abstractions/6.26.0": { - "sha512": "NHEnDBvLYqP81YWqKk1pJt0qSUmqobvFsRL/SR/H6x1jmQh2D1EcuHHhmfIzDnzaOlQJL9GeBDHykqHp0JGNCw==", - "type": "package", - "path": "microsoft.identitymodel.abstractions/6.26.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net45/Microsoft.IdentityModel.Abstractions.dll", - "lib/net45/Microsoft.IdentityModel.Abstractions.xml", - "lib/net461/Microsoft.IdentityModel.Abstractions.dll", - "lib/net461/Microsoft.IdentityModel.Abstractions.xml", - "lib/net472/Microsoft.IdentityModel.Abstractions.dll", - "lib/net472/Microsoft.IdentityModel.Abstractions.xml", - "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll", - "lib/net6.0/Microsoft.IdentityModel.Abstractions.xml", - "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll", - "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml", - "microsoft.identitymodel.abstractions.6.26.0.nupkg.sha512", - "microsoft.identitymodel.abstractions.nuspec" - ] - }, - "Microsoft.IdentityModel.JsonWebTokens/6.26.0": { - "sha512": "5S993Y51C6p3pQGcvJvUU4Bxq5H5tXGyAzvmXXZkELv8pSWVgbgVsQakGupjx6WLFRN+Y6clp9chVytynWYn5A==", - "type": "package", - "path": "microsoft.identitymodel.jsonwebtokens/6.26.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net45/Microsoft.IdentityModel.JsonWebTokens.dll", - "lib/net45/Microsoft.IdentityModel.JsonWebTokens.xml", - "lib/net461/Microsoft.IdentityModel.JsonWebTokens.dll", - "lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml", - "lib/net472/Microsoft.IdentityModel.JsonWebTokens.dll", - "lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml", - "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll", - "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml", - "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll", - "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml", - "microsoft.identitymodel.jsonwebtokens.6.26.0.nupkg.sha512", - "microsoft.identitymodel.jsonwebtokens.nuspec" - ] - }, - "Microsoft.IdentityModel.Logging/6.26.0": { - "sha512": "Svec5ltH4zz5ylAmFiHrUETLalw3d8siPbQ7+0H9GNGbZrVf5u7TaHpmDuJyb3EUiITfisD3vM83spsO/l1igA==", - "type": "package", - "path": "microsoft.identitymodel.logging/6.26.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net45/Microsoft.IdentityModel.Logging.dll", - "lib/net45/Microsoft.IdentityModel.Logging.xml", - "lib/net461/Microsoft.IdentityModel.Logging.dll", - "lib/net461/Microsoft.IdentityModel.Logging.xml", - "lib/net472/Microsoft.IdentityModel.Logging.dll", - "lib/net472/Microsoft.IdentityModel.Logging.xml", - "lib/net6.0/Microsoft.IdentityModel.Logging.dll", - "lib/net6.0/Microsoft.IdentityModel.Logging.xml", - "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll", - "lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml", - "microsoft.identitymodel.logging.6.26.0.nupkg.sha512", - "microsoft.identitymodel.logging.nuspec" - ] - }, - "Microsoft.IdentityModel.Tokens/6.26.0": { - "sha512": "mFNbROC89eap6GTqoYcInCiYsaV8sLxPsgCurQnJDcJoLBk7XoAJpBJae6rkj2VEzWqfErd4jlzaqqRI7wjGOQ==", - "type": "package", - "path": "microsoft.identitymodel.tokens/6.26.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net45/Microsoft.IdentityModel.Tokens.dll", - "lib/net45/Microsoft.IdentityModel.Tokens.xml", - "lib/net461/Microsoft.IdentityModel.Tokens.dll", - "lib/net461/Microsoft.IdentityModel.Tokens.xml", - "lib/net472/Microsoft.IdentityModel.Tokens.dll", - "lib/net472/Microsoft.IdentityModel.Tokens.xml", - "lib/net6.0/Microsoft.IdentityModel.Tokens.dll", - "lib/net6.0/Microsoft.IdentityModel.Tokens.xml", - "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll", - "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml", - "microsoft.identitymodel.tokens.6.26.0.nupkg.sha512", - "microsoft.identitymodel.tokens.nuspec" - ] - }, - "Microsoft.Net.Http.Headers/2.2.0": { - "sha512": "iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==", - "type": "package", - "path": "microsoft.net.http.headers/2.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll", - "lib/netstandard2.0/Microsoft.Net.Http.Headers.xml", - "microsoft.net.http.headers.2.2.0.nupkg.sha512", - "microsoft.net.http.headers.nuspec" - ] - }, - "Microsoft.NETCore.Platforms/2.0.0": { - "sha512": "VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==", - "type": "package", - "path": "microsoft.netcore.platforms/2.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/netstandard1.0/_._", - "microsoft.netcore.platforms.2.0.0.nupkg.sha512", - "microsoft.netcore.platforms.nuspec", - "runtime.json", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.NETCore.Targets/1.1.0": { - "sha512": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", - "type": "package", - "path": "microsoft.netcore.targets/1.1.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "microsoft.netcore.targets.1.1.0.nupkg.sha512", - "microsoft.netcore.targets.nuspec", - "runtime.json" - ] - }, - "Mono.TextTemplating/2.2.1": { - "sha512": "KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "MySqlConnector/2.0.0": { + "sha512": "EY0KXqQas+QvdZQU0NPkqBSfJitWAl8IUCg0v/Qn0P7f/KApJTFJFm8czYWoDPyewUjPHrAnE/cSYzzSFGc8Ng==", "type": "package", - "path": "mono.texttemplating/2.2.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net472/Mono.TextTemplating.dll", - "lib/netstandard2.0/Mono.TextTemplating.dll", - "mono.texttemplating.2.2.1.nupkg.sha512", - "mono.texttemplating.nuspec" - ] - }, - "MySqlConnector/2.2.5": { - "sha512": "6sinY78RvryhHwpup3awdjYO7d5hhWahb5p/1VDODJhSxJggV/sBbYuKK5IQF9TuzXABiddqUbmRfM884tqA3Q==", - "type": "package", - "path": "mysqlconnector/2.2.5", + "path": "mysqlconnector/2.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "README.md", + "lib/net45/MySqlConnector.dll", + "lib/net45/MySqlConnector.xml", "lib/net461/MySqlConnector.dll", "lib/net461/MySqlConnector.xml", "lib/net471/MySqlConnector.dll", "lib/net471/MySqlConnector.xml", + "lib/net5.0/MySqlConnector.dll", + "lib/net5.0/MySqlConnector.xml", "lib/net6.0/MySqlConnector.dll", "lib/net6.0/MySqlConnector.xml", - "lib/net7.0/MySqlConnector.dll", - "lib/net7.0/MySqlConnector.xml", "lib/netcoreapp3.1/MySqlConnector.dll", "lib/netcoreapp3.1/MySqlConnector.xml", "lib/netstandard2.0/MySqlConnector.dll", @@ -1988,558 +652,70 @@ "lib/netstandard2.1/MySqlConnector.dll", "lib/netstandard2.1/MySqlConnector.xml", "logo.png", - "mysqlconnector.2.2.5.nupkg.sha512", + "mysqlconnector.2.0.0.nupkg.sha512", "mysqlconnector.nuspec" ] }, - "Newtonsoft.Json/11.0.2": { - "sha512": "IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ==", - "type": "package", - "path": "newtonsoft.json/11.0.2", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "lib/net20/Newtonsoft.Json.dll", - "lib/net20/Newtonsoft.Json.xml", - "lib/net35/Newtonsoft.Json.dll", - "lib/net35/Newtonsoft.Json.xml", - "lib/net40/Newtonsoft.Json.dll", - "lib/net40/Newtonsoft.Json.xml", - "lib/net45/Newtonsoft.Json.dll", - "lib/net45/Newtonsoft.Json.xml", - "lib/netstandard1.0/Newtonsoft.Json.dll", - "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/netstandard1.3/Newtonsoft.Json.dll", - "lib/netstandard1.3/Newtonsoft.Json.xml", - "lib/netstandard2.0/Newtonsoft.Json.dll", - "lib/netstandard2.0/Newtonsoft.Json.xml", - "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml", - "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml", - "newtonsoft.json.11.0.2.nupkg.sha512", - "newtonsoft.json.nuspec" - ] - }, - "Pomelo.EntityFrameworkCore.MySql/7.0.0": { - "sha512": "Qk5WB/skSZet5Yrz6AN2ywjZaB1pxfAmvQ+5I4khTkLwwIamI4QJoH2NphCWLFQL+2ar8HvsNCTmwYk0qhqL0w==", + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "sha512": "iWloXFjpN6BllZA9oPqZTW9mNtFV5Q6DFv0WwFyh1IuOJ71btS3ifTwpLmaFXSlXzuEU9o7Rul0dU0WiwkOq0Q==", "type": "package", - "path": "pomelo.entityframeworkcore.mysql/7.0.0", + "path": "pomelo.entityframeworkcore.mysql/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "README.md", "icon.png", "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll", "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.xml", - "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.dll", - "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.xml", - "pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", + "pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", "pomelo.entityframeworkcore.mysql.nuspec" ] }, - "System.Buffers/4.5.0": { - "sha512": "pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A==", - "type": "package", - "path": "system.buffers/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/netcoreapp2.0/_._", - "lib/netstandard1.1/System.Buffers.dll", - "lib/netstandard1.1/System.Buffers.xml", - "lib/netstandard2.0/System.Buffers.dll", - "lib/netstandard2.0/System.Buffers.xml", - "lib/uap10.0.16299/_._", - "ref/net45/System.Buffers.dll", - "ref/net45/System.Buffers.xml", - "ref/netcoreapp2.0/_._", - "ref/netstandard1.1/System.Buffers.dll", - "ref/netstandard1.1/System.Buffers.xml", - "ref/netstandard2.0/System.Buffers.dll", - "ref/netstandard2.0/System.Buffers.xml", - "ref/uap10.0.16299/_._", - "system.buffers.4.5.0.nupkg.sha512", - "system.buffers.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.CodeDom/4.4.0": { - "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", - "type": "package", - "path": "system.codedom/4.4.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/System.CodeDom.dll", - "lib/netstandard2.0/System.CodeDom.dll", - "ref/net461/System.CodeDom.dll", - "ref/net461/System.CodeDom.xml", - "ref/netstandard2.0/System.CodeDom.dll", - "ref/netstandard2.0/System.CodeDom.xml", - "system.codedom.4.4.0.nupkg.sha512", - "system.codedom.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.IdentityModel.Tokens.Jwt/6.26.0": { - "sha512": "GT6imbntzCpoGHTRFUa98TPCF9PTnzV1v5KiTj9sT5ZmeYZErNA5ks5VDvYBaOC59y3dQ78IsMzEJm+XrxDk6w==", - "type": "package", - "path": "system.identitymodel.tokens.jwt/6.26.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net45/System.IdentityModel.Tokens.Jwt.dll", - "lib/net45/System.IdentityModel.Tokens.Jwt.xml", - "lib/net461/System.IdentityModel.Tokens.Jwt.dll", - "lib/net461/System.IdentityModel.Tokens.Jwt.xml", - "lib/net472/System.IdentityModel.Tokens.Jwt.dll", - "lib/net472/System.IdentityModel.Tokens.Jwt.xml", - "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll", - "lib/net6.0/System.IdentityModel.Tokens.Jwt.xml", - "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll", - "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml", - "system.identitymodel.tokens.jwt.6.26.0.nupkg.sha512", - "system.identitymodel.tokens.jwt.nuspec" - ] - }, - "System.IO/4.3.0": { - "sha512": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "type": "package", - "path": "system.io/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.IO.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.IO.dll", - "ref/netcore50/System.IO.dll", - "ref/netcore50/System.IO.xml", - "ref/netcore50/de/System.IO.xml", - "ref/netcore50/es/System.IO.xml", - "ref/netcore50/fr/System.IO.xml", - "ref/netcore50/it/System.IO.xml", - "ref/netcore50/ja/System.IO.xml", - "ref/netcore50/ko/System.IO.xml", - "ref/netcore50/ru/System.IO.xml", - "ref/netcore50/zh-hans/System.IO.xml", - "ref/netcore50/zh-hant/System.IO.xml", - "ref/netstandard1.0/System.IO.dll", - "ref/netstandard1.0/System.IO.xml", - "ref/netstandard1.0/de/System.IO.xml", - "ref/netstandard1.0/es/System.IO.xml", - "ref/netstandard1.0/fr/System.IO.xml", - "ref/netstandard1.0/it/System.IO.xml", - "ref/netstandard1.0/ja/System.IO.xml", - "ref/netstandard1.0/ko/System.IO.xml", - "ref/netstandard1.0/ru/System.IO.xml", - "ref/netstandard1.0/zh-hans/System.IO.xml", - "ref/netstandard1.0/zh-hant/System.IO.xml", - "ref/netstandard1.3/System.IO.dll", - "ref/netstandard1.3/System.IO.xml", - "ref/netstandard1.3/de/System.IO.xml", - "ref/netstandard1.3/es/System.IO.xml", - "ref/netstandard1.3/fr/System.IO.xml", - "ref/netstandard1.3/it/System.IO.xml", - "ref/netstandard1.3/ja/System.IO.xml", - "ref/netstandard1.3/ko/System.IO.xml", - "ref/netstandard1.3/ru/System.IO.xml", - "ref/netstandard1.3/zh-hans/System.IO.xml", - "ref/netstandard1.3/zh-hant/System.IO.xml", - "ref/netstandard1.5/System.IO.dll", - "ref/netstandard1.5/System.IO.xml", - "ref/netstandard1.5/de/System.IO.xml", - "ref/netstandard1.5/es/System.IO.xml", - "ref/netstandard1.5/fr/System.IO.xml", - "ref/netstandard1.5/it/System.IO.xml", - "ref/netstandard1.5/ja/System.IO.xml", - "ref/netstandard1.5/ko/System.IO.xml", - "ref/netstandard1.5/ru/System.IO.xml", - "ref/netstandard1.5/zh-hans/System.IO.xml", - "ref/netstandard1.5/zh-hant/System.IO.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "system.io.4.3.0.nupkg.sha512", - "system.io.nuspec" - ] - }, - "System.IO.Pipelines/4.5.2": { - "sha512": "NOC/SO4gSX6t0tB25xxDPqPEzkksuzW7NVFBTQGAkjXXUPQl7ZtyE83T7tUCP2huFBbPombfCKvq1Ox1aG8D9w==", + "System.Collections.Immutable/6.0.0": { + "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", "type": "package", - "path": "system.io.pipelines/4.5.2", + "path": "system.collections.immutable/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", + "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "lib/netcoreapp2.1/System.IO.Pipelines.dll", - "lib/netcoreapp2.1/System.IO.Pipelines.xml", - "lib/netstandard1.3/System.IO.Pipelines.dll", - "lib/netstandard1.3/System.IO.Pipelines.xml", - "lib/netstandard2.0/System.IO.Pipelines.dll", - "lib/netstandard2.0/System.IO.Pipelines.xml", - "ref/netstandard1.3/System.IO.Pipelines.dll", - "system.io.pipelines.4.5.2.nupkg.sha512", - "system.io.pipelines.nuspec", - "useSharedDesignerContext.txt", - "version.txt" + "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Collections.Immutable.dll", + "lib/net461/System.Collections.Immutable.xml", + "lib/net6.0/System.Collections.Immutable.dll", + "lib/net6.0/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "system.collections.immutable.6.0.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt" ] }, - "System.Net.WebSockets.WebSocketProtocol/4.5.1": { - "sha512": "FquLjdb/0CeMqb15u9Px6TwnyFl306WztKWu6sKKc5kWPYMdpi5BFEkdxzGoieYFp9UksyGwJnCw4KKAUfJjrw==", + "System.Diagnostics.DiagnosticSource/6.0.0": { + "sha512": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", "type": "package", - "path": "system.net.websockets.websocketprotocol/4.5.1", + "path": "system.diagnostics.diagnosticsource/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", + "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "lib/netcoreapp2.1/System.Net.WebSockets.WebSocketProtocol.dll", - "lib/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll", - "ref/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll", - "system.net.websockets.websocketprotocol.4.5.1.nupkg.sha512", - "system.net.websockets.websocketprotocol.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Reflection/4.3.0": { - "sha512": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "type": "package", - "path": "system.reflection/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Reflection.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Reflection.dll", - "ref/netcore50/System.Reflection.dll", - "ref/netcore50/System.Reflection.xml", - "ref/netcore50/de/System.Reflection.xml", - "ref/netcore50/es/System.Reflection.xml", - "ref/netcore50/fr/System.Reflection.xml", - "ref/netcore50/it/System.Reflection.xml", - "ref/netcore50/ja/System.Reflection.xml", - "ref/netcore50/ko/System.Reflection.xml", - "ref/netcore50/ru/System.Reflection.xml", - "ref/netcore50/zh-hans/System.Reflection.xml", - "ref/netcore50/zh-hant/System.Reflection.xml", - "ref/netstandard1.0/System.Reflection.dll", - "ref/netstandard1.0/System.Reflection.xml", - "ref/netstandard1.0/de/System.Reflection.xml", - "ref/netstandard1.0/es/System.Reflection.xml", - "ref/netstandard1.0/fr/System.Reflection.xml", - "ref/netstandard1.0/it/System.Reflection.xml", - "ref/netstandard1.0/ja/System.Reflection.xml", - "ref/netstandard1.0/ko/System.Reflection.xml", - "ref/netstandard1.0/ru/System.Reflection.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.xml", - "ref/netstandard1.3/System.Reflection.dll", - "ref/netstandard1.3/System.Reflection.xml", - "ref/netstandard1.3/de/System.Reflection.xml", - "ref/netstandard1.3/es/System.Reflection.xml", - "ref/netstandard1.3/fr/System.Reflection.xml", - "ref/netstandard1.3/it/System.Reflection.xml", - "ref/netstandard1.3/ja/System.Reflection.xml", - "ref/netstandard1.3/ko/System.Reflection.xml", - "ref/netstandard1.3/ru/System.Reflection.xml", - "ref/netstandard1.3/zh-hans/System.Reflection.xml", - "ref/netstandard1.3/zh-hant/System.Reflection.xml", - "ref/netstandard1.5/System.Reflection.dll", - "ref/netstandard1.5/System.Reflection.xml", - "ref/netstandard1.5/de/System.Reflection.xml", - "ref/netstandard1.5/es/System.Reflection.xml", - "ref/netstandard1.5/fr/System.Reflection.xml", - "ref/netstandard1.5/it/System.Reflection.xml", - "ref/netstandard1.5/ja/System.Reflection.xml", - "ref/netstandard1.5/ko/System.Reflection.xml", - "ref/netstandard1.5/ru/System.Reflection.xml", - "ref/netstandard1.5/zh-hans/System.Reflection.xml", - "ref/netstandard1.5/zh-hant/System.Reflection.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "system.reflection.4.3.0.nupkg.sha512", - "system.reflection.nuspec" - ] - }, - "System.Reflection.Emit/4.3.0": { - "sha512": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", - "type": "package", - "path": "system.reflection.emit/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/monotouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.dll", - "lib/netstandard1.3/System.Reflection.Emit.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/net45/_._", - "ref/netstandard1.1/System.Reflection.Emit.dll", - "ref/netstandard1.1/System.Reflection.Emit.xml", - "ref/netstandard1.1/de/System.Reflection.Emit.xml", - "ref/netstandard1.1/es/System.Reflection.Emit.xml", - "ref/netstandard1.1/fr/System.Reflection.Emit.xml", - "ref/netstandard1.1/it/System.Reflection.Emit.xml", - "ref/netstandard1.1/ja/System.Reflection.Emit.xml", - "ref/netstandard1.1/ko/System.Reflection.Emit.xml", - "ref/netstandard1.1/ru/System.Reflection.Emit.xml", - "ref/netstandard1.1/zh-hans/System.Reflection.Emit.xml", - "ref/netstandard1.1/zh-hant/System.Reflection.Emit.xml", - "ref/xamarinmac20/_._", - "system.reflection.emit.4.3.0.nupkg.sha512", - "system.reflection.emit.nuspec" - ] - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "sha512": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "type": "package", - "path": "system.reflection.emit.ilgeneration/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.ILGeneration.dll", - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll", - "lib/portable-net45+wp8/_._", - "lib/wp80/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", - "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/de/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/es/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/fr/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/it/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ja/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ko/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ru/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Emit.ILGeneration.xml", - "ref/portable-net45+wp8/_._", - "ref/wp80/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/_._", - "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", - "system.reflection.emit.ilgeneration.nuspec" - ] - }, - "System.Reflection.Primitives/4.3.0": { - "sha512": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "type": "package", - "path": "system.reflection.primitives/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Reflection.Primitives.dll", - "ref/netcore50/System.Reflection.Primitives.xml", - "ref/netcore50/de/System.Reflection.Primitives.xml", - "ref/netcore50/es/System.Reflection.Primitives.xml", - "ref/netcore50/fr/System.Reflection.Primitives.xml", - "ref/netcore50/it/System.Reflection.Primitives.xml", - "ref/netcore50/ja/System.Reflection.Primitives.xml", - "ref/netcore50/ko/System.Reflection.Primitives.xml", - "ref/netcore50/ru/System.Reflection.Primitives.xml", - "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", - "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", - "ref/netstandard1.0/System.Reflection.Primitives.dll", - "ref/netstandard1.0/System.Reflection.Primitives.xml", - "ref/netstandard1.0/de/System.Reflection.Primitives.xml", - "ref/netstandard1.0/es/System.Reflection.Primitives.xml", - "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", - "ref/netstandard1.0/it/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "system.reflection.primitives.4.3.0.nupkg.sha512", - "system.reflection.primitives.nuspec" - ] - }, - "System.Runtime/4.3.0": { - "sha512": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "type": "package", - "path": "system.runtime/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Runtime.dll", - "lib/portable-net45+win8+wp80+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Runtime.dll", - "ref/netcore50/System.Runtime.dll", - "ref/netcore50/System.Runtime.xml", - "ref/netcore50/de/System.Runtime.xml", - "ref/netcore50/es/System.Runtime.xml", - "ref/netcore50/fr/System.Runtime.xml", - "ref/netcore50/it/System.Runtime.xml", - "ref/netcore50/ja/System.Runtime.xml", - "ref/netcore50/ko/System.Runtime.xml", - "ref/netcore50/ru/System.Runtime.xml", - "ref/netcore50/zh-hans/System.Runtime.xml", - "ref/netcore50/zh-hant/System.Runtime.xml", - "ref/netstandard1.0/System.Runtime.dll", - "ref/netstandard1.0/System.Runtime.xml", - "ref/netstandard1.0/de/System.Runtime.xml", - "ref/netstandard1.0/es/System.Runtime.xml", - "ref/netstandard1.0/fr/System.Runtime.xml", - "ref/netstandard1.0/it/System.Runtime.xml", - "ref/netstandard1.0/ja/System.Runtime.xml", - "ref/netstandard1.0/ko/System.Runtime.xml", - "ref/netstandard1.0/ru/System.Runtime.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.xml", - "ref/netstandard1.2/System.Runtime.dll", - "ref/netstandard1.2/System.Runtime.xml", - "ref/netstandard1.2/de/System.Runtime.xml", - "ref/netstandard1.2/es/System.Runtime.xml", - "ref/netstandard1.2/fr/System.Runtime.xml", - "ref/netstandard1.2/it/System.Runtime.xml", - "ref/netstandard1.2/ja/System.Runtime.xml", - "ref/netstandard1.2/ko/System.Runtime.xml", - "ref/netstandard1.2/ru/System.Runtime.xml", - "ref/netstandard1.2/zh-hans/System.Runtime.xml", - "ref/netstandard1.2/zh-hant/System.Runtime.xml", - "ref/netstandard1.3/System.Runtime.dll", - "ref/netstandard1.3/System.Runtime.xml", - "ref/netstandard1.3/de/System.Runtime.xml", - "ref/netstandard1.3/es/System.Runtime.xml", - "ref/netstandard1.3/fr/System.Runtime.xml", - "ref/netstandard1.3/it/System.Runtime.xml", - "ref/netstandard1.3/ja/System.Runtime.xml", - "ref/netstandard1.3/ko/System.Runtime.xml", - "ref/netstandard1.3/ru/System.Runtime.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.xml", - "ref/netstandard1.5/System.Runtime.dll", - "ref/netstandard1.5/System.Runtime.xml", - "ref/netstandard1.5/de/System.Runtime.xml", - "ref/netstandard1.5/es/System.Runtime.xml", - "ref/netstandard1.5/fr/System.Runtime.xml", - "ref/netstandard1.5/it/System.Runtime.xml", - "ref/netstandard1.5/ja/System.Runtime.xml", - "ref/netstandard1.5/ko/System.Runtime.xml", - "ref/netstandard1.5/ru/System.Runtime.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.xml", - "ref/portable-net45+win8+wp80+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "system.runtime.4.3.0.nupkg.sha512", - "system.runtime.nuspec" + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Diagnostics.DiagnosticSource.dll", + "lib/net461/System.Diagnostics.DiagnosticSource.xml", + "lib/net5.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net5.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" ] }, "System.Runtime.CompilerServices.Unsafe/6.0.0": { @@ -2567,376 +743,6 @@ "useSharedDesignerContext.txt" ] }, - "System.Security.Cryptography.Cng/4.5.0": { - "sha512": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", - "type": "package", - "path": "system.security.cryptography.cng/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Cng.dll", - "lib/net461/System.Security.Cryptography.Cng.dll", - "lib/net462/System.Security.Cryptography.Cng.dll", - "lib/net47/System.Security.Cryptography.Cng.dll", - "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", - "lib/netstandard1.3/System.Security.Cryptography.Cng.dll", - "lib/netstandard1.4/System.Security.Cryptography.Cng.dll", - "lib/netstandard1.6/System.Security.Cryptography.Cng.dll", - "lib/netstandard2.0/System.Security.Cryptography.Cng.dll", - "lib/uap10.0.16299/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Cng.dll", - "ref/net461/System.Security.Cryptography.Cng.dll", - "ref/net461/System.Security.Cryptography.Cng.xml", - "ref/net462/System.Security.Cryptography.Cng.dll", - "ref/net462/System.Security.Cryptography.Cng.xml", - "ref/net47/System.Security.Cryptography.Cng.dll", - "ref/net47/System.Security.Cryptography.Cng.xml", - "ref/netcoreapp2.0/System.Security.Cryptography.Cng.dll", - "ref/netcoreapp2.0/System.Security.Cryptography.Cng.xml", - "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll", - "ref/netcoreapp2.1/System.Security.Cryptography.Cng.xml", - "ref/netstandard1.3/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.4/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.6/System.Security.Cryptography.Cng.dll", - "ref/netstandard2.0/System.Security.Cryptography.Cng.dll", - "ref/netstandard2.0/System.Security.Cryptography.Cng.xml", - "ref/uap10.0.16299/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net462/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net47/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/uap10.0.16299/_._", - "system.security.cryptography.cng.4.5.0.nupkg.sha512", - "system.security.cryptography.cng.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Security.Principal.Windows/4.5.0": { - "sha512": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", - "type": "package", - "path": "system.security.principal.windows/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net46/System.Security.Principal.Windows.dll", - "lib/net461/System.Security.Principal.Windows.dll", - "lib/netstandard1.3/System.Security.Principal.Windows.dll", - "lib/netstandard2.0/System.Security.Principal.Windows.dll", - "lib/uap10.0.16299/_._", - "ref/net46/System.Security.Principal.Windows.dll", - "ref/net461/System.Security.Principal.Windows.dll", - "ref/net461/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/System.Security.Principal.Windows.dll", - "ref/netstandard1.3/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", - "ref/netstandard2.0/System.Security.Principal.Windows.dll", - "ref/netstandard2.0/System.Security.Principal.Windows.xml", - "ref/uap10.0.16299/_._", - "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", - "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", - "runtimes/win/lib/net461/System.Security.Principal.Windows.dll", - "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", - "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll", - "runtimes/win/lib/uap10.0.16299/_._", - "system.security.principal.windows.4.5.0.nupkg.sha512", - "system.security.principal.windows.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Text.Encoding/4.3.0": { - "sha512": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "type": "package", - "path": "system.text.encoding/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Text.Encoding.dll", - "ref/netcore50/System.Text.Encoding.xml", - "ref/netcore50/de/System.Text.Encoding.xml", - "ref/netcore50/es/System.Text.Encoding.xml", - "ref/netcore50/fr/System.Text.Encoding.xml", - "ref/netcore50/it/System.Text.Encoding.xml", - "ref/netcore50/ja/System.Text.Encoding.xml", - "ref/netcore50/ko/System.Text.Encoding.xml", - "ref/netcore50/ru/System.Text.Encoding.xml", - "ref/netcore50/zh-hans/System.Text.Encoding.xml", - "ref/netcore50/zh-hant/System.Text.Encoding.xml", - "ref/netstandard1.0/System.Text.Encoding.dll", - "ref/netstandard1.0/System.Text.Encoding.xml", - "ref/netstandard1.0/de/System.Text.Encoding.xml", - "ref/netstandard1.0/es/System.Text.Encoding.xml", - "ref/netstandard1.0/fr/System.Text.Encoding.xml", - "ref/netstandard1.0/it/System.Text.Encoding.xml", - "ref/netstandard1.0/ja/System.Text.Encoding.xml", - "ref/netstandard1.0/ko/System.Text.Encoding.xml", - "ref/netstandard1.0/ru/System.Text.Encoding.xml", - "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", - "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", - "ref/netstandard1.3/System.Text.Encoding.dll", - "ref/netstandard1.3/System.Text.Encoding.xml", - "ref/netstandard1.3/de/System.Text.Encoding.xml", - "ref/netstandard1.3/es/System.Text.Encoding.xml", - "ref/netstandard1.3/fr/System.Text.Encoding.xml", - "ref/netstandard1.3/it/System.Text.Encoding.xml", - "ref/netstandard1.3/ja/System.Text.Encoding.xml", - "ref/netstandard1.3/ko/System.Text.Encoding.xml", - "ref/netstandard1.3/ru/System.Text.Encoding.xml", - "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", - "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "system.text.encoding.4.3.0.nupkg.sha512", - "system.text.encoding.nuspec" - ] - }, - "System.Text.Encodings.Web/7.0.0": { - "sha512": "OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==", - "type": "package", - "path": "system.text.encodings.web/7.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Text.Encodings.Web.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", - "lib/net462/System.Text.Encodings.Web.dll", - "lib/net462/System.Text.Encodings.Web.xml", - "lib/net6.0/System.Text.Encodings.Web.dll", - "lib/net6.0/System.Text.Encodings.Web.xml", - "lib/net7.0/System.Text.Encodings.Web.dll", - "lib/net7.0/System.Text.Encodings.Web.xml", - "lib/netstandard2.0/System.Text.Encodings.Web.dll", - "lib/netstandard2.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.xml", - "system.text.encodings.web.7.0.0.nupkg.sha512", - "system.text.encodings.web.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Text.Json/7.0.0": { - "sha512": "DaGSsVqKsn/ia6RG8frjwmJonfos0srquhw09TlT8KRw5I43E+4gs+/bZj4K0vShJ5H9imCuXupb4RmS+dBy3w==", - "type": "package", - "path": "system.text.json/7.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "README.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "buildTransitive/net461/System.Text.Json.targets", - "buildTransitive/net462/System.Text.Json.targets", - "buildTransitive/net6.0/System.Text.Json.targets", - "buildTransitive/netcoreapp2.0/System.Text.Json.targets", - "buildTransitive/netstandard2.0/System.Text.Json.targets", - "lib/net462/System.Text.Json.dll", - "lib/net462/System.Text.Json.xml", - "lib/net6.0/System.Text.Json.dll", - "lib/net6.0/System.Text.Json.xml", - "lib/net7.0/System.Text.Json.dll", - "lib/net7.0/System.Text.Json.xml", - "lib/netstandard2.0/System.Text.Json.dll", - "lib/netstandard2.0/System.Text.Json.xml", - "system.text.json.7.0.0.nupkg.sha512", - "system.text.json.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Threading.Channels/4.5.0": { - "sha512": "MEH06N0rIGmRT4LOKQ2BmUO0IxfvmIY/PaouSq+DFQku72OL8cxfw8W99uGpTCFf2vx2QHLRSh374iSM3asdTA==", - "type": "package", - "path": "system.threading.channels/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/netcoreapp2.1/System.Threading.Channels.dll", - "lib/netcoreapp2.1/System.Threading.Channels.xml", - "lib/netstandard1.3/System.Threading.Channels.dll", - "lib/netstandard1.3/System.Threading.Channels.xml", - "lib/netstandard2.0/System.Threading.Channels.dll", - "lib/netstandard2.0/System.Threading.Channels.xml", - "system.threading.channels.4.5.0.nupkg.sha512", - "system.threading.channels.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Threading.Tasks/4.3.0": { - "sha512": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "type": "package", - "path": "system.threading.tasks/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Threading.Tasks.dll", - "ref/netcore50/System.Threading.Tasks.xml", - "ref/netcore50/de/System.Threading.Tasks.xml", - "ref/netcore50/es/System.Threading.Tasks.xml", - "ref/netcore50/fr/System.Threading.Tasks.xml", - "ref/netcore50/it/System.Threading.Tasks.xml", - "ref/netcore50/ja/System.Threading.Tasks.xml", - "ref/netcore50/ko/System.Threading.Tasks.xml", - "ref/netcore50/ru/System.Threading.Tasks.xml", - "ref/netcore50/zh-hans/System.Threading.Tasks.xml", - "ref/netcore50/zh-hant/System.Threading.Tasks.xml", - "ref/netstandard1.0/System.Threading.Tasks.dll", - "ref/netstandard1.0/System.Threading.Tasks.xml", - "ref/netstandard1.0/de/System.Threading.Tasks.xml", - "ref/netstandard1.0/es/System.Threading.Tasks.xml", - "ref/netstandard1.0/fr/System.Threading.Tasks.xml", - "ref/netstandard1.0/it/System.Threading.Tasks.xml", - "ref/netstandard1.0/ja/System.Threading.Tasks.xml", - "ref/netstandard1.0/ko/System.Threading.Tasks.xml", - "ref/netstandard1.0/ru/System.Threading.Tasks.xml", - "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", - "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", - "ref/netstandard1.3/System.Threading.Tasks.dll", - "ref/netstandard1.3/System.Threading.Tasks.xml", - "ref/netstandard1.3/de/System.Threading.Tasks.xml", - "ref/netstandard1.3/es/System.Threading.Tasks.xml", - "ref/netstandard1.3/fr/System.Threading.Tasks.xml", - "ref/netstandard1.3/it/System.Threading.Tasks.xml", - "ref/netstandard1.3/ja/System.Threading.Tasks.xml", - "ref/netstandard1.3/ko/System.Threading.Tasks.xml", - "ref/netstandard1.3/ru/System.Threading.Tasks.xml", - "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", - "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "system.threading.tasks.4.3.0.nupkg.sha512", - "system.threading.tasks.nuspec" - ] - }, - "Haoliang.Core/1.0.0": { - "type": "project", - "path": "../Haoliang.Core/Haoliang.Core.csproj", - "msbuildProject": "../Haoliang.Core/Haoliang.Core.csproj" - }, "Haoliang.Models/1.0.0": { "type": "project", "path": "../Haoliang.Models/Haoliang.Models.csproj", @@ -2945,12 +751,11 @@ }, "projectFileDependencyGroups": { "net6.0": [ - "Haoliang.Core >= 1.0.0", "Haoliang.Models >= 1.0.0", - "Microsoft.EntityFrameworkCore >= 7.0.2", - "Microsoft.EntityFrameworkCore.Design >= 7.0.2", - "Microsoft.EntityFrameworkCore.Tools >= 7.0.2", - "Pomelo.EntityFrameworkCore.MySql >= 7.0.0" + "Microsoft.EntityFrameworkCore >= 6.0.0", + "Microsoft.EntityFrameworkCore.Design >= 6.0.0", + "Microsoft.EntityFrameworkCore.Tools >= 6.0.0", + "Pomelo.EntityFrameworkCore.MySql >= 6.0.0" ] }, "packageFolders": { @@ -2978,9 +783,6 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj": { - "projectPath": "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj" - }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } @@ -2999,19 +801,19 @@ "dependencies": { "Microsoft.EntityFrameworkCore": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Design": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Tools": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", - "version": "[7.0.0, )" + "version": "[6.0.0, )" } }, "imports": [ diff --git a/Haoliang.Data/obj/project.nuget.cache b/Haoliang.Data/obj/project.nuget.cache index 5cc6932..f8b7b2c 100644 --- a/Haoliang.Data/obj/project.nuget.cache +++ b/Haoliang.Data/obj/project.nuget.cache @@ -1,81 +1,30 @@ { "version": 2, - "dgSpecHash": "n+xdRAhcNg3J/OdmEBMOpDsgnuQbCY8EtwKbUclpRKp0/OYy4jdcYs5E4vglBVc6KURjabQne39GuK3NzrCrLA==", + "dgSpecHash": "wQAfwmPHorUKjFxQTMXchTVaWeo2gGjdDVGsDBGyC9aQdwk+Xi/Xsvkvg1DidkHWGTb7MeD9JzhsNZATgutK6A==", "success": true, "projectFilePath": "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj", "expectedPackageFiles": [ - "/root/.nuget/packages/bcrypt.net-next/4.0.3/bcrypt.net-next.4.0.3.nupkg.sha512", - "/root/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.authentication.abstractions/2.2.0/microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.authorization/2.2.0/microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.authorization.policy/2.2.0/microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.connections.abstractions/2.2.0/microsoft.aspnetcore.connections.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.hosting.abstractions/2.2.0/microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.hosting.server.abstractions/2.2.0/microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.http/2.2.0/microsoft.aspnetcore.http.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.http.abstractions/2.2.0/microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.http.connections/1.1.0/microsoft.aspnetcore.http.connections.1.1.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.http.connections.common/1.1.0/microsoft.aspnetcore.http.connections.common.1.1.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.http.extensions/2.2.0/microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.http.features/2.2.0/microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.routing/2.2.0/microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.routing.abstractions/2.2.0/microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.signalr/1.1.0/microsoft.aspnetcore.signalr.1.1.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.signalr.common/1.1.0/microsoft.aspnetcore.signalr.common.1.1.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.signalr.core/1.1.0/microsoft.aspnetcore.signalr.core.1.1.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.signalr.protocols.json/1.1.0/microsoft.aspnetcore.signalr.protocols.json.1.1.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.websockets/2.2.0/microsoft.aspnetcore.websockets.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.aspnetcore.webutilities/2.2.0/microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.csharp/4.5.0/microsoft.csharp.4.5.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore/7.0.2/microsoft.entityframeworkcore.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.abstractions/7.0.2/microsoft.entityframeworkcore.abstractions.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.analyzers/7.0.2/microsoft.entityframeworkcore.analyzers.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.design/7.0.2/microsoft.entityframeworkcore.design.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.relational/7.0.2/microsoft.entityframeworkcore.relational.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.tools/7.0.2/microsoft.entityframeworkcore.tools.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.caching.abstractions/7.0.0/microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.caching.memory/7.0.0/microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.configuration.abstractions/7.0.0/microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.dependencyinjection/7.0.0/microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/7.0.0/microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.dependencymodel/7.0.0/microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.fileproviders.abstractions/2.2.0/microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.hosting.abstractions/2.2.0/microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.logging/7.0.0/microsoft.extensions.logging.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.logging.abstractions/7.0.0/microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.objectpool/2.2.0/microsoft.extensions.objectpool.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.options/7.0.0/microsoft.extensions.options.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.primitives/7.0.0/microsoft.extensions.primitives.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.identitymodel.abstractions/6.26.0/microsoft.identitymodel.abstractions.6.26.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.identitymodel.jsonwebtokens/6.26.0/microsoft.identitymodel.jsonwebtokens.6.26.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.identitymodel.logging/6.26.0/microsoft.identitymodel.logging.6.26.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.identitymodel.tokens/6.26.0/microsoft.identitymodel.tokens.6.26.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.net.http.headers/2.2.0/microsoft.net.http.headers.2.2.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.netcore.platforms/2.0.0/microsoft.netcore.platforms.2.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512", - "/root/.nuget/packages/mono.texttemplating/2.2.1/mono.texttemplating.2.2.1.nupkg.sha512", - "/root/.nuget/packages/mysqlconnector/2.2.5/mysqlconnector.2.2.5.nupkg.sha512", - "/root/.nuget/packages/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg.sha512", - "/root/.nuget/packages/pomelo.entityframeworkcore.mysql/7.0.0/pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", - "/root/.nuget/packages/system.buffers/4.5.0/system.buffers.4.5.0.nupkg.sha512", - "/root/.nuget/packages/system.codedom/4.4.0/system.codedom.4.4.0.nupkg.sha512", - "/root/.nuget/packages/system.identitymodel.tokens.jwt/6.26.0/system.identitymodel.tokens.jwt.6.26.0.nupkg.sha512", - "/root/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.io.pipelines/4.5.2/system.io.pipelines.4.5.2.nupkg.sha512", - "/root/.nuget/packages/system.net.websockets.websocketprotocol/4.5.1/system.net.websockets.websocketprotocol.4.5.1.nupkg.sha512", - "/root/.nuget/packages/system.reflection/4.3.0/system.reflection.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.reflection.emit.ilgeneration/4.3.0/system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.runtime/4.3.0/system.runtime.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", - "/root/.nuget/packages/system.security.cryptography.cng/4.5.0/system.security.cryptography.cng.4.5.0.nupkg.sha512", - "/root/.nuget/packages/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg.sha512", - "/root/.nuget/packages/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.text.encodings.web/7.0.0/system.text.encodings.web.7.0.0.nupkg.sha512", - "/root/.nuget/packages/system.text.json/7.0.0/system.text.json.7.0.0.nupkg.sha512", - "/root/.nuget/packages/system.threading.channels/4.5.0/system.threading.channels.4.5.0.nupkg.sha512", - "/root/.nuget/packages/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg.sha512" + "/root/.nuget/packages/humanizer.core/2.8.26/humanizer.core.2.8.26.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore/6.0.0/microsoft.entityframeworkcore.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.abstractions/6.0.0/microsoft.entityframeworkcore.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.analyzers/6.0.0/microsoft.entityframeworkcore.analyzers.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.design/6.0.0/microsoft.entityframeworkcore.design.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.relational/6.0.0/microsoft.entityframeworkcore.relational.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.tools/6.0.0/microsoft.entityframeworkcore.tools.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.caching.abstractions/6.0.0/microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.caching.memory/6.0.0/microsoft.extensions.caching.memory.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.abstractions/6.0.0/microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.dependencyinjection/6.0.0/microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/6.0.0/microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging/6.0.0/microsoft.extensions.logging.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging.abstractions/6.0.0/microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.options/6.0.0/microsoft.extensions.options.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.primitives/6.0.0/microsoft.extensions.primitives.6.0.0.nupkg.sha512", + "/root/.nuget/packages/mysqlconnector/2.0.0/mysqlconnector.2.0.0.nupkg.sha512", + "/root/.nuget/packages/pomelo.entityframeworkcore.mysql/6.0.0/pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", + "/root/.nuget/packages/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.diagnosticsource/6.0.0/system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", + "/root/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/Haoliang.Models/DataCollection/AdditionalCollectionModels.cs b/Haoliang.Models/DataCollection/AdditionalCollectionModels.cs index e4c70d9..0b0e91e 100644 --- a/Haoliang.Models/DataCollection/AdditionalCollectionModels.cs +++ b/Haoliang.Models/DataCollection/AdditionalCollectionModels.cs @@ -1,9 +1,10 @@ using System; using System.Collections.Generic; +using Haoliang.Models.Device; namespace Haoliang.Models.DataCollection { - public class CollectionTask +public class CollectionTaskDetailed { public int Id { get; set; } public int DeviceId { get; set; } @@ -18,6 +19,93 @@ namespace Haoliang.Models.DataCollection public DateTime CreatedAt { get; set; } } + public class CollectionResultDetailed + { + public int Id { get; set; } + public int DeviceId { get; set; } + public bool IsSuccess { get; set; } + public string RawJson { get; set; } + public string ParsedData { get; set; } + public DateTime CollectionTime { get; set; } + public long? ResponseTime { get; set; } + public int? DataSize { get; set; } + public string ErrorMessage { get; set; } + public DateTime CreatedAt { get; set; } + } + + public class CollectionLogDetailed + { + public int Id { get; set; } + public int DeviceId { get; set; } + public LogLevel LogLevel { get; set; } + public string LogCategory { get; set; } + public string LogMessage { get; set; } + public string LogData { get; set; } + public DateTime LogTime { get; set; } + public DateTime CreatedAt { get; set; } + } + + public class PingResultDetailed + { + public bool IsSuccess { get; set; } + public int PingTimeMs { get; set; } + public string ErrorMessage { get; set; } + public DateTime Timestamp { get; set; } + } + + public class DeviceCurrentStatusDetailed + { + public int DeviceId { get; set; } + public string DeviceCode { get; set; } + public DeviceStatus Status { get; set; } + public string NCProgram { get; set; } + public int CumulativeCount { get; set; } + public DateTime RecordTime { get; set; } + public bool IsActive => Status == DeviceStatus.Online; + } + + public class CollectionHealthDetailed + { + public int TotalDevices { get; set; } + public int OnlineDevices { get; set; } + public int ActiveCollections { get; set; } + public double AverageResponseTime { get; set; } + public double SuccessRate { get; set; } + public Dictionary StatusCounts { get; set; } + } + + public class CollectionStatisticsDetailed + { + public DateTime Date { get; set; } + public int TotalCollections { get; set; } + public int SuccessfulCollections { get; set; } + public int FailedCollections { get; set; } + public double AverageResponseTime { get; set; } + public Dictionary ErrorCounts { get; set; } + } + + public class CollectionConfigDetailed + { + public int Id { get; set; } + public string ConfigKey { get; set; } + public string ConfigValue { get; set; } + public string Description { get; set; } + public bool IsEnabled { get; set; } + public DateTime CreatedAt { get; set; } + public DateTime UpdatedAt { get; set; } + } + + public class CollectionFilterDetailed + { + public List DeviceIds { get; set; } + public DateTime? StartDate { get; set; } + public DateTime? EndDate { get; set; } + public bool? IsSuccess { get; set; } + public string Status { get; set; } + public int? RetryCount { get; set; } + public string SearchKeyword { get; set; } + } + public class CollectionResult { public int Id { get; set; } @@ -52,98 +140,97 @@ namespace Haoliang.Models.DataCollection public DateTime Timestamp { get; set; } } - public class DeviceStatus + public class DeviceCurrentStatus { - public int Id { get; set; } public int DeviceId { get; set; } - public string Status { get; set; } - public bool IsRunning { get; set; } + public string DeviceCode { get; set; } + public DeviceStatus Status { get; set; } public string NCProgram { get; set; } public int CumulativeCount { get; set; } - public string OperatingMode { get; set; } public DateTime RecordTime { get; set; } + public bool IsActive => Status == DeviceStatus.Online; } - public class TagData +// Duplicate definition removed - see CollectionHealthDetailed below + + public class DetailedCollectionHealth { - public string Id { get; set; } - public string Desc { get; set; } - public string Quality { get; set; } - public object Value { get; set; } - public DateTime Time { get; set; } + public DateTime CheckTime { get; set; } + public int TotalDevices { get; set; } + public int OnlineDevices { get; set; } + public int ActiveCollectionTasks { get; set; } + public int FailedTasks { get; set; } + public double SuccessRate { get; set; } + public double AverageResponseTime { get; set; } + public long TotalCollectedData { get; set; } + public DateTime LastSuccessfulCollection { get; set; } + public DateTime LastFailedCollection { get; set; } } - public class CollectionStatistics +// Duplicate definition removed - see CollectionStatisticsDetailed below + + public class DetailedCollectionStatistics { public DateTime Date { get; set; } public int TotalAttempts { get; set; } public int SuccessCount { get; set; } public int FailedCount { get; set; } public decimal SuccessRate { get; set; } + public TimeSpan AverageResponseTime { get; set; } public int DeviceCount { get; set; } public int OnlineDeviceCount { get; set; } public long TotalDataSize { get; set; } - public TimeSpan? AverageResponseTime { get; set; } } - public interface ICachingService + public class DeviceStatistics { - Task GetAsync(string key); - Task SetAsync(string key, T value, TimeSpan? expiration = null); - Task RemoveAsync(string key); - Task ExistsAsync(string key); - Task ClearAsync(); - Task GetOrCreateAsync(string key, Func> factory, TimeSpan? expiration = null); - Task> GetAllKeysAsync(); - Task RefreshAsync(string key); + public int DeviceId { get; set; } + public string DeviceCode { get; set; } + public int TotalRunTime { get; set; } + public int TotalProductionCount { get; set; } + public double EfficiencyRate { get; set; } + public DateTime LastActiveTime { get; set; } + public Dictionary ProgramCounts { get; set; } } - public interface ISchedulerService + public class TagData { - Task StartSchedulerAsync(); - Task StopSchedulerAsync(); - Task ScheduleTaskAsync(ScheduledTask task); - Task RemoveTaskAsync(string taskId); - Task> GetAllScheduledTasksAsync(); - Task GetTaskByIdAsync(string taskId); - Task ExecuteTaskAsync(string taskId); - Task GetTaskExecutionResultAsync(string taskId); - Task IsTaskRunningAsync(string taskId); + public string Id { get; set; } + public string Description { get; set; } + public int Quality { get; set; } + public object Value { get; set; } + public DateTime Time { get; set; } } - public interface IWebSocketAuthMiddleware + public enum DataCollectionLogLevel { - Task AuthenticateAsync(string connectionId, string token); - Task GetUserIdAsync(string connectionId); - Task GetConnectionIdAsync(string userId); - Task IsAuthenticatedAsync(string connectionId); - Task HasPermissionAsync(string connectionId, string permission); + Debug = 0, + Information = 1, + Warning = 2, + Error = 3, + Critical = 4 } - public class BackgroundTaskManager : ISchedulerService - { - // Implementation would go here - this is just a placeholder - public async Task StartSchedulerAsync() { await Task.CompletedTask; } - public async Task StopSchedulerAsync() { await Task.CompletedTask; } - public async Task ScheduleTaskAsync(ScheduledTask task) { await Task.CompletedTask; } - public async Task RemoveTaskAsync(string taskId) { return true; } - public async Task> GetAllScheduledTasksAsync() { return new List(); } - public async Task GetTaskByIdAsync(string taskId) { return null; } - public async Task ExecuteTaskAsync(string taskId) { await Task.CompletedTask; } - public async Task GetTaskExecutionResultAsync(string taskId) { return null; } - public async Task IsTaskRunningAsync(string taskId) { return false; } - } +// Duplicate definition removed - see DetailedCollectionStatistics above + + // Duplicate definition removed - see CollectionFilterDetailed below - public class CacheManager : ICachingService +public class CollectionConfig { - // Implementation would go here - this is just a placeholder - public async Task GetAsync(string key) { return default; } - public async Task SetAsync(string key, T value, TimeSpan? expiration = null) { await Task.CompletedTask; } - public async Task RemoveAsync(string key) { return true; } - public async Task ExistsAsync(string key) { return false; } - public async Task ClearAsync() { await Task.CompletedTask; } - public async Task GetOrCreateAsync(string key, Func> factory, TimeSpan? expiration = null) { return default; } - public async Task> GetAllKeysAsync() { return new List(); } - public async Task RefreshAsync(string key) { return true; } + public int Id { get; set; } + public string ConfigKey { get; set; } + public string ConfigValue { get; set; } + public string Description { get; set; } + public bool IsEnabled { get; set; } + public DateTime CreatedAt { get; set; } + public DateTime UpdatedAt { get; set; } } + + // Duplicate definition removed - see CollectionFilterDetailed in CollectionModels.cs + + // Duplicate definition removed - see CollectionFilterDetailed above + + // Duplicate definition removed - see CollectionHealthDetailed above + + // Duplicate definition removed - see CollectionFilterDetailed in CollectionModels.cs } \ No newline at end of file diff --git a/Haoliang.Models/DataCollection/CollectionModels.cs b/Haoliang.Models/DataCollection/CollectionModels.cs index cfd72cf..6599c99 100644 --- a/Haoliang.Models/DataCollection/CollectionModels.cs +++ b/Haoliang.Models/DataCollection/CollectionModels.cs @@ -19,7 +19,7 @@ namespace Haoliang.Models.DataCollection public DateTime CreatedAt { get; set; } } - public class CollectionResult + public class CollectionResultBasic { public int ResultId { get; set; } public int TaskId { get; set; } @@ -33,7 +33,7 @@ namespace Haoliang.Models.DataCollection public Dictionary Metadata { get; set; } } - public class CollectionLog + public class CollectionLogBasic { public int LogId { get; set; } public int DeviceId { get; set; } @@ -44,7 +44,7 @@ namespace Haoliang.Models.DataCollection public string Category { get; set; } } - public class PingResult + public class PingResultBasic { public bool IsSuccess { get; set; } public int PingTimeMs { get; set; } @@ -52,7 +52,7 @@ namespace Haoliang.Models.DataCollection public DateTime Timestamp { get; set; } } - public class DeviceCurrentStatus + public class DeviceCurrentStatusBasic { public int DeviceId { get; set; } public string DeviceCode { get; set; } @@ -63,7 +63,7 @@ namespace Haoliang.Models.DataCollection public bool IsActive => Status == DeviceStatus.Online; } - public class CollectionHealth +public class CollectionHealthBasic { public int TotalDevices { get; set; } public int OnlineDevices { get; set; } @@ -73,7 +73,7 @@ namespace Haoliang.Models.DataCollection public Dictionary StatusCounts { get; set; } } - public class CollectionStatistics + public class CollectionStatisticsBasic { public DateTime Date { get; set; } public int TotalCollections { get; set; } @@ -83,7 +83,11 @@ namespace Haoliang.Models.DataCollection public Dictionary ErrorCounts { get; set; } } - public class DeviceStatistics +// Duplicate definition removed - see DetailedCollectionStatistics in AdditionalCollectionModels.cs + + // Duplicate definition removed - see DetailedCollectionStatistics above + + public class DeviceStatisticsBasic { public int DeviceId { get; set; } public string DeviceCode { get; set; } @@ -94,7 +98,7 @@ namespace Haoliang.Models.DataCollection public Dictionary ProgramCounts { get; set; } } - public class TagData + public class TagDataBasic { public string Id { get; set; } public string Description { get; set; } @@ -102,35 +106,6 @@ namespace Haoliang.Models.DataCollection public object Value { get; set; } public DateTime Time { get; set; } } -} - - public class CollectionResult - { - public int Id { get; set; } - public int DeviceId { get; set; } - public int TaskId { get; set; } - public DateTime CollectionTime { get; set; } - public string RawJson { get; set; } - public bool IsSuccess { get; set; } - public string ErrorMessage { get; set; } - public int RetryCount { get; set; } - public DateTime CreatedAt { get; set; } - public DeviceCurrentStatus ParsedData { get; set; } - } - - public class CollectionLog - { - public int Id { get; set; } - public int DeviceId { get; set; } - public LogLevel LogLevel { get; set; } - public string LogCategory { get; set; } - public string LogMessage { get; set; } - public string LogData { get; set; } - public string SourceMethod { get; set; } - public string SourceFile { get; set; } - public DateTime LogTime { get; set; } - public DateTime CreatedAt { get; set; } - } public enum LogLevel { @@ -141,7 +116,7 @@ namespace Haoliang.Models.DataCollection Critical = 4 } - public class CollectionStatistics + public class DetailedCollectionStatisticsBasic { public DateTime Date { get; set; } public int TotalAttempts { get; set; } @@ -154,7 +129,7 @@ namespace Haoliang.Models.DataCollection public long TotalDataSize { get; set; } } - public class CollectionConfig + public class CollectionConfigBasic { public int Id { get; set; } public string ConfigKey { get; set; } @@ -165,28 +140,7 @@ namespace Haoliang.Models.DataCollection public DateTime UpdatedAt { get; set; } } - public class CollectionHealth - { - public DateTime CheckTime { get; set; } - public int TotalDevices { get; set; } - public int OnlineDevices { get; set; } - public int ActiveCollectionTasks { get; set; } - public int FailedTasks { get; set; } - public double SuccessRate { get; set; } - public double AverageResponseTime { get; set; } - public long TotalCollectedData { get; set; } - public DateTime LastSuccessfulCollection { get; set; } - public DateTime LastFailedCollection { get; set; } - } + // Duplicate definition removed - see DetailedCollectionHealth in AdditionalCollectionModels.cs - public class CollectionFilter - { - public List DeviceIds { get; set; } - public DateTime? StartDate { get; set; } - public DateTime? EndDate { get; set; } - public bool? IsSuccess { get; set; } - public string Status { get; set; } - public int? RetryCount { get; set; } - public string SearchKeyword { get; set; } - } + // Duplicate definition removed - see CollectionFilter in AdditionalCollectionModels.cs } \ No newline at end of file diff --git a/Haoliang.Models/Device/CNCDevice.cs b/Haoliang.Models/Device/CNCDevice.cs index e2e5eb3..38c4b50 100644 --- a/Haoliang.Models/Device/CNCDevice.cs +++ b/Haoliang.Models/Device/CNCDevice.cs @@ -19,16 +19,14 @@ namespace Haoliang.Models.Device public DateTime UpdatedAt { get; set; } } - public class DeviceStatus + public enum DeviceStatus { - public int Id { get; set; } - public int DeviceId { get; set; } - public string Status { get; set; } - public bool IsRunning { get; set; } - public string NCProgram { get; set; } - public int CumulativeCount { get; set; } - public string OperatingMode { get; set; } - public DateTime RecordTime { get; set; } + Online = 1, + Offline = 2, + Running = 3, + Stopped = 4, + Error = 5, + Maintenance = 6 } public class DeviceCurrentStatus diff --git a/Haoliang.Models/Production/AdditionalModels.cs b/Haoliang.Models/Production/AdditionalModels.cs index 989b899..8108a83 100644 --- a/Haoliang.Models/Production/AdditionalModels.cs +++ b/Haoliang.Models/Production/AdditionalModels.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; namespace Haoliang.Models.Production { - public class ProgramProductionSummary +public class ProgramProductionSummaryDetailed { public int SummaryId { get; set; } public int DeviceId { get; set; } @@ -15,6 +15,34 @@ namespace Haoliang.Models.Production public DateTime UpdatedAt { get; set; } } + public class ProductionStatisticsDetailed + { + public DateTime Date { get; set; } + public int TotalDevices { get; set; } + public int ActiveDevices { get; set; } + public int TotalProduction { get; set; } + public decimal AverageProduction { get; set; } + public int TotalPrograms { get; set; } + public decimal QualityRate { get; set; } + public Dictionary ProductionByDevice { get; set; } + public Dictionary ProductionByProgram { get; set; } + } + + public class ProductionRecordDetailed + { + public int RecordId { get; set; } + public int DeviceId { get; set; } + public string DeviceName { get; set; } + public string ProgramName { get; set; } + public int Quantity { get; set; } + public DateTime ProductionDate { get; set; } + public TimeSpan ProductionTime { get; set; } + public bool IsCompleted { get; set; } + public string Operator { get; set; } + public DateTime CreatedAt { get; set; } + public DateTime UpdatedAt { get; set; } + } + public class ProductionSummary { public int SummaryId { get; set; } diff --git a/Haoliang.Models/Production/ProductionRecord.cs b/Haoliang.Models/Production/ProductionRecord.cs index e1bbb55..290b416 100644 --- a/Haoliang.Models/Production/ProductionRecord.cs +++ b/Haoliang.Models/Production/ProductionRecord.cs @@ -4,7 +4,7 @@ using Haoliang.Models.Device; namespace Haoliang.Models.Production { - public class ProductionRecord +public class ProductionRecordBasic { public int Id { get; set; } public int DeviceId { get; set; } @@ -18,6 +18,8 @@ namespace Haoliang.Models.Production public DateTime CreatedAt { get; set; } } + // Duplicate definition removed - see ProductionStatisticsBasic above + public class ProgramProductionSummary { public int Id { get; set; } @@ -30,7 +32,7 @@ namespace Haoliang.Models.Production public decimal QualityRate { get; set; } } - public class ProductionStatistics + public class ProductionStatisticsBasic { public DateTime Date { get; set; } public int DeviceId { get; set; } diff --git a/Haoliang.Models/System/Enums.cs b/Haoliang.Models/System/Enums.cs index cf456ff..dc62b80 100644 --- a/Haoliang.Models/System/Enums.cs +++ b/Haoliang.Models/System/Enums.cs @@ -53,7 +53,7 @@ namespace Haoliang.Models.System Delivered = 4 } - public class Alarm + public class AlarmDetailed { public int AlarmId { get; set; } public int DeviceId { get; set; } @@ -71,7 +71,7 @@ namespace Haoliang.Models.System public bool IsActive => AlarmStatus == AlarmStatus.Active; } - public class AlarmRule + public class AlarmRuleDetailed { public int RuleId { get; set; } public string RuleName { get; set; } @@ -84,7 +84,7 @@ namespace Haoliang.Models.System public DateTime? UpdatedAt { get; set; } } - public class AlarmNotification + public class AlarmNotificationDetailed { public int NotificationId { get; set; } public int AlarmId { get; set; } @@ -97,7 +97,7 @@ namespace Haoliang.Models.System public DateTime? RetryTime { get; set; } } - public class AlarmStatistics + public class AlarmStatisticsDetailed { public int TotalAlarms { get; set; } public int ActiveAlarms { get; set; } @@ -107,7 +107,7 @@ namespace Haoliang.Models.System public Dictionary AlarmsBySeverity { get; set; } } - public class LogEntry + public class LogEntryDetailed { public int LogId { get; set; } public LogLevel LogLevel { get; set; } diff --git a/Haoliang.Models/System/LogEntry.cs b/Haoliang.Models/System/LogEntry.cs new file mode 100644 index 0000000..d988af5 --- /dev/null +++ b/Haoliang.Models/System/LogEntry.cs @@ -0,0 +1,17 @@ +using System; + +namespace Haoliang.Models.System +{ + public class LogEntry + { + public int Id { get; set; } + public DateTime Timestamp { get; set; } + public string Level { get; set; } + public string Category { get; set; } + public string Message { get; set; } + public string Exception { get; set; } + public string Source { get; set; } + public string DeviceId { get; set; } + public DateTime CreatedAt { get; set; } + } +} \ No newline at end of file diff --git a/Haoliang.Models/System/SystemModels.cs b/Haoliang.Models/System/SystemModels.cs index 4f89751..0de72ea 100644 --- a/Haoliang.Models/System/SystemModels.cs +++ b/Haoliang.Models/System/SystemModels.cs @@ -43,7 +43,7 @@ namespace Haoliang.Models.System public DateTime UpdatedAt { get; set; } } - public class SystemConfig + public class SystemConfigBasic { public int Id { get; set; } public string ConfigKey { get; set; } diff --git a/Haoliang.Models/System/SystemTypes.cs b/Haoliang.Models/System/SystemTypes.cs index 81f5ee4..14058b7 100644 --- a/Haoliang.Models/System/SystemTypes.cs +++ b/Haoliang.Models/System/SystemTypes.cs @@ -1,6 +1,6 @@ namespace Haoliang.Models.System { - public class SystemConfig + public class SystemConfigDetailed { public int ConfigId { get; set; } public string ConfigKey { get; set; } @@ -12,7 +12,7 @@ namespace Haoliang.Models.System public bool IsSystem { get; set; } } - public class ScheduledTask + public class ScheduledTaskDetailed { public string TaskId { get; set; } public string TaskName { get; set; } @@ -26,7 +26,7 @@ namespace Haoliang.Models.System public string ErrorMessage { get; set; } } - public class TaskExecutionResult + public class TaskExecutionResultDetailed { public string TaskId { get; set; } public bool IsSuccess { get; set; } @@ -36,7 +36,7 @@ namespace Haoliang.Models.System public TimeSpan Duration { get; set; } } - public enum TaskStatus + public enum TaskStatusDetailed { Pending = 1, Running = 2, @@ -56,7 +56,7 @@ namespace Haoliang.Models.System Dictionary Metadata { get; set; } } - public class SystemHealth + public class SystemHealthDetailed { public string Status { get; set; } public DateTime Timestamp { get; set; } diff --git a/Haoliang.Models/Template/CNCBrandTemplate.cs b/Haoliang.Models/Template/CNCBrandTemplate.cs index c4ce832..838ebba 100644 --- a/Haoliang.Models/Template/CNCBrandTemplate.cs +++ b/Haoliang.Models/Template/CNCBrandTemplate.cs @@ -9,7 +9,7 @@ namespace Haoliang.Models.Template public string BrandName { get; set; } public string Description { get; set; } public bool IsEnabled { get; set; } - public List FieldMappings { get; set; } + public List FieldMappings { get; set; } = new List(); public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } } diff --git a/Haoliang.Models/Template/TagMapping.cs b/Haoliang.Models/Template/TagMapping.cs new file mode 100644 index 0000000..b3ebdc3 --- /dev/null +++ b/Haoliang.Models/Template/TagMapping.cs @@ -0,0 +1,17 @@ +using System; + +namespace Haoliang.Models.Template +{ + public class TagMapping + { + public int Id { get; set; } + public int TemplateId { get; set; } + public string SourceFieldPath { get; set; } + public string StandardFieldId { get; set; } + public string StandardFieldDesc { get; set; } + public string DataType { get; set; } + public ConversionRule ConversionRule { get; set; } + public DateTime CreatedAt { get; set; } + public DateTime? UpdatedAt { get; set; } + } +} \ No newline at end of file diff --git a/Haoliang.Models/bin/Debug/net6.0/Haoliang.Models.dll b/Haoliang.Models/bin/Debug/net6.0/Haoliang.Models.dll index f6f81a46fced225e72666922ae31f07b9b158140..ac0e054e808d4e0804cb76d47cf5d65b2a37e129 100644 GIT binary patch literal 183296 zcmd442Y6N0+O|8!SfLjqgd#<15Ger#f=UTU2}qX~I-wJK0L4(GBZ3Wr1;LF4EC_b6 zf{GXv3v3kuD@7?56crUL=Xsy`zOHlYyY#=^ z#hh~q`0w9;JNG>PSN^o(^uM3XMY&{^7fZTli@aOydEfcnYQ4scomzEr_N39-nG>oG z&zv}M(zL3>Mpn(9KC$Z9iB;Qn>sfWeq!A-iN|Y#CQ)k`1opYUi%susF>barCn#zCT|Enkpe>z~k-I!u7 zgR>^YCskvvIB3kF;CjXF|2kE5u5i9qg~1*2amuujGp2#py{_ve>#F^>X86d^lzn$!_3A7 z=V|}d25LqojFC9J}L zrWlT>DFX!7E)on7*gYe`0CAxS28dE77$8cUV1P(6!2nUl1Or4_6B^=OE@u@6G%as} z0pcPP3=kDeFhEo^!2p4c9<7vy_~I&Cg#k@3Ho*W<#RLOHRTB&l)l4uzR5zg^zPK7z zVL;QGCKw=+O)x;zGQj|Gi3ttyx!1M|1DalHf&rqA2?mI|CKw>D zGQj}R%mf2Oa}yfk%Wq*71~hGHf&n7U1Or4X6ATcoO)x-QZGr)!jR^*bwk8-L+L>U0 zXm5f6BHe_B_&Rj33Im#UG{FFIjR^*bP9_*2I-6jC=wgBaqN@o8h;AkrAiA4ifaqa@ z0peN{3=lm{Xo#;=FRL)1X>St@5PeKAK=d`i0FhyW0ivG?4e`bGw+aKA4luz0G0+49 z#2^z45Q9xHKnyX#05Q}A14O0?4e<^QvkC*64mZI7F~S4`#7Gki5Ti^mK#Vq_A-=dV zR$)NXu_iRcn`T*s0Zqr5V1O8Jf&pTJ2@Ua?O|%LFnocso05RDF1H=>)3=r8S7$Bya zV1Srrf}v}enut4u+0s1U&BAnR#DGs-XMzFZdJ_x~GfXf*++czMBF6*+#7q+m5VK5Z zh>y)|t1zJH91|MiO>eXc1Deh?!2mJO1Ovo;6ATawOfWz!G{FF|$b^RY@)ui$0Zo^f zV1T&E1OvoU6ATbHn_z%gW`Y4?xd{#N<=#{;&l@m;>&-}Dhz1)z6l11Jti0+_L^XT__qlLh!0FKKzwL|0pcSQ8sZ(= zXB7rC{n!Kp#C{VD5C=>!KpZr|0P%?l28d5hXoxTWGpjJ5>E|XGAiglc0P&>>28cr@ z7$6RtV1PJcf&t>F2?mI-OfW!vZ9+r5%g3z3fTqVyFhHCz!2og61Ovo3CKw>THNgP! zoe2hr?@cg3oHC&y-oqcP!hohfnqYu9ZGr*fCleatGyB;p3~2g`2?mHWCKw=oHNgP! zn+XPp-%T(;oHfA!an6K>c!&P53Im${X@UXbFB1$9f16-{z{{NIQJew7n_z$lCN#vC zAF~PrnkJZFfGA*s0ivJ@28co?7$6FpV1OuMf&rqa2?mH_CKw=!o6r#NatW(2plL}H z3=kKXV1P(8!2ofg2?mH#CKw<}n_z%QGQj{*#smXISrZHpG#zDv0b;ZX28b~x7$C-) zV1URnp&`DwaaLhK)A1%4ASRe#fS7240b-H~28hWf7$ByYV1URrp&{O(sa9b?(`hCc zAf}sOfVj>C1H|j1H>E?3=lV(V1Srw zf&pTl2?mJyCKw6ATb{nqYvq z%Y=q_hwiot1Df7rf&pT+2?mIJO)x;LF~I<_)&v8@eI^(n{$)Z#yhH1(!hojtn_z%= zzyt%tgC-at9x}lIvEBp�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ð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 EFOd+kQ~&?~ literal 71168 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 X_VPY#n*6aFzsK7B{pS9^jKKc_gK^#g diff --git a/Haoliang.Models/bin/Debug/net6.0/Haoliang.Models.pdb b/Haoliang.Models/bin/Debug/net6.0/Haoliang.Models.pdb index a4f1f2aaef20b042d8982264e53028d781d0bcf7..367ac1f732d8e3071f8440602465a309b5017493 100644 GIT binary patch literal 73260 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 kItSut<8 delta 14584 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

X4*+J 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 VF9I^;1IGSO8~6Vm@BfY&_+Q?>8QuT@ literal 47616 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 diff --git a/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.csproj.CoreCompileInputs.cache b/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.csproj.CoreCompileInputs.cache index 7cb8c04..5bd9df1 100644 --- a/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.csproj.CoreCompileInputs.cache +++ b/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -e646755fc76efe336c702b67be8a443e31ae6973 +77a9315ff1d80b1bb2e72d8fd3baedd1d80436db diff --git a/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.dll b/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.dll index f6f81a46fced225e72666922ae31f07b9b158140..ac0e054e808d4e0804cb76d47cf5d65b2a37e129 100644 GIT binary patch literal 183296 zcmd442Y6N0+O|8!SfLjqgd#<15Ger#f=UTU2}qX~I-wJK0L4(GBZ3Wr1;LF4EC_b6 zf{GXv3v3kuD@7?56crUL=Xsy`zOHlYyY#=^ z#hh~q`0w9;JNG>PSN^o(^uM3XMY&{^7fZTli@aOydEfcnYQ4scomzEr_N39-nG>oG z&zv}M(zL3>Mpn(9KC$Z9iB;Qn>sfWeq!A-iN|Y#CQ)k`1opYUi%susF>barCn#zCT|Enkpe>z~k-I!u7 zgR>^YCskvvIB3kF;CjXF|2kE5u5i9qg~1*2amuujGp2#py{_ve>#F^>X86d^lzn$!_3A7 z=V|}d25LqojFC9J}L zrWlT>DFX!7E)on7*gYe`0CAxS28dE77$8cUV1P(6!2nUl1Or4_6B^=OE@u@6G%as} z0pcPP3=kDeFhEo^!2p4c9<7vy_~I&Cg#k@3Ho*W<#RLOHRTB&l)l4uzR5zg^zPK7z zVL;QGCKw=+O)x;zGQj|Gi3ttyx!1M|1DalHf&rqA2?mI|CKw>D zGQj}R%mf2Oa}yfk%Wq*71~hGHf&n7U1Or4X6ATcoO)x-QZGr)!jR^*bwk8-L+L>U0 zXm5f6BHe_B_&Rj33Im#UG{FFIjR^*bP9_*2I-6jC=wgBaqN@o8h;AkrAiA4ifaqa@ z0peN{3=lm{Xo#;=FRL)1X>St@5PeKAK=d`i0FhyW0ivG?4e`bGw+aKA4luz0G0+49 z#2^z45Q9xHKnyX#05Q}A14O0?4e<^QvkC*64mZI7F~S4`#7Gki5Ti^mK#Vq_A-=dV zR$)NXu_iRcn`T*s0Zqr5V1O8Jf&pTJ2@Ua?O|%LFnocso05RDF1H=>)3=r8S7$Bya zV1Srrf}v}enut4u+0s1U&BAnR#DGs-XMzFZdJ_x~GfXf*++czMBF6*+#7q+m5VK5Z zh>y)|t1zJH91|MiO>eXc1Deh?!2mJO1Ovo;6ATawOfWz!G{FF|$b^RY@)ui$0Zo^f zV1T&E1OvoU6ATbHn_z%gW`Y4?xd{#N<=#{;&l@m;>&-}Dhz1)z6l11Jti0+_L^XT__qlLh!0FKKzwL|0pcSQ8sZ(= zXB7rC{n!Kp#C{VD5C=>!KpZr|0P%?l28d5hXoxTWGpjJ5>E|XGAiglc0P&>>28cr@ z7$6RtV1PJcf&t>F2?mI-OfW!vZ9+r5%g3z3fTqVyFhHCz!2og61Ovo3CKw>THNgP! zoe2hr?@cg3oHC&y-oqcP!hohfnqYu9ZGr*fCleatGyB;p3~2g`2?mHWCKw=oHNgP! zn+XPp-%T(;oHfA!an6K>c!&P53Im${X@UXbFB1$9f16-{z{{NIQJew7n_z$lCN#vC zAF~PrnkJZFfGA*s0ivJ@28co?7$6FpV1OuMf&rqa2?mH_CKw=!o6r#NatW(2plL}H z3=kKXV1P(8!2ofg2?mH#CKw<}n_z%QGQj{*#smXISrZHpG#zDv0b;ZX28b~x7$C-) zV1URnp&`DwaaLhK)A1%4ASRe#fS7240b-H~28hWf7$ByYV1URrp&{O(sa9b?(`hCc zAf}sOfVj>C1H|j1H>E?3=lV(V1Srw zf&pTl2?mJyCKw6ATb{nqYvq z%Y=q_hwiot1Df7rf&pT+2?mIJO)x;LF~I<_)&v8@eI^(n{$)Z#yhH1(!hojtn_z%= zzyt%tgC-at9x}lIvEBp�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ð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

X4*+J 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 VF9I^;1IGSO8~6Vm@BfY&_+Q?>8QuT@ literal 47616 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 diff --git a/Haoliang.Tests/Haoliang.Tests.csproj b/Haoliang.Tests/Haoliang.Tests.csproj index ecae91f..4a83830 100644 --- a/Haoliang.Tests/Haoliang.Tests.csproj +++ b/Haoliang.Tests/Haoliang.Tests.csproj @@ -22,7 +22,6 @@ - diff --git a/Haoliang.Tests/obj/Debug/net6.0/Haoliang.Tests.assets.cache b/Haoliang.Tests/obj/Debug/net6.0/Haoliang.Tests.assets.cache index e54e6013b9eec8294a4313a9aa71b81e0f67b967..baae2f228cad00dd506706b888cb48e6d8b68f88 100644 GIT binary patch literal 100246 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
SN6zga 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 diff --git a/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.dgspec.json b/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.dgspec.json index f43b457..ac87afe 100644 --- a/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.dgspec.json +++ b/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.dgspec.json @@ -26,6 +26,9 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { + "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj": { + "projectPath": "/root/opencode/haoliang/Haoliang.Data/Haoliang.Data.csproj" + }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } @@ -41,6 +44,36 @@ "frameworks": { "net6.0": { "targetAlias": "net6.0", + "dependencies": { + "BCrypt.Net-Next": { + "target": "Package", + "version": "[4.0.3, )" + }, + "Microsoft.AspNetCore.Http.Abstractions": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.SignalR": { + "target": "Package", + "version": "[1.1.0, )" + }, + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Microsoft.Extensions.Logging.Abstractions": { + "target": "Package", + "version": "[6.0.0, )" + }, + "Microsoft.IdentityModel.Tokens": { + "target": "Package", + "version": "[6.26.0, )" + }, + "System.IdentityModel.Tokens.Jwt": { + "target": "Package", + "version": "[6.26.0, )" + } + }, "imports": [ "net461", "net462", @@ -82,9 +115,6 @@ "net6.0": { "targetAlias": "net6.0", "projectReferences": { - "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj": { - "projectPath": "/root/opencode/haoliang/Haoliang.Core/Haoliang.Core.csproj" - }, "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj": { "projectPath": "/root/opencode/haoliang/Haoliang.Models/Haoliang.Models.csproj" } @@ -103,19 +133,19 @@ "dependencies": { "Microsoft.EntityFrameworkCore": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Design": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Microsoft.EntityFrameworkCore.Tools": { "target": "Package", - "version": "[7.0.2, )" + "version": "[6.0.0, )" }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", - "version": "[7.0.0, )" + "version": "[6.0.0, )" } }, "imports": [ @@ -233,6 +263,10 @@ "net6.0": { "targetAlias": "net6.0", "dependencies": { + "Microsoft.AspNetCore.Mvc.Testing": { + "target": "Package", + "version": "[6.0.0, )" + }, "Microsoft.EntityFrameworkCore.InMemory": { "target": "Package", "version": "[6.0.32, )" @@ -241,6 +275,14 @@ "target": "Package", "version": "[16.11.0, )" }, + "Moq": { + "target": "Package", + "version": "[4.20.69, )" + }, + "Moq.AutoMock": { + "target": "Package", + "version": "[3.5.0, )" + }, "coverlet.collector": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", diff --git a/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.props b/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.props index a091c38..75085d3 100644 --- a/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.props +++ b/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.props @@ -15,14 +15,13 @@ - + /root/.nuget/packages/xunit.analyzers/0.10.0 - /root/.nuget/packages/newtonsoft.json/9.0.1 - /root/.nuget/packages/microsoft.entityframeworkcore.tools/7.0.2 + /root/.nuget/packages/microsoft.entityframeworkcore.tools/6.0.0 \ No newline at end of file diff --git a/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.targets b/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.targets index 3eaef45..ffd71ff 100644 --- a/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.targets +++ b/Haoliang.Tests/obj/Haoliang.Tests.csproj.nuget.g.targets @@ -2,10 +2,9 @@ - - + \ No newline at end of file diff --git a/Haoliang.Tests/obj/project.assets.json b/Haoliang.Tests/obj/project.assets.json index c523920..b0cb24c 100644 --- a/Haoliang.Tests/obj/project.assets.json +++ b/Haoliang.Tests/obj/project.assets.json @@ -2,19 +2,359 @@ "version": 3, "targets": { "net6.0": { + "BCrypt.Net-Next/4.0.3": { + "type": "package", + "compile": { + "lib/net6.0/BCrypt.Net-Next.dll": {} + }, + "runtime": { + "lib/net6.0/BCrypt.Net-Next.dll": {} + } + }, + "Castle.Core/5.1.1": { + "type": "package", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + }, + "compile": { + "lib/net6.0/Castle.Core.dll": {} + }, + "runtime": { + "lib/net6.0/Castle.Core.dll": {} + } + }, "coverlet.collector/3.1.0": { "type": "package", "build": { "build/netstandard1.0/coverlet.collector.targets": {} } }, - "Humanizer.Core/2.14.1": { + "Humanizer.Core/2.8.26": { + "type": "package", + "compile": { + "lib/netstandard2.0/Humanizer.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Humanizer.dll": {} + } + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": {} + } + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": {} + } + }, + "Microsoft.AspNetCore.Connections.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.IO.Pipelines": "4.5.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Connections/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Connections.Common": "1.1.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.WebSockets": "2.2.0", + "Newtonsoft.Json": "11.0.2", + "System.Security.Principal.Windows": "4.5.0" + }, + "compile": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll": {} + }, + "runtime": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Connections.Common/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "2.2.0", + "Newtonsoft.Json": "11.0.2", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, "compile": { - "lib/net6.0/Humanizer.dll": {} + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {} }, "runtime": { - "lib/net6.0/Humanizer.dll": {} + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {} + } + }, + "Microsoft.AspNetCore.Mvc.Testing/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.TestHost": "6.0.0", + "Microsoft.Extensions.DependencyModel": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.AspNetCore.Mvc.Testing.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.AspNetCore.Mvc.Testing.dll": {} + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ], + "build": { + "buildTransitive/net6.0/Microsoft.AspNetCore.Mvc.Testing.targets": {} + } + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": {} + }, + "runtime": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll": {} + } + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Connections": "1.1.0", + "Microsoft.AspNetCore.SignalR.Core": "1.1.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Common/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Newtonsoft.Json": "11.0.2", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll": {} + }, + "runtime": { + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Core/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authorization": "2.2.0", + "Microsoft.AspNetCore.SignalR.Common": "1.1.0", + "Microsoft.AspNetCore.SignalR.Protocols.Json": "1.1.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "System.Reflection.Emit": "4.3.0", + "System.Threading.Channels": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.SignalR.Common": "1.1.0", + "Newtonsoft.Json": "11.0.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + } + }, + "Microsoft.AspNetCore.TestHost/6.0.0": { + "type": "package", + "dependencies": { + "System.IO.Pipelines": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.AspNetCore.TestHost.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.AspNetCore.TestHost.dll": {} + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Microsoft.AspNetCore.WebSockets/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Net.WebSockets.WebSocketProtocol": "4.5.1" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll": {} + } + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": {} } }, "Microsoft.CodeCoverage/16.11.0": { @@ -30,41 +370,25 @@ "build/netstandard1.0/Microsoft.CodeCoverage.targets": {} } }, - "Microsoft.CSharp/4.0.1": { + "Microsoft.CSharp/4.5.0": { "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11" - }, "compile": { - "ref/netstandard1.0/Microsoft.CSharp.dll": {} + "ref/netcoreapp2.0/_._": {} }, "runtime": { - "lib/netstandard1.3/Microsoft.CSharp.dll": {} + "lib/netcoreapp2.0/_._": {} } }, - "Microsoft.EntityFrameworkCore/7.0.2": { + "Microsoft.EntityFrameworkCore/6.0.32": { "type": "package", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "7.0.2", - "Microsoft.EntityFrameworkCore.Analyzers": "7.0.2", - "Microsoft.Extensions.Caching.Memory": "7.0.0", - "Microsoft.Extensions.DependencyInjection": "7.0.0", - "Microsoft.Extensions.Logging": "7.0.0" + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.32", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.32", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.1" }, "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.dll": {} @@ -76,7 +400,7 @@ "buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props": {} } }, - "Microsoft.EntityFrameworkCore.Abstractions/7.0.2": { + "Microsoft.EntityFrameworkCore.Abstractions/6.0.32": { "type": "package", "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {} @@ -85,7 +409,7 @@ "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {} } }, - "Microsoft.EntityFrameworkCore.Analyzers/7.0.2": { + "Microsoft.EntityFrameworkCore.Analyzers/6.0.32": { "type": "package", "compile": { "lib/netstandard2.0/_._": {} @@ -94,13 +418,11 @@ "lib/netstandard2.0/_._": {} } }, - "Microsoft.EntityFrameworkCore.Design/7.0.2": { + "Microsoft.EntityFrameworkCore.Design/6.0.0": { "type": "package", "dependencies": { - "Humanizer.Core": "2.14.1", - "Microsoft.EntityFrameworkCore.Relational": "7.0.2", - "Microsoft.Extensions.DependencyModel": "7.0.0", - "Mono.TextTemplating": "2.2.1" + "Humanizer.Core": "2.8.26", + "Microsoft.EntityFrameworkCore.Relational": "6.0.0" }, "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": {} @@ -124,11 +446,11 @@ "lib/net6.0/Microsoft.EntityFrameworkCore.InMemory.dll": {} } }, - "Microsoft.EntityFrameworkCore.Relational/7.0.2": { + "Microsoft.EntityFrameworkCore.Relational/6.0.0": { "type": "package", "dependencies": { - "Microsoft.EntityFrameworkCore": "7.0.2", - "Microsoft.Extensions.Configuration.Abstractions": "7.0.0" + "Microsoft.EntityFrameworkCore": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" }, "compile": { "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {} @@ -137,10 +459,10 @@ "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {} } }, - "Microsoft.EntityFrameworkCore.Tools/7.0.2": { + "Microsoft.EntityFrameworkCore.Tools/6.0.0": { "type": "package", "dependencies": { - "Microsoft.EntityFrameworkCore.Design": "7.0.2" + "Microsoft.EntityFrameworkCore.Design": "6.0.0" }, "compile": { "lib/net6.0/_._": {} @@ -149,59 +471,152 @@ "lib/net6.0/_._": {} } }, - "Microsoft.Extensions.Caching.Abstractions/7.0.0": { + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" }, - "build": { - "buildTransitive/net6.0/_._": {} + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": {} } }, - "Microsoft.Extensions.Caching.Memory/7.0.0": { + "Microsoft.Extensions.Configuration/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "7.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Logging.Abstractions": "7.0.0", - "Microsoft.Extensions.Options": "7.0.0", - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" }, - "build": { - "buildTransitive/net6.0/_._": {} + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Binder/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {} + } + }, + "Microsoft.Extensions.Configuration.CommandLine/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.dll": {} + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {} } }, - "Microsoft.Extensions.Configuration.Abstractions/7.0.0": { + "Microsoft.Extensions.Configuration.Json/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll": {} + } + }, + "Microsoft.Extensions.Configuration.UserSecrets/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "build/netstandard2.0/_._": {} } }, - "Microsoft.Extensions.DependencyInjection/7.0.0": { + "Microsoft.Extensions.DependencyInjection/6.0.1": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" }, "compile": { "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {} @@ -210,10 +625,10 @@ "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { "type": "package", "compile": { "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} @@ -222,44 +637,135 @@ "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.DependencyModel/6.0.0": { + "type": "package", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.Extensions.DependencyModel/7.0.0": { + "Microsoft.Extensions.FileProviders.Physical/6.0.0": { "type": "package", "dependencies": { - "System.Text.Encodings.Web": "7.0.0", - "System.Text.Json": "7.0.0" + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.DependencyModel.dll": {} + "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.FileSystemGlobbing/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.DependencyModel.dll": {} + "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} } }, - "Microsoft.Extensions.Logging/7.0.0": { + "Microsoft.Extensions.Hosting/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "7.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Logging.Abstractions": "7.0.0", - "Microsoft.Extensions.Options": "7.0.0" + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.0", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Logging.dll": {} + "lib/net6.0/Microsoft.Extensions.Hosting.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Logging.dll": {} + "lib/net6.0/Microsoft.Extensions.Hosting.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.Hosting.Abstractions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} } }, - "Microsoft.Extensions.Logging.Abstractions/7.0.0": { + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { "type": "package", "compile": { "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {} @@ -268,26 +774,138 @@ "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {} }, "build": { - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.Logging.Configuration/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll": {} + } + }, + "Microsoft.Extensions.Logging.Console/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.Logging.Console.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Console.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.Logging.Debug/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.dll": {} } }, - "Microsoft.Extensions.Options/7.0.0": { + "Microsoft.Extensions.Logging.EventLog/6.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" }, "compile": { - "lib/net6.0/Microsoft.Extensions.Options.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.dll": {} }, "runtime": { - "lib/net6.0/Microsoft.Extensions.Options.dll": {} + "lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.dll": {} + } + }, + "Microsoft.Extensions.Logging.EventSource/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.Logging.EventSource.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.EventSource.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": {} } }, - "Microsoft.Extensions.Primitives/7.0.0": { + "Microsoft.Extensions.Options/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": {} + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {} + } + }, + "Microsoft.Extensions.Primitives/6.0.0": { "type": "package", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" @@ -299,7 +917,70 @@ "lib/net6.0/Microsoft.Extensions.Primitives.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.IdentityModel.Abstractions/6.26.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {} + } + }, + "Microsoft.IdentityModel.JsonWebTokens/6.26.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.26.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, + "compile": { + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} + } + }, + "Microsoft.IdentityModel.Logging/6.26.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "6.26.0" + }, + "compile": { + "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {} + } + }, + "Microsoft.IdentityModel.Tokens/6.26.0": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.26.0", + "System.Security.Cryptography.Cng": "4.5.0" + }, + "compile": { + "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {} + }, + "runtime": { + "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {} + } + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": {} } }, "Microsoft.NET.Test.Sdk/16.11.0": { @@ -322,7 +1003,7 @@ "buildMultiTargeting/Microsoft.NET.Test.Sdk.props": {} } }, - "Microsoft.NETCore.Platforms/1.1.0": { + "Microsoft.NETCore.Platforms/2.0.0": { "type": "package", "compile": { "lib/netstandard1.0/_._": {} @@ -597,19 +1278,32 @@ "ref/netstandard1.3/Microsoft.Win32.Primitives.dll": {} } }, - "Mono.TextTemplating/2.2.1": { + "Moq/4.20.69": { + "type": "package", + "dependencies": { + "Castle.Core": "5.1.1" + }, + "compile": { + "lib/net6.0/Moq.dll": {} + }, + "runtime": { + "lib/net6.0/Moq.dll": {} + } + }, + "Moq.AutoMock/3.5.0": { "type": "package", "dependencies": { - "System.CodeDom": "4.4.0" + "Moq": "4.18.4", + "NonBlocking": "2.1.1" }, "compile": { - "lib/netstandard2.0/Mono.TextTemplating.dll": {} + "lib/netstandard2.0/Moq.AutoMock.dll": {} }, "runtime": { - "lib/netstandard2.0/Mono.TextTemplating.dll": {} + "lib/netstandard2.0/Moq.AutoMock.dll": {} } }, - "MySqlConnector/2.2.5": { + "MySqlConnector/2.0.0": { "type": "package", "compile": { "lib/net6.0/MySqlConnector.dll": {} @@ -667,37 +1361,25 @@ "System.Xml.XDocument": "4.3.0" } }, - "Newtonsoft.Json/9.0.1": { + "Newtonsoft.Json/11.0.2": { + "type": "package", + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": {} + } + }, + "NonBlocking/2.1.1": { "type": "package", "dependencies": { - "Microsoft.CSharp": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11" + "System.Runtime.CompilerServices.Unsafe": "4.3.0" }, "compile": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} + "lib/netstandard2.1/NonBlocking.dll": {} }, "runtime": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} + "lib/netstandard2.1/NonBlocking.dll": {} } }, "NuGet.Frameworks/5.0.0": { @@ -709,11 +1391,12 @@ "lib/netstandard2.0/NuGet.Frameworks.dll": {} } }, - "Pomelo.EntityFrameworkCore.MySql/7.0.0": { + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { "type": "package", "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "7.0.2", - "MySqlConnector": "2.2.5" + "Microsoft.EntityFrameworkCore.Relational": "[6.0.0, 7.0.0)", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "MySqlConnector": "2.0.0" }, "compile": { "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": {} @@ -905,29 +1588,13 @@ "lib/netstandard1.6/System.AppContext.dll": {} } }, - "System.Buffers/4.3.0": { + "System.Buffers/4.5.1": { "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - }, "compile": { - "lib/netstandard1.1/_._": {} + "ref/netcoreapp2.0/_._": {} }, "runtime": { - "lib/netstandard1.1/System.Buffers.dll": {} - } - }, - "System.CodeDom/4.4.0": { - "type": "package", - "compile": { - "ref/netstandard2.0/System.CodeDom.dll": {} - }, - "runtime": { - "lib/netstandard2.0/System.CodeDom.dll": {} + "lib/netcoreapp2.0/_._": {} } }, "System.Collections/4.3.0": { @@ -962,6 +1629,21 @@ "lib/netstandard1.3/System.Collections.Concurrent.dll": {} } }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Collections.Immutable.dll": {} + }, + "runtime": { + "lib/net6.0/System.Collections.Immutable.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, "System.Console/4.3.0": { "type": "package", "dependencies": { @@ -986,20 +1668,41 @@ "ref/netstandard1.3/System.Diagnostics.Debug.dll": {} } }, - "System.Diagnostics.DiagnosticSource/4.3.0": { + "System.Diagnostics.DiagnosticSource/6.0.1": { "type": "package", "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" + "System.Runtime.CompilerServices.Unsafe": "6.0.0" }, "compile": { - "lib/netstandard1.3/_._": {} + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} }, "runtime": { - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Diagnostics.EventLog/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Diagnostics.EventLog.dll": {} + }, + "runtime": { + "lib/net6.0/System.Diagnostics.EventLog.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.Messages.dll": { + "assetType": "runtime", + "rid": "win" + }, + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.dll": { + "assetType": "runtime", + "rid": "win" + } } }, "System.Diagnostics.Tools/4.3.0": { @@ -1024,32 +1727,6 @@ "ref/netstandard1.5/System.Diagnostics.Tracing.dll": {} } }, - "System.Dynamic.Runtime/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Dynamic.Runtime.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Dynamic.Runtime.dll": {} - } - }, "System.Globalization/4.3.0": { "type": "package", "dependencies": { @@ -1097,6 +1774,19 @@ } } }, + "System.IdentityModel.Tokens.Jwt/6.26.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.26.0", + "Microsoft.IdentityModel.Tokens": "6.26.0" + }, + "compile": { + "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {} + }, + "runtime": { + "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {} + } + }, "System.IO/4.3.0": { "type": "package", "dependencies": { @@ -1191,6 +1881,18 @@ "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} } }, + "System.IO.Pipelines/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.IO.Pipelines.dll": {} + }, + "runtime": { + "lib/net6.0/System.IO.Pipelines.dll": {} + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, "System.Linq/4.3.0": { "type": "package", "dependencies": { @@ -1235,6 +1937,15 @@ "lib/netstandard1.6/System.Linq.Expressions.dll": {} } }, + "System.Memory/4.5.4": { + "type": "package", + "compile": { + "ref/netcoreapp2.1/_._": {} + }, + "runtime": { + "lib/netcoreapp2.1/_._": {} + } + }, "System.Net.Http/4.3.0": { "type": "package", "dependencies": { @@ -1305,6 +2016,15 @@ "ref/netstandard1.3/System.Net.Sockets.dll": {} } }, + "System.Net.WebSockets.WebSocketProtocol/4.5.1": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll": {} + }, + "runtime": { + "lib/netcoreapp2.1/System.Net.WebSockets.WebSocketProtocol.dll": {} + } + }, "System.ObjectModel/4.3.0": { "type": "package", "dependencies": { @@ -1344,7 +2064,7 @@ "System.Runtime": "4.3.0" }, "compile": { - "ref/netstandard1.1/_._": {} + "ref/netstandard1.1/System.Reflection.Emit.dll": {} }, "runtime": { "lib/netstandard1.3/System.Reflection.Emit.dll": {} @@ -1358,7 +2078,7 @@ "System.Runtime": "4.3.0" }, "compile": { - "ref/netstandard1.0/_._": {} + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll": {} }, "runtime": { "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} @@ -1538,19 +2258,6 @@ "lib/netstandard1.3/System.Runtime.Numerics.dll": {} } }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "type": "package", - "dependencies": { - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - } - }, "System.Security.Cryptography.Algorithms/4.3.0": { "type": "package", "dependencies": { @@ -1587,30 +2294,16 @@ } } }, - "System.Security.Cryptography.Cng/4.3.0": { + "System.Security.Cryptography.Cng/4.5.0": { "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - }, "compile": { - "ref/netstandard1.6/_._": {} + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll": {} + }, + "runtime": { + "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": {} }, "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Cng.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll": { + "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": { "assetType": "runtime", "rid": "win" } @@ -1768,6 +2461,28 @@ } } }, + "System.Security.Principal.Windows/4.5.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "2.0.0" + }, + "compile": { + "ref/netstandard2.0/System.Security.Principal.Windows.dll": {} + }, + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, "System.Text.Encoding/4.3.0": { "type": "package", "dependencies": { @@ -1791,7 +2506,7 @@ "ref/netstandard1.3/System.Text.Encoding.Extensions.dll": {} } }, - "System.Text.Encodings.Web/7.0.0": { + "System.Text.Encodings.Web/6.0.0": { "type": "package", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" @@ -1803,7 +2518,7 @@ "lib/net6.0/System.Text.Encodings.Web.dll": {} }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/netcoreapp3.1/_._": {} }, "runtimeTargets": { "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": { @@ -1812,11 +2527,11 @@ } } }, - "System.Text.Json/7.0.0": { + "System.Text.Json/6.0.0": { "type": "package", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "7.0.0" + "System.Text.Encodings.Web": "6.0.0" }, "compile": { "lib/net6.0/System.Text.Json.dll": {} @@ -1825,7 +2540,7 @@ "lib/net6.0/System.Text.Json.dll": {} }, "build": { - "buildTransitive/net6.0/System.Text.Json.targets": {} + "buildTransitive/netcoreapp3.1/_._": {} } }, "System.Text.RegularExpressions/4.3.0": { @@ -1853,6 +2568,15 @@ "lib/netstandard1.3/System.Threading.dll": {} } }, + "System.Threading.Channels/4.5.0": { + "type": "package", + "compile": { + "lib/netcoreapp2.1/System.Threading.Channels.dll": {} + }, + "runtime": { + "lib/netcoreapp2.1/System.Threading.Channels.dll": {} + } + }, "System.Threading.Tasks/4.3.0": { "type": "package", "dependencies": { @@ -2021,7 +2745,15 @@ "type": "project", "framework": ".NETCoreApp,Version=v6.0", "dependencies": { - "Haoliang.Models": "1.0.0" + "BCrypt.Net-Next": "4.0.3", + "Haoliang.Data": "1.0.0", + "Haoliang.Models": "1.0.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.SignalR": "1.1.0", + "Microsoft.Extensions.Caching.Memory": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.IdentityModel.Tokens": "6.26.0", + "System.IdentityModel.Tokens.Jwt": "6.26.0" }, "compile": { "bin/placeholder/Haoliang.Core.dll": {} @@ -2034,12 +2766,11 @@ "type": "project", "framework": ".NETCoreApp,Version=v6.0", "dependencies": { - "Haoliang.Core": "1.0.0", "Haoliang.Models": "1.0.0", - "Microsoft.EntityFrameworkCore": "7.0.2", - "Microsoft.EntityFrameworkCore.Design": "7.0.2", - "Microsoft.EntityFrameworkCore.Tools": "7.0.2", - "Pomelo.EntityFrameworkCore.MySql": "7.0.0" + "Microsoft.EntityFrameworkCore": "6.0.0", + "Microsoft.EntityFrameworkCore.Design": "6.0.0", + "Microsoft.EntityFrameworkCore.Tools": "6.0.0", + "Pomelo.EntityFrameworkCore.MySql": "6.0.0" }, "compile": { "bin/placeholder/Haoliang.Data.dll": {} @@ -2061,73 +2792,425 @@ } }, "libraries": { + "BCrypt.Net-Next/4.0.3": { + "sha512": "W+U9WvmZQgi5cX6FS5GDtDoPzUCV4LkBLkywq/kRZhuDwcbavOzcDAr3LXJFqHUi952Yj3LEYoWW0jbEUQChsA==", + "type": "package", + "path": "bcrypt.net-next/4.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "bcrypt.net-next.4.0.3.nupkg.sha512", + "bcrypt.net-next.nuspec", + "ico.png", + "lib/net20/BCrypt.Net-Next.dll", + "lib/net20/BCrypt.Net-Next.xml", + "lib/net35/BCrypt.Net-Next.dll", + "lib/net35/BCrypt.Net-Next.xml", + "lib/net462/BCrypt.Net-Next.dll", + "lib/net462/BCrypt.Net-Next.xml", + "lib/net472/BCrypt.Net-Next.dll", + "lib/net472/BCrypt.Net-Next.xml", + "lib/net48/BCrypt.Net-Next.dll", + "lib/net48/BCrypt.Net-Next.xml", + "lib/net5.0/BCrypt.Net-Next.dll", + "lib/net5.0/BCrypt.Net-Next.xml", + "lib/net6.0/BCrypt.Net-Next.dll", + "lib/net6.0/BCrypt.Net-Next.xml", + "lib/netstandard2.0/BCrypt.Net-Next.dll", + "lib/netstandard2.0/BCrypt.Net-Next.xml", + "lib/netstandard2.1/BCrypt.Net-Next.dll", + "lib/netstandard2.1/BCrypt.Net-Next.xml", + "readme.md" + ] + }, + "Castle.Core/5.1.1": { + "sha512": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==", + "type": "package", + "path": "castle.core/5.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ASL - Apache Software Foundation License.txt", + "CHANGELOG.md", + "LICENSE", + "castle-logo.png", + "castle.core.5.1.1.nupkg.sha512", + "castle.core.nuspec", + "lib/net462/Castle.Core.dll", + "lib/net462/Castle.Core.xml", + "lib/net6.0/Castle.Core.dll", + "lib/net6.0/Castle.Core.xml", + "lib/netstandard2.0/Castle.Core.dll", + "lib/netstandard2.0/Castle.Core.xml", + "lib/netstandard2.1/Castle.Core.dll", + "lib/netstandard2.1/Castle.Core.xml", + "readme.txt" + ] + }, "coverlet.collector/3.1.0": { "sha512": "YzYqSRrjoP5lULBhTDcTOjuM4IDPPi6PhFsl4w8EI4WdZhE6llt7E38Tg4CHyrS+QKwyu1+9OwkdDgluOdoBTw==", "type": "package", - "path": "coverlet.collector/3.1.0", + "path": "coverlet.collector/3.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/netstandard1.0/Microsoft.CSharp.dll", + "build/netstandard1.0/Microsoft.DotNet.PlatformAbstractions.dll", + "build/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "build/netstandard1.0/Microsoft.Extensions.DependencyInjection.dll", + "build/netstandard1.0/Microsoft.Extensions.DependencyModel.dll", + "build/netstandard1.0/Microsoft.Extensions.FileSystemGlobbing.dll", + "build/netstandard1.0/Microsoft.TestPlatform.CoreUtilities.dll", + "build/netstandard1.0/Microsoft.TestPlatform.PlatformAbstractions.dll", + "build/netstandard1.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll", + "build/netstandard1.0/Mono.Cecil.Mdb.dll", + "build/netstandard1.0/Mono.Cecil.Pdb.dll", + "build/netstandard1.0/Mono.Cecil.Rocks.dll", + "build/netstandard1.0/Mono.Cecil.dll", + "build/netstandard1.0/Newtonsoft.Json.dll", + "build/netstandard1.0/NuGet.Frameworks.dll", + "build/netstandard1.0/System.AppContext.dll", + "build/netstandard1.0/System.Collections.Immutable.dll", + "build/netstandard1.0/System.Dynamic.Runtime.dll", + "build/netstandard1.0/System.IO.FileSystem.Primitives.dll", + "build/netstandard1.0/System.Linq.Expressions.dll", + "build/netstandard1.0/System.Linq.dll", + "build/netstandard1.0/System.ObjectModel.dll", + "build/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", + "build/netstandard1.0/System.Reflection.Emit.Lightweight.dll", + "build/netstandard1.0/System.Reflection.Emit.dll", + "build/netstandard1.0/System.Reflection.Metadata.dll", + "build/netstandard1.0/System.Reflection.TypeExtensions.dll", + "build/netstandard1.0/System.Runtime.Serialization.Primitives.dll", + "build/netstandard1.0/System.Text.RegularExpressions.dll", + "build/netstandard1.0/System.Threading.Tasks.Extensions.dll", + "build/netstandard1.0/System.Threading.dll", + "build/netstandard1.0/System.Xml.ReaderWriter.dll", + "build/netstandard1.0/System.Xml.XDocument.dll", + "build/netstandard1.0/coverlet.collector.deps.json", + "build/netstandard1.0/coverlet.collector.dll", + "build/netstandard1.0/coverlet.collector.pdb", + "build/netstandard1.0/coverlet.collector.targets", + "build/netstandard1.0/coverlet.core.dll", + "build/netstandard1.0/coverlet.core.pdb", + "coverlet-icon.png", + "coverlet.collector.3.1.0.nupkg.sha512", + "coverlet.collector.nuspec" + ] + }, + "Humanizer.Core/2.8.26": { + "sha512": "OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", + "type": "package", + "path": "humanizer.core/2.8.26", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "humanizer.core.2.8.26.nupkg.sha512", + "humanizer.core.nuspec", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" + ] + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "sha512": "VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==", + "type": "package", + "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.xml", + "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authentication.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "sha512": "/L0W8H3jMYWyaeA9gBJqS/tSWBegP9aaTM0mjRhxTttBY9z4RVDRYJ2CwPAmAXIuPr3r1sOw+CS8jFVRGHRezQ==", + "type": "package", + "path": "microsoft.aspnetcore.authorization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml", + "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "sha512": "aJCo6niDRKuNg2uS2WMEmhJTooQUGARhV2ENQ2tO5443zVHUo19MSgrgGo9FIrfD+4yKPF8Q+FF33WkWfPbyKw==", + "type": "package", + "path": "microsoft.aspnetcore.authorization.policy/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.xml", + "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.policy.nuspec" + ] + }, + "Microsoft.AspNetCore.Connections.Abstractions/2.2.0": { + "sha512": "Aqr/16Cu5XmGv7mLKJvXRxhhd05UJ7cTTSaUV4MZ3ynAzfgWjsAdpIU8FWuxwAjmVdmI8oOWuVDrbs+sRkhKnA==", + "type": "package", + "path": "microsoft.aspnetcore.connections.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.xml", + "microsoft.aspnetcore.connections.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.connections.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "sha512": "ubycklv+ZY7Kutdwuy1W4upWcZ6VFR8WUXU7l7B2+mvbDBBPAcfpi+E+Y5GFe+Q157YfA3C49D2GCjAZc7Mobw==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.xml", + "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "sha512": "1PMijw8RMtuQF60SsD/JlKtVfvh4NORAhF4wjysdABhlhTrYmtgssqyncR0Stq5vqtjplZcj6kbT4LRTglt9IQ==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml", + "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.server.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "sha512": "YogBSMotWPAS/X5967pZ+yyWPQkThxhmzAwyCHCSSldzYBkW5W5d6oPfBaPqQOnSHYTpSOSOkpZoAce0vwb6+A==", + "type": "package", + "path": "microsoft.aspnetcore.http/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.xml", + "microsoft.aspnetcore.http.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "sha512": "Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==", + "type": "package", + "path": "microsoft.aspnetcore.http.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.xml", + "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Connections/1.1.0": { + "sha512": "ZcwAM9rE5yjGC+vtiNAK0INybpKIqnvB+/rntZn2/CPtyiBAtovVrEp4UZOoC31zH5t0P78ix9gLNJzII/ODsA==", + "type": "package", + "path": "microsoft.aspnetcore.http.connections/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Http.Connections.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.xml", + "microsoft.aspnetcore.http.connections.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.http.connections.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Connections.Common/1.1.0": { + "sha512": "mYk5QUUjyXQmlyDHWDjkLYDArt97plwe6KsDsNVhDEQ+HgZMKGjISyM6YSA7BERQNR25kXBTbIYfSy1vePGQgg==", + "type": "package", + "path": "microsoft.aspnetcore.http.connections.common/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.xml", + "microsoft.aspnetcore.http.connections.common.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.http.connections.common.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "sha512": "2DgZ9rWrJtuR7RYiew01nGRzuQBDaGHGmK56Rk54vsLLsCdzuFUPqbDTJCS1qJQWTbmbIQ9wGIOjpxA1t0l7/w==", + "type": "package", + "path": "microsoft.aspnetcore.http.extensions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.xml", + "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.extensions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "sha512": "ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==", + "type": "package", + "path": "microsoft.aspnetcore.http.features/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.xml", + "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.features.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Testing/6.0.0": { + "sha512": "5knNtILnJNAc0z9vAEgQ9ykxWsjWlRWys3YWDOIpKVn9Rku2Z217sztp5Ei8VOieBkpti6iN3CIPU8Ss+tun0w==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.testing/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "build/net6.0/Microsoft.AspNetCore.Mvc.Testing.targets", + "buildTransitive/net6.0/Microsoft.AspNetCore.Mvc.Testing.targets", + "lib/net6.0/Microsoft.AspNetCore.Mvc.Testing.dll", + "lib/net6.0/Microsoft.AspNetCore.Mvc.Testing.xml", + "microsoft.aspnetcore.mvc.testing.6.0.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.testing.nuspec", + "tasks/netstandard2.0/Microsoft.AspNetCore.Mvc.Testing.Tasks.dll" + ] + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "sha512": "jAhDBy0wryOnMhhZTtT9z63gJbvCzFuLm8yC6pHzuVu9ZD1dzg0ltxIwT4cfwuNkIL/TixdKsm3vpVOpG8euWQ==", + "type": "package", + "path": "microsoft.aspnetcore.routing/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.xml", + "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.nuspec" + ] + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "sha512": "lRRaPN7jDlUCVCp9i0W+PB0trFaKB0bgMJD7hEJS9Uo4R9MXaMC8X2tJhPLmeVE3SGDdYI4QNKdVmhNvMJGgPQ==", + "type": "package", + "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.xml", + "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR/1.1.0": { + "sha512": "V5X5XkeAHaFyyBOGPrddVeqTNo6zRPJNS5PRhlzEyBXiNG9AtqUbMyWFdZahQyMiIWJau550z59A4kdC9g5I9A==", + "type": "package", + "path": "microsoft.aspnetcore.signalr/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.xml", + "microsoft.aspnetcore.signalr.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Common/1.1.0": { + "sha512": "TyLgQ4y4RVUIxiYFnHT181/rJ33/tL/NcBWC9BwLpulDt5/yGCG4EvsToZ49EBQ7256zj+R6OGw6JF+jj6MdPQ==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.common/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.SignalR.Common.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.xml", + "microsoft.aspnetcore.signalr.common.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.common.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Core/1.1.0": { + "sha512": "mk69z50oFk2e89d3F/AfKeAvP3kvGG7MHG4ErydZiUd3ncSRq0kl0czq/COn/QVKYua9yGr2LIDwuR1C6/pu8Q==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.core/1.1.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "build/netstandard1.0/Microsoft.CSharp.dll", - "build/netstandard1.0/Microsoft.DotNet.PlatformAbstractions.dll", - "build/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "build/netstandard1.0/Microsoft.Extensions.DependencyInjection.dll", - "build/netstandard1.0/Microsoft.Extensions.DependencyModel.dll", - "build/netstandard1.0/Microsoft.Extensions.FileSystemGlobbing.dll", - "build/netstandard1.0/Microsoft.TestPlatform.CoreUtilities.dll", - "build/netstandard1.0/Microsoft.TestPlatform.PlatformAbstractions.dll", - "build/netstandard1.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll", - "build/netstandard1.0/Mono.Cecil.Mdb.dll", - "build/netstandard1.0/Mono.Cecil.Pdb.dll", - "build/netstandard1.0/Mono.Cecil.Rocks.dll", - "build/netstandard1.0/Mono.Cecil.dll", - "build/netstandard1.0/Newtonsoft.Json.dll", - "build/netstandard1.0/NuGet.Frameworks.dll", - "build/netstandard1.0/System.AppContext.dll", - "build/netstandard1.0/System.Collections.Immutable.dll", - "build/netstandard1.0/System.Dynamic.Runtime.dll", - "build/netstandard1.0/System.IO.FileSystem.Primitives.dll", - "build/netstandard1.0/System.Linq.Expressions.dll", - "build/netstandard1.0/System.Linq.dll", - "build/netstandard1.0/System.ObjectModel.dll", - "build/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", - "build/netstandard1.0/System.Reflection.Emit.Lightweight.dll", - "build/netstandard1.0/System.Reflection.Emit.dll", - "build/netstandard1.0/System.Reflection.Metadata.dll", - "build/netstandard1.0/System.Reflection.TypeExtensions.dll", - "build/netstandard1.0/System.Runtime.Serialization.Primitives.dll", - "build/netstandard1.0/System.Text.RegularExpressions.dll", - "build/netstandard1.0/System.Threading.Tasks.Extensions.dll", - "build/netstandard1.0/System.Threading.dll", - "build/netstandard1.0/System.Xml.ReaderWriter.dll", - "build/netstandard1.0/System.Xml.XDocument.dll", - "build/netstandard1.0/coverlet.collector.deps.json", - "build/netstandard1.0/coverlet.collector.dll", - "build/netstandard1.0/coverlet.collector.pdb", - "build/netstandard1.0/coverlet.collector.targets", - "build/netstandard1.0/coverlet.core.dll", - "build/netstandard1.0/coverlet.core.pdb", - "coverlet-icon.png", - "coverlet.collector.3.1.0.nupkg.sha512", - "coverlet.collector.nuspec" + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Core.xml", + "microsoft.aspnetcore.signalr.core.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.core.nuspec" ] }, - "Humanizer.Core/2.14.1": { - "sha512": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "Microsoft.AspNetCore.SignalR.Protocols.Json/1.1.0": { + "sha512": "BOsjatDJnvnnXCMajOlC0ISmiFnJi/EyJzMo0i//5fZJVCLrQ4fyV/HzrhhAhSJuwJOQDdDozKQ9MB9jHq84pg==", "type": "package", - "path": "humanizer.core/2.14.1", + "path": "microsoft.aspnetcore.signalr.protocols.json/1.1.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "humanizer.core.2.14.1.nupkg.sha512", - "humanizer.core.nuspec", - "lib/net6.0/Humanizer.dll", - "lib/net6.0/Humanizer.xml", - "lib/netstandard1.0/Humanizer.dll", - "lib/netstandard1.0/Humanizer.xml", - "lib/netstandard2.0/Humanizer.dll", - "lib/netstandard2.0/Humanizer.xml", - "logo.png" + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.xml", + "microsoft.aspnetcore.signalr.protocols.json.1.1.0.nupkg.sha512", + "microsoft.aspnetcore.signalr.protocols.json.nuspec" + ] + }, + "Microsoft.AspNetCore.TestHost/6.0.0": { + "sha512": "2DuXITuWi68rSU5Gpg4QO3qec3pT5z/VrarGCm9ORROiZ9jdYvPpTukKWVVoAkD+oD8uQloLJod8GL47PvD33A==", + "type": "package", + "path": "microsoft.aspnetcore.testhost/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net6.0/Microsoft.AspNetCore.TestHost.dll", + "lib/net6.0/Microsoft.AspNetCore.TestHost.xml", + "microsoft.aspnetcore.testhost.6.0.0.nupkg.sha512", + "microsoft.aspnetcore.testhost.nuspec" + ] + }, + "Microsoft.AspNetCore.WebSockets/2.2.0": { + "sha512": "ZpOcg2V0rCwU9ErfDb9y3Hcjoe7rU42XlmUS0mO4pVZQSgJVqR+DfyZtYd5LDa11F7bFNS2eezI9cBM3CmfGhw==", + "type": "package", + "path": "microsoft.aspnetcore.websockets/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.WebSockets.xml", + "microsoft.aspnetcore.websockets.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.websockets.nuspec" + ] + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "sha512": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", + "type": "package", + "path": "microsoft.aspnetcore.webutilities/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.xml", + "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.webutilities.nuspec" ] }, "Microsoft.CodeCoverage/16.11.0": { @@ -2196,21 +3279,24 @@ "microsoft.codecoverage.nuspec" ] }, - "Microsoft.CSharp/4.0.1": { - "sha512": "17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", + "Microsoft.CSharp/4.5.0": { + "sha512": "kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", "type": "package", - "path": "microsoft.csharp/4.0.1", + "path": "microsoft.csharp/4.5.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", "lib/netcore50/Microsoft.CSharp.dll", + "lib/netcoreapp2.0/_._", "lib/netstandard1.3/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.dll", "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/uap10.0.16299/_._", "lib/win8/_._", "lib/wp80/_._", "lib/wpa81/_._", @@ -2218,7 +3304,7 @@ "lib/xamarinmac20/_._", "lib/xamarintvos10/_._", "lib/xamarinwatchos10/_._", - "microsoft.csharp.4.0.1.nupkg.sha512", + "microsoft.csharp.4.5.0.nupkg.sha512", "microsoft.csharp.nuspec", "ref/MonoAndroid10/_._", "ref/MonoTouch10/_._", @@ -2234,6 +3320,7 @@ "ref/netcore50/ru/Microsoft.CSharp.xml", "ref/netcore50/zh-hans/Microsoft.CSharp.xml", "ref/netcore50/zh-hant/Microsoft.CSharp.xml", + "ref/netcoreapp2.0/_._", "ref/netstandard1.0/Microsoft.CSharp.dll", "ref/netstandard1.0/Microsoft.CSharp.xml", "ref/netstandard1.0/de/Microsoft.CSharp.xml", @@ -2245,20 +3332,25 @@ "ref/netstandard1.0/ru/Microsoft.CSharp.xml", "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", + "ref/netstandard2.0/Microsoft.CSharp.dll", + "ref/netstandard2.0/Microsoft.CSharp.xml", "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/uap10.0.16299/_._", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", "ref/xamarinmac20/_._", "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" + "ref/xamarinwatchos10/_._", + "useSharedDesignerContext.txt", + "version.txt" ] }, - "Microsoft.EntityFrameworkCore/7.0.2": { - "sha512": "5QEspjTHk/cgM98AaB12mDXF7jlInlYhG0gxS6X8ZJ2rzmyIAsvYNEwoOUifd/gt5v5HblYClYfZ9YYIEjSkew==", + "Microsoft.EntityFrameworkCore/6.0.32": { + "sha512": "g3kACXbTWZx4Oy7e3+8eWTe1658p6GeTgzjW9xCsItZWr8KHUcpBdP4hSn1eOHVAEFS/GUaswRokk0+sFFTAgQ==", "type": "package", - "path": "microsoft.entityframeworkcore/7.0.2", + "path": "microsoft.entityframeworkcore/6.0.32", "files": [ ".nupkg.metadata", ".signature.p7s", @@ -2266,42 +3358,42 @@ "buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props", "lib/net6.0/Microsoft.EntityFrameworkCore.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.xml", - "microsoft.entityframeworkcore.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.6.0.32.nupkg.sha512", "microsoft.entityframeworkcore.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Abstractions/7.0.2": { - "sha512": "nszewdtuQAk2DbhNnGssRCYVxyBhm0DZHJobU8Bc4RGPuybraCv/lovFWPUeZlTT3bQndyV8Ko2NHKSc4qsKCg==", + "Microsoft.EntityFrameworkCore.Abstractions/6.0.32": { + "sha512": "rkvYDFH414rr4x8yGwPqHhws+52+uJqEWod+AmpjR9iiSS1lp8i4pJ9NOQGlttMHb2sJvL5Gt/YSqk0ptDVXzA==", "type": "package", - "path": "microsoft.entityframeworkcore.abstractions/7.0.2", + "path": "microsoft.entityframeworkcore.abstractions/6.0.32", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", - "microsoft.entityframeworkcore.abstractions.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.6.0.32.nupkg.sha512", "microsoft.entityframeworkcore.abstractions.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Analyzers/7.0.2": { - "sha512": "75dDCNXzoQFM86Mk/iY7lQ+XHb2DbpAh53hbAJUlxkL3XUVoCq6rWgO4y1EX7DdyKMF61dsdEKlF4/bmpi4urA==", + "Microsoft.EntityFrameworkCore.Analyzers/6.0.32": { + "sha512": "pOlf6xYC6MUbcDEZ019GeRBgWl4P7w9zXI12ZRYmWjsdlA/VHTKzlnRr21LlHpZNvj/0JEPzXTds399GfDESGg==", "type": "package", - "path": "microsoft.entityframeworkcore.analyzers/7.0.2", + "path": "microsoft.entityframeworkcore.analyzers/6.0.32", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", "lib/netstandard2.0/_._", - "microsoft.entityframeworkcore.analyzers.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.6.0.32.nupkg.sha512", "microsoft.entityframeworkcore.analyzers.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Design/7.0.2": { - "sha512": "gUUucCoJci8BBxOcU/XuuldUZpCo5Od8lwFEzZ5WywnvDfSmARnXNe97BpjL+JiBhSrnuTxW/wCJjWqPonXXHQ==", + "Microsoft.EntityFrameworkCore.Design/6.0.0": { + "sha512": "RFdomymyuPNffl+VPk7osdxCJQ0xlGuxr28ifdfFFNUaMK0OYiJOjr6w9z3kscOM2p2gdPWNI1IFUXllEyphow==", "type": "package", - "path": "microsoft.entityframeworkcore.design/7.0.2", + "path": "microsoft.entityframeworkcore.design/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", @@ -2309,7 +3401,7 @@ "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", - "microsoft.entityframeworkcore.design.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.design.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.design.nuspec" ] }, @@ -2327,31 +3419,31 @@ "microsoft.entityframeworkcore.inmemory.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Relational/7.0.2": { - "sha512": "TbTGOdaGtjps3GP7rLWXEXzmP+EXhV8AwPE/ov0QYhs5i5vKZX5ZpVLMnco2MeMtiPgLyxE7DhQT8s1wlu190g==", + "Microsoft.EntityFrameworkCore.Relational/6.0.0": { + "sha512": "rTRzrSbkUXoCGijlT9O7oq7JfuaU1/+VFyfSBjADQuOsfa0FCrWeB8ybue5CDvO/D6uW0kvPvlKfY2kwxXOOdg==", "type": "package", - "path": "microsoft.entityframeworkcore.relational/7.0.2", + "path": "microsoft.entityframeworkcore.relational/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", - "microsoft.entityframeworkcore.relational.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.relational.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.relational.nuspec" ] }, - "Microsoft.EntityFrameworkCore.Tools/7.0.2": { - "sha512": "0Jx9feeGsUUlI+PEFkADyfQrGU+UIYh9N1I8ZO6X5bjYSKL2V1empkGTupvfrI7S9h4uA7aY8GQpjkCmIep7dg==", + "Microsoft.EntityFrameworkCore.Tools/6.0.0": { + "sha512": "m9e6nFnkyRdKcrTFO8rl3ZihCIKrYdECw+fHZVbKz6TBMwKhih/N0sjPnNt0k7sZPvI8izKPkh1d+z4OR2qgXQ==", "type": "package", - "path": "microsoft.entityframeworkcore.tools/7.0.2", + "path": "microsoft.entityframeworkcore.tools/6.0.0", "hasTools": true, "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "lib/net6.0/_._", - "microsoft.entityframeworkcore.tools.7.0.2.nupkg.sha512", + "microsoft.entityframeworkcore.tools.6.0.0.nupkg.sha512", "microsoft.entityframeworkcore.tools.nuspec", "tools/EntityFrameworkCore.PS2.psd1", "tools/EntityFrameworkCore.PS2.psm1", @@ -2360,212 +3452,414 @@ "tools/about_EntityFrameworkCore.help.txt", "tools/init.ps1", "tools/net461/any/ef.exe", - "tools/net461/win-arm64/ef.exe", "tools/net461/win-x86/ef.exe", "tools/netcoreapp2.0/any/ef.dll", "tools/netcoreapp2.0/any/ef.runtimeconfig.json" ] }, - "Microsoft.Extensions.Caching.Abstractions/7.0.0": { - "sha512": "IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==", + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "sha512": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", "type": "package", - "path": "microsoft.extensions.caching.abstractions/7.0.0", + "path": "microsoft.extensions.caching.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", - "microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.caching.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Caching.Memory/7.0.0": { - "sha512": "xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==", + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "sha512": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", "type": "package", - "path": "microsoft.extensions.caching.memory/7.0.0", + "path": "microsoft.extensions.caching.memory/6.0.1", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", - "lib/net462/Microsoft.Extensions.Caching.Memory.dll", - "lib/net462/Microsoft.Extensions.Caching.Memory.xml", - "lib/net6.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net6.0/Microsoft.Extensions.Caching.Memory.xml", - "lib/net7.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net7.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net461/Microsoft.Extensions.Caching.Memory.dll", + "lib/net461/Microsoft.Extensions.Caching.Memory.xml", "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", - "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", + "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", "microsoft.extensions.caching.memory.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Configuration.Abstractions/7.0.0": { - "sha512": "f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==", + "Microsoft.Extensions.Configuration/6.0.0": { + "sha512": "tq2wXyh3fL17EMF2bXgRhU7JrbO3on93MRKYxzz4JzzvuGSA1l0W3GI9/tl8EO89TH+KWEymP7bcFway6z9fXg==", + "type": "package", + "path": "microsoft.extensions.configuration/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.dll", + "lib/net461/Microsoft.Extensions.Configuration.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml", + "microsoft.extensions.configuration.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "sha512": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", "type": "package", - "path": "microsoft.extensions.configuration.abstractions/7.0.0", + "path": "microsoft.extensions.configuration.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.configuration.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyInjection/7.0.0": { - "sha512": "elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==", + "Microsoft.Extensions.Configuration.Binder/6.0.0": { + "sha512": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "type": "package", + "path": "microsoft.extensions.configuration.binder/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.Binder.dll", + "lib/net461/Microsoft.Extensions.Configuration.Binder.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml", + "microsoft.extensions.configuration.binder.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.binder.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.CommandLine/6.0.0": { + "sha512": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "type": "package", + "path": "microsoft.extensions.configuration.commandline/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.CommandLine.dll", + "lib/net461/Microsoft.Extensions.Configuration.CommandLine.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.xml", + "microsoft.extensions.configuration.commandline.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.commandline.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.0": { + "sha512": "DjYkzqvhiHCq38LW71PcIxXk6nhtV6VySP9yDcSO0goPl7YCU1VG1f2Wbgy58lkA10pWkjHCblZPUyboCB93ZA==", + "type": "package", + "path": "microsoft.extensions.configuration.environmentvariables/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", + "lib/net461/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", + "microsoft.extensions.configuration.environmentvariables.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.environmentvariables.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.FileExtensions/6.0.0": { + "sha512": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "type": "package", + "path": "microsoft.extensions.configuration.fileextensions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.FileExtensions.dll", + "lib/net461/Microsoft.Extensions.Configuration.FileExtensions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml", + "microsoft.extensions.configuration.fileextensions.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.fileextensions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Json/6.0.0": { + "sha512": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "type": "package", + "path": "microsoft.extensions.configuration.json/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.Json.dll", + "lib/net461/Microsoft.Extensions.Configuration.Json.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml", + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll", + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml", + "microsoft.extensions.configuration.json.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.json.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.UserSecrets/6.0.0": { + "sha512": "lB0Hb2V4+RUHy+LjEcqEr4EcV4RWc9EnjAV2GdtWQEdljQX+R4hGREftI7sInU9okP93pDrJiaj6QUJ6ZsslOA==", + "type": "package", + "path": "microsoft.extensions.configuration.usersecrets/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "build/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.props", + "build/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.targets", + "lib/net461/Microsoft.Extensions.Configuration.UserSecrets.dll", + "lib/net461/Microsoft.Extensions.Configuration.UserSecrets.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.xml", + "microsoft.extensions.configuration.usersecrets.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.usersecrets.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/6.0.1": { + "sha512": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", "type": "package", - "path": "microsoft.extensions.dependencyinjection/7.0.0", + "path": "microsoft.extensions.dependencyinjection/6.0.1", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.xml", "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", - "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.6.0.1.nupkg.sha512", "microsoft.extensions.dependencyinjection.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { - "sha512": "h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==", + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "sha512": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", "type": "package", - "path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.dependencyinjection.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyModel/7.0.0": { - "sha512": "oONNYd71J3LzkWc4fUHl3SvMfiQMYUCo/mDHDEu76hYYxdhdrPYv6fvGv9nnKVyhE9P0h20AU8RZB5OOWQcAXg==", + "Microsoft.Extensions.DependencyModel/6.0.0": { + "sha512": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", "type": "package", - "path": "microsoft.extensions.dependencymodel/7.0.0", + "path": "microsoft.extensions.dependencymodel/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", - "README.md", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", - "lib/net462/Microsoft.Extensions.DependencyModel.dll", - "lib/net462/Microsoft.Extensions.DependencyModel.xml", - "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", - "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net461/Microsoft.Extensions.DependencyModel.dll", + "lib/net461/Microsoft.Extensions.DependencyModel.xml", "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", - "microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512", "microsoft.extensions.dependencymodel.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Logging/7.0.0": { - "sha512": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==", + "Microsoft.Extensions.FileProviders.Abstractions/6.0.0": { + "sha512": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "type": "package", + "path": "microsoft.extensions.fileproviders.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/net461/Microsoft.Extensions.FileProviders.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml", + "microsoft.extensions.fileproviders.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.fileproviders.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.FileProviders.Physical/6.0.0": { + "sha512": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "type": "package", + "path": "microsoft.extensions.fileproviders.physical/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Physical.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.FileProviders.Physical.dll", + "lib/net461/Microsoft.Extensions.FileProviders.Physical.xml", + "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.dll", + "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.xml", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.xml", + "microsoft.extensions.fileproviders.physical.6.0.0.nupkg.sha512", + "microsoft.extensions.fileproviders.physical.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.FileSystemGlobbing/6.0.0": { + "sha512": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==", + "type": "package", + "path": "microsoft.extensions.filesystemglobbing/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileSystemGlobbing.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.FileSystemGlobbing.dll", + "lib/net461/Microsoft.Extensions.FileSystemGlobbing.xml", + "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll", + "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.xml", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml", + "microsoft.extensions.filesystemglobbing.6.0.0.nupkg.sha512", + "microsoft.extensions.filesystemglobbing.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Hosting/6.0.0": { + "sha512": "M8VzD0ni5VarIRT8njnwK4K2WSAo0kZH4Zc3mKcSGkP4CjDZ91T9ZEFmmwhmo4z7x8AFq+tW0WFi9wX+K2cxkQ==", + "type": "package", + "path": "microsoft.extensions.hosting/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Hosting.dll", + "lib/net461/Microsoft.Extensions.Hosting.xml", + "lib/net6.0/Microsoft.Extensions.Hosting.dll", + "lib/net6.0/Microsoft.Extensions.Hosting.xml", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.dll", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.xml", + "lib/netstandard2.1/Microsoft.Extensions.Hosting.dll", + "lib/netstandard2.1/Microsoft.Extensions.Hosting.xml", + "microsoft.extensions.hosting.6.0.0.nupkg.sha512", + "microsoft.extensions.hosting.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Hosting.Abstractions/6.0.0": { + "sha512": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "type": "package", + "path": "microsoft.extensions.hosting.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Hosting.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Hosting.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.xml", + "microsoft.extensions.hosting.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.hosting.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/6.0.0": { + "sha512": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", "type": "package", - "path": "microsoft.extensions.logging/7.0.0", + "path": "microsoft.extensions.logging/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", - "lib/net462/Microsoft.Extensions.Logging.dll", - "lib/net462/Microsoft.Extensions.Logging.xml", - "lib/net6.0/Microsoft.Extensions.Logging.dll", - "lib/net6.0/Microsoft.Extensions.Logging.xml", - "lib/net7.0/Microsoft.Extensions.Logging.dll", - "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/net461/Microsoft.Extensions.Logging.dll", + "lib/net461/Microsoft.Extensions.Logging.xml", "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", - "microsoft.extensions.logging.7.0.0.nupkg.sha512", + "microsoft.extensions.logging.6.0.0.nupkg.sha512", "microsoft.extensions.logging.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Logging.Abstractions/7.0.0": { - "sha512": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==", + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "sha512": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", "type": "package", - "path": "microsoft.extensions.logging.abstractions/7.0.0", + "path": "microsoft.extensions.logging.abstractions/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", @@ -2600,94 +3894,302 @@ "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", + "build/Microsoft.Extensions.Logging.Abstractions.targets", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.xml", "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", "microsoft.extensions.logging.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Options/7.0.0": { - "sha512": "lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==", + "Microsoft.Extensions.Logging.Configuration/6.0.0": { + "sha512": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "type": "package", + "path": "microsoft.extensions.logging.configuration/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.Configuration.dll", + "lib/net461/Microsoft.Extensions.Logging.Configuration.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml", + "microsoft.extensions.logging.configuration.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.configuration.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Console/6.0.0": { + "sha512": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "type": "package", + "path": "microsoft.extensions.logging.console/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Console.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Logging.Console.dll", + "lib/net461/Microsoft.Extensions.Logging.Console.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Console.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Console.xml", + "lib/netcoreapp3.1/Microsoft.Extensions.Logging.Console.dll", + "lib/netcoreapp3.1/Microsoft.Extensions.Logging.Console.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml", + "microsoft.extensions.logging.console.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.console.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Debug/6.0.0": { + "sha512": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "type": "package", + "path": "microsoft.extensions.logging.debug/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.Debug.dll", + "lib/net461/Microsoft.Extensions.Logging.Debug.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.xml", + "microsoft.extensions.logging.debug.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.debug.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.EventLog/6.0.0": { + "sha512": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "type": "package", + "path": "microsoft.extensions.logging.eventlog/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.EventLog.dll", + "lib/net461/Microsoft.Extensions.Logging.EventLog.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.xml", + "microsoft.extensions.logging.eventlog.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.eventlog.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.EventSource/6.0.0": { + "sha512": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "type": "package", + "path": "microsoft.extensions.logging.eventsource/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventSource.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Logging.EventSource.dll", + "lib/net461/Microsoft.Extensions.Logging.EventSource.xml", + "lib/net6.0/Microsoft.Extensions.Logging.EventSource.dll", + "lib/net6.0/Microsoft.Extensions.Logging.EventSource.xml", + "lib/netcoreapp3.1/Microsoft.Extensions.Logging.EventSource.dll", + "lib/netcoreapp3.1/Microsoft.Extensions.Logging.EventSource.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.EventSource.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.EventSource.xml", + "microsoft.extensions.logging.eventsource.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.eventsource.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "sha512": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==", + "type": "package", + "path": "microsoft.extensions.objectpool/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.xml", + "microsoft.extensions.objectpool.2.2.0.nupkg.sha512", + "microsoft.extensions.objectpool.nuspec" + ] + }, + "Microsoft.Extensions.Options/6.0.0": { + "sha512": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", "type": "package", - "path": "microsoft.extensions.options/7.0.0", + "path": "microsoft.extensions.options/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Options.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", - "lib/net462/Microsoft.Extensions.Options.dll", - "lib/net462/Microsoft.Extensions.Options.xml", - "lib/net6.0/Microsoft.Extensions.Options.dll", - "lib/net6.0/Microsoft.Extensions.Options.xml", - "lib/net7.0/Microsoft.Extensions.Options.dll", - "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net461/Microsoft.Extensions.Options.dll", + "lib/net461/Microsoft.Extensions.Options.xml", "lib/netstandard2.0/Microsoft.Extensions.Options.dll", "lib/netstandard2.0/Microsoft.Extensions.Options.xml", "lib/netstandard2.1/Microsoft.Extensions.Options.dll", "lib/netstandard2.1/Microsoft.Extensions.Options.xml", - "microsoft.extensions.options.7.0.0.nupkg.sha512", + "microsoft.extensions.options.6.0.0.nupkg.sha512", "microsoft.extensions.options.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Primitives/7.0.0": { - "sha512": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==", + "Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0": { + "sha512": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "type": "package", + "path": "microsoft.extensions.options.configurationextensions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Options.ConfigurationExtensions.dll", + "lib/net461/Microsoft.Extensions.Options.ConfigurationExtensions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml", + "microsoft.extensions.options.configurationextensions.6.0.0.nupkg.sha512", + "microsoft.extensions.options.configurationextensions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "sha512": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", "type": "package", - "path": "microsoft.extensions.primitives/7.0.0", + "path": "microsoft.extensions.primitives/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", - "lib/net462/Microsoft.Extensions.Primitives.dll", - "lib/net462/Microsoft.Extensions.Primitives.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Primitives.dll", + "lib/net461/Microsoft.Extensions.Primitives.xml", "lib/net6.0/Microsoft.Extensions.Primitives.dll", "lib/net6.0/Microsoft.Extensions.Primitives.xml", - "lib/net7.0/Microsoft.Extensions.Primitives.dll", - "lib/net7.0/Microsoft.Extensions.Primitives.xml", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.xml", "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", - "microsoft.extensions.primitives.7.0.0.nupkg.sha512", + "microsoft.extensions.primitives.6.0.0.nupkg.sha512", "microsoft.extensions.primitives.nuspec", "useSharedDesignerContext.txt" ] }, + "Microsoft.IdentityModel.Abstractions/6.26.0": { + "sha512": "NHEnDBvLYqP81YWqKk1pJt0qSUmqobvFsRL/SR/H6x1jmQh2D1EcuHHhmfIzDnzaOlQJL9GeBDHykqHp0JGNCw==", + "type": "package", + "path": "microsoft.identitymodel.abstractions/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Abstractions.dll", + "lib/net45/Microsoft.IdentityModel.Abstractions.xml", + "lib/net461/Microsoft.IdentityModel.Abstractions.dll", + "lib/net461/Microsoft.IdentityModel.Abstractions.xml", + "lib/net472/Microsoft.IdentityModel.Abstractions.dll", + "lib/net472/Microsoft.IdentityModel.Abstractions.xml", + "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll", + "lib/net6.0/Microsoft.IdentityModel.Abstractions.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml", + "microsoft.identitymodel.abstractions.6.26.0.nupkg.sha512", + "microsoft.identitymodel.abstractions.nuspec" + ] + }, + "Microsoft.IdentityModel.JsonWebTokens/6.26.0": { + "sha512": "5S993Y51C6p3pQGcvJvUU4Bxq5H5tXGyAzvmXXZkELv8pSWVgbgVsQakGupjx6WLFRN+Y6clp9chVytynWYn5A==", + "type": "package", + "path": "microsoft.identitymodel.jsonwebtokens/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net45/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/net461/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/net472/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml", + "microsoft.identitymodel.jsonwebtokens.6.26.0.nupkg.sha512", + "microsoft.identitymodel.jsonwebtokens.nuspec" + ] + }, + "Microsoft.IdentityModel.Logging/6.26.0": { + "sha512": "Svec5ltH4zz5ylAmFiHrUETLalw3d8siPbQ7+0H9GNGbZrVf5u7TaHpmDuJyb3EUiITfisD3vM83spsO/l1igA==", + "type": "package", + "path": "microsoft.identitymodel.logging/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Logging.dll", + "lib/net45/Microsoft.IdentityModel.Logging.xml", + "lib/net461/Microsoft.IdentityModel.Logging.dll", + "lib/net461/Microsoft.IdentityModel.Logging.xml", + "lib/net472/Microsoft.IdentityModel.Logging.dll", + "lib/net472/Microsoft.IdentityModel.Logging.xml", + "lib/net6.0/Microsoft.IdentityModel.Logging.dll", + "lib/net6.0/Microsoft.IdentityModel.Logging.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml", + "microsoft.identitymodel.logging.6.26.0.nupkg.sha512", + "microsoft.identitymodel.logging.nuspec" + ] + }, + "Microsoft.IdentityModel.Tokens/6.26.0": { + "sha512": "mFNbROC89eap6GTqoYcInCiYsaV8sLxPsgCurQnJDcJoLBk7XoAJpBJae6rkj2VEzWqfErd4jlzaqqRI7wjGOQ==", + "type": "package", + "path": "microsoft.identitymodel.tokens/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Tokens.dll", + "lib/net45/Microsoft.IdentityModel.Tokens.xml", + "lib/net461/Microsoft.IdentityModel.Tokens.dll", + "lib/net461/Microsoft.IdentityModel.Tokens.xml", + "lib/net472/Microsoft.IdentityModel.Tokens.dll", + "lib/net472/Microsoft.IdentityModel.Tokens.xml", + "lib/net6.0/Microsoft.IdentityModel.Tokens.dll", + "lib/net6.0/Microsoft.IdentityModel.Tokens.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml", + "microsoft.identitymodel.tokens.6.26.0.nupkg.sha512", + "microsoft.identitymodel.tokens.nuspec" + ] + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "sha512": "iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==", + "type": "package", + "path": "microsoft.net.http.headers/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.xml", + "microsoft.net.http.headers.2.2.0.nupkg.sha512", + "microsoft.net.http.headers.nuspec" + ] + }, "Microsoft.NET.Test.Sdk/16.11.0": { "sha512": "f4mbG1SUSkNWF5p7B3Y8ZxMsvKhxCmpZhdl+w6tMtLSUGE7Izi1syU6TkmKOvB2BV66pdbENConFAISOix4ohQ==", "type": "package", @@ -2722,19 +4224,21 @@ "microsoft.net.test.sdk.nuspec" ] }, - "Microsoft.NETCore.Platforms/1.1.0": { - "sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "Microsoft.NETCore.Platforms/2.0.0": { + "sha512": "VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==", "type": "package", - "path": "microsoft.netcore.platforms/1.1.0", + "path": "microsoft.netcore.platforms/2.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", "lib/netstandard1.0/_._", - "microsoft.netcore.platforms.1.1.0.nupkg.sha512", + "microsoft.netcore.platforms.2.0.0.nupkg.sha512", "microsoft.netcore.platforms.nuspec", - "runtime.json" + "runtime.json", + "useSharedDesignerContext.txt", + "version.txt" ] }, "Microsoft.NETCore.Targets/1.1.0": { @@ -3256,35 +4760,62 @@ "ref/xamarinwatchos10/_._" ] }, - "Mono.TextTemplating/2.2.1": { - "sha512": "KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "Moq/4.20.69": { + "sha512": "8P/oAUOL8ZVyXnzBBcgdhTsOD1kQbAWfOcMI7KDQO3HqQtzB/0WYLdnMa4Jefv8nu/MQYiiG0IuoJdvG0v0Nig==", + "type": "package", + "path": "moq/4.20.69", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "lib/net462/Moq.dll", + "lib/net462/Moq.xml", + "lib/net6.0/Moq.dll", + "lib/net6.0/Moq.xml", + "lib/netstandard2.0/Moq.dll", + "lib/netstandard2.0/Moq.xml", + "lib/netstandard2.1/Moq.dll", + "lib/netstandard2.1/Moq.xml", + "moq.4.20.69.nupkg.sha512", + "moq.nuspec", + "readme.md" + ] + }, + "Moq.AutoMock/3.5.0": { + "sha512": "x5pBS+sDYxnDlyf/KVZKQJGLygYcT2745XImXPL12O0547l4jgfaEujGoPyEyjXyB9dmC+XCgYV5jLa7eFGZew==", "type": "package", - "path": "mono.texttemplating/2.2.1", + "path": "moq.automock/3.5.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "lib/net472/Mono.TextTemplating.dll", - "lib/netstandard2.0/Mono.TextTemplating.dll", - "mono.texttemplating.2.2.1.nupkg.sha512", - "mono.texttemplating.nuspec" + "LICENSE", + "analyzers/dotnet/cs/Moq.AutoMocker.TestGenerator.dll", + "lib/net461/Moq.AutoMock.dll", + "lib/net461/Moq.AutoMock.xml", + "lib/netstandard2.0/Moq.AutoMock.dll", + "lib/netstandard2.0/Moq.AutoMock.xml", + "moq.automock.3.5.0.nupkg.sha512", + "moq.automock.nuspec" ] }, - "MySqlConnector/2.2.5": { - "sha512": "6sinY78RvryhHwpup3awdjYO7d5hhWahb5p/1VDODJhSxJggV/sBbYuKK5IQF9TuzXABiddqUbmRfM884tqA3Q==", + "MySqlConnector/2.0.0": { + "sha512": "EY0KXqQas+QvdZQU0NPkqBSfJitWAl8IUCg0v/Qn0P7f/KApJTFJFm8czYWoDPyewUjPHrAnE/cSYzzSFGc8Ng==", "type": "package", - "path": "mysqlconnector/2.2.5", + "path": "mysqlconnector/2.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "README.md", + "lib/net45/MySqlConnector.dll", + "lib/net45/MySqlConnector.xml", "lib/net461/MySqlConnector.dll", "lib/net461/MySqlConnector.xml", "lib/net471/MySqlConnector.dll", "lib/net471/MySqlConnector.xml", + "lib/net5.0/MySqlConnector.dll", + "lib/net5.0/MySqlConnector.xml", "lib/net6.0/MySqlConnector.dll", "lib/net6.0/MySqlConnector.xml", - "lib/net7.0/MySqlConnector.dll", - "lib/net7.0/MySqlConnector.xml", "lib/netcoreapp3.1/MySqlConnector.dll", "lib/netcoreapp3.1/MySqlConnector.xml", "lib/netstandard2.0/MySqlConnector.dll", @@ -3292,7 +4823,7 @@ "lib/netstandard2.1/MySqlConnector.dll", "lib/netstandard2.1/MySqlConnector.xml", "logo.png", - "mysqlconnector.2.2.5.nupkg.sha512", + "mysqlconnector.2.0.0.nupkg.sha512", "mysqlconnector.nuspec" ] }, @@ -3309,14 +4840,14 @@ "netstandard.library.nuspec" ] }, - "Newtonsoft.Json/9.0.1": { - "sha512": "U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", + "Newtonsoft.Json/11.0.2": { + "sha512": "IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ==", "type": "package", - "path": "newtonsoft.json/9.0.1", - "hasTools": true, + "path": "newtonsoft.json/11.0.2", "files": [ ".nupkg.metadata", ".signature.p7s", + "LICENSE.md", "lib/net20/Newtonsoft.Json.dll", "lib/net20/Newtonsoft.Json.xml", "lib/net35/Newtonsoft.Json.dll", @@ -3327,13 +4858,31 @@ "lib/net45/Newtonsoft.Json.xml", "lib/netstandard1.0/Newtonsoft.Json.dll", "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml", - "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml", - "newtonsoft.json.9.0.1.nupkg.sha512", - "newtonsoft.json.nuspec", - "tools/install.ps1" + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml", + "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml", + "newtonsoft.json.11.0.2.nupkg.sha512", + "newtonsoft.json.nuspec" + ] + }, + "NonBlocking/2.1.1": { + "sha512": "wCfoF5muN8Qx9Mz3IBsCb0qlViH2fAWTwzpHWp+vSBTxy2U3/5xW5+niLtSG3dXook3bN3U8hdEWRGHM0+5f5Q==", + "type": "package", + "path": "nonblocking/2.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/NonBlocking.dll", + "lib/netstandard2.0/NonBlocking.xml", + "lib/netstandard2.1/NonBlocking.dll", + "lib/netstandard2.1/NonBlocking.xml", + "nonblocking.2.1.1.nupkg.sha512", + "nonblocking.nuspec" ] }, "NuGet.Frameworks/5.0.0": { @@ -3353,20 +4902,17 @@ "nuget.frameworks.nuspec" ] }, - "Pomelo.EntityFrameworkCore.MySql/7.0.0": { - "sha512": "Qk5WB/skSZet5Yrz6AN2ywjZaB1pxfAmvQ+5I4khTkLwwIamI4QJoH2NphCWLFQL+2ar8HvsNCTmwYk0qhqL0w==", + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "sha512": "iWloXFjpN6BllZA9oPqZTW9mNtFV5Q6DFv0WwFyh1IuOJ71btS3ifTwpLmaFXSlXzuEU9o7Rul0dU0WiwkOq0Q==", "type": "package", - "path": "pomelo.entityframeworkcore.mysql/7.0.0", + "path": "pomelo.entityframeworkcore.mysql/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "README.md", "icon.png", "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll", "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.xml", - "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.dll", - "lib/net7.0/Pomelo.EntityFrameworkCore.MySql.xml", - "pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", + "pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", "pomelo.entityframeworkcore.mysql.nuspec" ] }, @@ -3649,38 +5195,33 @@ "system.appcontext.nuspec" ] }, - "System.Buffers/4.3.0": { - "sha512": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", - "type": "package", - "path": "system.buffers/4.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.1/.xml", - "lib/netstandard1.1/System.Buffers.dll", - "system.buffers.4.3.0.nupkg.sha512", - "system.buffers.nuspec" - ] - }, - "System.CodeDom/4.4.0": { - "sha512": "2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "System.Buffers/4.5.1": { + "sha512": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", "type": "package", - "path": "system.codedom/4.4.0", + "path": "system.buffers/4.5.1", "files": [ ".nupkg.metadata", ".signature.p7s", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "lib/net461/System.CodeDom.dll", - "lib/netstandard2.0/System.CodeDom.dll", - "ref/net461/System.CodeDom.dll", - "ref/net461/System.CodeDom.xml", - "ref/netstandard2.0/System.CodeDom.dll", - "ref/netstandard2.0/System.CodeDom.xml", - "system.codedom.4.4.0.nupkg.sha512", - "system.codedom.nuspec", + "lib/net461/System.Buffers.dll", + "lib/net461/System.Buffers.xml", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.1/System.Buffers.dll", + "lib/netstandard1.1/System.Buffers.xml", + "lib/netstandard2.0/System.Buffers.dll", + "lib/netstandard2.0/System.Buffers.xml", + "lib/uap10.0.16299/_._", + "ref/net45/System.Buffers.dll", + "ref/net45/System.Buffers.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.1/System.Buffers.dll", + "ref/netstandard1.1/System.Buffers.xml", + "ref/netstandard2.0/System.Buffers.dll", + "ref/netstandard2.0/System.Buffers.xml", + "ref/uap10.0.16299/_._", + "system.buffers.4.5.1.nupkg.sha512", + "system.buffers.nuspec", "useSharedDesignerContext.txt", "version.txt" ] @@ -3821,6 +5362,29 @@ "system.collections.concurrent.nuspec" ] }, + "System.Collections.Immutable/6.0.0": { + "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "type": "package", + "path": "system.collections.immutable/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Collections.Immutable.dll", + "lib/net461/System.Collections.Immutable.xml", + "lib/net6.0/System.Collections.Immutable.dll", + "lib/net6.0/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "system.collections.immutable.6.0.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.Console/4.3.0": { "sha512": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", "type": "package", @@ -3927,25 +5491,60 @@ "system.diagnostics.debug.nuspec" ] }, - "System.Diagnostics.DiagnosticSource/4.3.0": { - "sha512": "tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", + "System.Diagnostics.DiagnosticSource/6.0.1": { + "sha512": "KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==", "type": "package", - "path": "system.diagnostics.diagnosticsource/4.3.0", + "path": "system.diagnostics.diagnosticsource/6.0.1", "files": [ ".nupkg.metadata", ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Diagnostics.DiagnosticSource.dll", - "lib/net46/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.xml", - "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.dll", - "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.xml", - "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512", - "system.diagnostics.diagnosticsource.nuspec" + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Diagnostics.DiagnosticSource.dll", + "lib/net461/System.Diagnostics.DiagnosticSource.xml", + "lib/net5.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net5.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.6.0.1.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Diagnostics.EventLog/6.0.0": { + "sha512": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==", + "type": "package", + "path": "system.diagnostics.eventlog/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Diagnostics.EventLog.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Diagnostics.EventLog.dll", + "lib/net461/System.Diagnostics.EventLog.xml", + "lib/net6.0/System.Diagnostics.EventLog.dll", + "lib/net6.0/System.Diagnostics.EventLog.xml", + "lib/netcoreapp3.1/System.Diagnostics.EventLog.dll", + "lib/netcoreapp3.1/System.Diagnostics.EventLog.xml", + "lib/netstandard2.0/System.Diagnostics.EventLog.dll", + "lib/netstandard2.0/System.Diagnostics.EventLog.xml", + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.Messages.dll", + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.dll", + "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.xml", + "runtimes/win/lib/netcoreapp3.1/System.Diagnostics.EventLog.Messages.dll", + "runtimes/win/lib/netcoreapp3.1/System.Diagnostics.EventLog.dll", + "runtimes/win/lib/netcoreapp3.1/System.Diagnostics.EventLog.xml", + "system.diagnostics.eventlog.6.0.0.nupkg.sha512", + "system.diagnostics.eventlog.nuspec", + "useSharedDesignerContext.txt" ] }, "System.Diagnostics.Tools/4.3.0": { @@ -4095,77 +5694,6 @@ "system.diagnostics.tracing.nuspec" ] }, - "System.Dynamic.Runtime/4.0.11": { - "sha512": "db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", - "type": "package", - "path": "system.dynamic.runtime/4.0.11", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Dynamic.Runtime.dll", - "lib/netstandard1.3/System.Dynamic.Runtime.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Dynamic.Runtime.dll", - "ref/netcore50/System.Dynamic.Runtime.xml", - "ref/netcore50/de/System.Dynamic.Runtime.xml", - "ref/netcore50/es/System.Dynamic.Runtime.xml", - "ref/netcore50/fr/System.Dynamic.Runtime.xml", - "ref/netcore50/it/System.Dynamic.Runtime.xml", - "ref/netcore50/ja/System.Dynamic.Runtime.xml", - "ref/netcore50/ko/System.Dynamic.Runtime.xml", - "ref/netcore50/ru/System.Dynamic.Runtime.xml", - "ref/netcore50/zh-hans/System.Dynamic.Runtime.xml", - "ref/netcore50/zh-hant/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/System.Dynamic.Runtime.dll", - "ref/netstandard1.0/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/de/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/es/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/fr/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/it/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ja/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ko/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ru/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/zh-hans/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/zh-hant/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/System.Dynamic.Runtime.dll", - "ref/netstandard1.3/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/de/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/es/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/fr/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/it/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ja/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ko/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ru/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/zh-hans/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/zh-hant/System.Dynamic.Runtime.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Dynamic.Runtime.dll", - "system.dynamic.runtime.4.0.11.nupkg.sha512", - "system.dynamic.runtime.nuspec" - ] - }, "System.Globalization/4.3.0": { "sha512": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", "type": "package", @@ -4313,6 +5841,27 @@ "system.globalization.extensions.nuspec" ] }, + "System.IdentityModel.Tokens.Jwt/6.26.0": { + "sha512": "GT6imbntzCpoGHTRFUa98TPCF9PTnzV1v5KiTj9sT5ZmeYZErNA5ks5VDvYBaOC59y3dQ78IsMzEJm+XrxDk6w==", + "type": "package", + "path": "system.identitymodel.tokens.jwt/6.26.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/System.IdentityModel.Tokens.Jwt.dll", + "lib/net45/System.IdentityModel.Tokens.Jwt.xml", + "lib/net461/System.IdentityModel.Tokens.Jwt.dll", + "lib/net461/System.IdentityModel.Tokens.Jwt.xml", + "lib/net472/System.IdentityModel.Tokens.Jwt.dll", + "lib/net472/System.IdentityModel.Tokens.Jwt.xml", + "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll", + "lib/net6.0/System.IdentityModel.Tokens.Jwt.xml", + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll", + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml", + "system.identitymodel.tokens.jwt.6.26.0.nupkg.sha512", + "system.identitymodel.tokens.jwt.nuspec" + ] + }, "System.IO/4.3.0": { "sha512": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", "type": "package", @@ -4581,6 +6130,31 @@ "system.io.filesystem.primitives.nuspec" ] }, + "System.IO.Pipelines/6.0.0": { + "sha512": "mXX66shZ4xLlI3vNLaJ0lt8OIZdmXTvIqXRdQX5HLVGSkLhINLsVhyZuX2UdRFnOGkqnwmMUs40pIIQ7mna4+A==", + "type": "package", + "path": "system.io.pipelines/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.IO.Pipelines.dll", + "lib/net461/System.IO.Pipelines.xml", + "lib/net6.0/System.IO.Pipelines.dll", + "lib/net6.0/System.IO.Pipelines.xml", + "lib/netcoreapp3.1/System.IO.Pipelines.dll", + "lib/netcoreapp3.1/System.IO.Pipelines.xml", + "lib/netstandard2.0/System.IO.Pipelines.dll", + "lib/netstandard2.0/System.IO.Pipelines.xml", + "system.io.pipelines.6.0.0.nupkg.sha512", + "system.io.pipelines.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.Linq/4.3.0": { "sha512": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", "type": "package", @@ -4737,6 +6311,29 @@ "system.linq.expressions.nuspec" ] }, + "System.Memory/4.5.4": { + "sha512": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "type": "package", + "path": "system.memory/4.5.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.Memory.dll", + "lib/net461/System.Memory.xml", + "lib/netcoreapp2.1/_._", + "lib/netstandard1.1/System.Memory.dll", + "lib/netstandard1.1/System.Memory.xml", + "lib/netstandard2.0/System.Memory.dll", + "lib/netstandard2.0/System.Memory.xml", + "ref/netcoreapp2.1/_._", + "system.memory.4.5.4.nupkg.sha512", + "system.memory.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, "System.Net.Http/4.3.0": { "sha512": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", "type": "package", @@ -4936,6 +6533,24 @@ "system.net.sockets.nuspec" ] }, + "System.Net.WebSockets.WebSocketProtocol/4.5.1": { + "sha512": "FquLjdb/0CeMqb15u9Px6TwnyFl306WztKWu6sKKc5kWPYMdpi5BFEkdxzGoieYFp9UksyGwJnCw4KKAUfJjrw==", + "type": "package", + "path": "system.net.websockets.websocketprotocol/4.5.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.1/System.Net.WebSockets.WebSocketProtocol.dll", + "lib/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll", + "ref/netstandard2.0/System.Net.WebSockets.WebSocketProtocol.dll", + "system.net.websockets.websocketprotocol.4.5.1.nupkg.sha512", + "system.net.websockets.websocketprotocol.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, "System.ObjectModel/4.3.0": { "sha512": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", "type": "package", @@ -5880,79 +7495,6 @@ "system.runtime.numerics.nuspec" ] }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "sha512": "HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", - "type": "package", - "path": "system.runtime.serialization.primitives/4.1.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net46/System.Runtime.Serialization.Primitives.dll", - "lib/netcore50/System.Runtime.Serialization.Primitives.dll", - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/System.Runtime.Serialization.Primitives.dll", - "ref/netcore50/System.Runtime.Serialization.Primitives.dll", - "ref/netcore50/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/de/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/es/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/it/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/System.Runtime.Serialization.Primitives.dll", - "ref/netstandard1.0/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/de/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/es/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/it/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll", - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/de/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/es/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/it/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Runtime.Serialization.Primitives.dll", - "system.runtime.serialization.primitives.4.1.1.nupkg.sha512", - "system.runtime.serialization.primitives.nuspec" - ] - }, "System.Security.Cryptography.Algorithms/4.3.0": { "sha512": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", "type": "package", @@ -5994,32 +7536,67 @@ "system.security.cryptography.algorithms.nuspec" ] }, - "System.Security.Cryptography.Cng/4.3.0": { - "sha512": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "System.Security.Cryptography.Cng/4.5.0": { + "sha512": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", "type": "package", - "path": "system.security.cryptography.cng/4.3.0", + "path": "system.security.cryptography.cng/4.5.0", "files": [ ".nupkg.metadata", ".signature.p7s", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", "lib/net46/System.Security.Cryptography.Cng.dll", "lib/net461/System.Security.Cryptography.Cng.dll", - "lib/net463/System.Security.Cryptography.Cng.dll", + "lib/net462/System.Security.Cryptography.Cng.dll", + "lib/net47/System.Security.Cryptography.Cng.dll", + "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.3/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.4/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll", + "lib/uap10.0.16299/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", "ref/net46/System.Security.Cryptography.Cng.dll", "ref/net461/System.Security.Cryptography.Cng.dll", - "ref/net463/System.Security.Cryptography.Cng.dll", + "ref/net461/System.Security.Cryptography.Cng.xml", + "ref/net462/System.Security.Cryptography.Cng.dll", + "ref/net462/System.Security.Cryptography.Cng.xml", + "ref/net47/System.Security.Cryptography.Cng.dll", + "ref/net47/System.Security.Cryptography.Cng.xml", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.xml", + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.xml", "ref/netstandard1.3/System.Security.Cryptography.Cng.dll", "ref/netstandard1.4/System.Security.Cryptography.Cng.dll", "ref/netstandard1.6/System.Security.Cryptography.Cng.dll", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.xml", + "ref/uap10.0.16299/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", "runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll", "runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net463/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net462/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net47/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", "runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll", "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", - "system.security.cryptography.cng.4.3.0.nupkg.sha512", - "system.security.cryptography.cng.nuspec" + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.cryptography.cng.4.5.0.nupkg.sha512", + "system.security.cryptography.cng.nuspec", + "useSharedDesignerContext.txt", + "version.txt" ] }, "System.Security.Cryptography.Csp/4.3.0": { @@ -6196,6 +7773,49 @@ "system.security.cryptography.x509certificates.nuspec" ] }, + "System.Security.Principal.Windows/4.5.0": { + "sha512": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", + "type": "package", + "path": "system.security.principal.windows/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/System.Security.Principal.Windows.dll", + "lib/net461/System.Security.Principal.Windows.dll", + "lib/netstandard1.3/System.Security.Principal.Windows.dll", + "lib/netstandard2.0/System.Security.Principal.Windows.dll", + "lib/uap10.0.16299/_._", + "ref/net46/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/System.Security.Principal.Windows.dll", + "ref/netstandard1.3/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", + "ref/netstandard2.0/System.Security.Principal.Windows.dll", + "ref/netstandard2.0/System.Security.Principal.Windows.xml", + "ref/uap10.0.16299/_._", + "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net461/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.principal.windows.4.5.0.nupkg.sha512", + "system.security.principal.windows.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, "System.Text.Encoding/4.3.0": { "sha512": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", "type": "package", @@ -6332,47 +7952,42 @@ "system.text.encoding.extensions.nuspec" ] }, - "System.Text.Encodings.Web/7.0.0": { - "sha512": "OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==", + "System.Text.Encodings.Web/6.0.0": { + "sha512": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", "type": "package", - "path": "system.text.encodings.web/7.0.0", + "path": "system.text.encodings.web/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Text.Encodings.Web.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", - "lib/net462/System.Text.Encodings.Web.dll", - "lib/net462/System.Text.Encodings.Web.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Text.Encodings.Web.dll", + "lib/net461/System.Text.Encodings.Web.xml", "lib/net6.0/System.Text.Encodings.Web.dll", "lib/net6.0/System.Text.Encodings.Web.xml", - "lib/net7.0/System.Text.Encodings.Web.dll", - "lib/net7.0/System.Text.Encodings.Web.xml", + "lib/netcoreapp3.1/System.Text.Encodings.Web.dll", + "lib/netcoreapp3.1/System.Text.Encodings.Web.xml", "lib/netstandard2.0/System.Text.Encodings.Web.dll", "lib/netstandard2.0/System.Text.Encodings.Web.xml", "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll", "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.xml", - "system.text.encodings.web.7.0.0.nupkg.sha512", + "system.text.encodings.web.6.0.0.nupkg.sha512", "system.text.encodings.web.nuspec", "useSharedDesignerContext.txt" ] }, - "System.Text.Json/7.0.0": { - "sha512": "DaGSsVqKsn/ia6RG8frjwmJonfos0srquhw09TlT8KRw5I43E+4gs+/bZj4K0vShJ5H9imCuXupb4RmS+dBy3w==", + "System.Text.Json/6.0.0": { + "sha512": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", "type": "package", - "path": "system.text.json/7.0.0", + "path": "system.text.json/6.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", - "README.md", "THIRD-PARTY-NOTICES.TXT", "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", @@ -6402,34 +8017,18 @@ "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "buildTransitive/net461/System.Text.Json.targets", - "buildTransitive/net462/System.Text.Json.targets", - "buildTransitive/net6.0/System.Text.Json.targets", + "build/System.Text.Json.targets", "buildTransitive/netcoreapp2.0/System.Text.Json.targets", - "buildTransitive/netstandard2.0/System.Text.Json.targets", - "lib/net462/System.Text.Json.dll", - "lib/net462/System.Text.Json.xml", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Text.Json.dll", + "lib/net461/System.Text.Json.xml", "lib/net6.0/System.Text.Json.dll", "lib/net6.0/System.Text.Json.xml", - "lib/net7.0/System.Text.Json.dll", - "lib/net7.0/System.Text.Json.xml", + "lib/netcoreapp3.1/System.Text.Json.dll", + "lib/netcoreapp3.1/System.Text.Json.xml", "lib/netstandard2.0/System.Text.Json.dll", "lib/netstandard2.0/System.Text.Json.xml", - "system.text.json.7.0.0.nupkg.sha512", + "system.text.json.6.0.0.nupkg.sha512", "system.text.json.nuspec", "useSharedDesignerContext.txt" ] @@ -6589,6 +8188,27 @@ "system.threading.nuspec" ] }, + "System.Threading.Channels/4.5.0": { + "sha512": "MEH06N0rIGmRT4LOKQ2BmUO0IxfvmIY/PaouSq+DFQku72OL8cxfw8W99uGpTCFf2vx2QHLRSh374iSM3asdTA==", + "type": "package", + "path": "system.threading.channels/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.1/System.Threading.Channels.dll", + "lib/netcoreapp2.1/System.Threading.Channels.xml", + "lib/netstandard1.3/System.Threading.Channels.dll", + "lib/netstandard1.3/System.Threading.Channels.xml", + "lib/netstandard2.0/System.Threading.Channels.dll", + "lib/netstandard2.0/System.Threading.Channels.xml", + "system.threading.channels.4.5.0.nupkg.sha512", + "system.threading.channels.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, "System.Threading.Tasks/4.3.0": { "sha512": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", "type": "package", @@ -7027,8 +8647,11 @@ "Haoliang.Core >= 1.0.0", "Haoliang.Data >= 1.0.0", "Haoliang.Models >= 1.0.0", + "Microsoft.AspNetCore.Mvc.Testing >= 6.0.0", "Microsoft.EntityFrameworkCore.InMemory >= 6.0.32", "Microsoft.NET.Test.Sdk >= 16.11.0", + "Moq >= 4.20.69", + "Moq.AutoMock >= 3.5.0", "coverlet.collector >= 3.1.0", "xunit >= 2.4.1", "xunit.runner.visualstudio >= 2.4.3" @@ -7081,6 +8704,10 @@ "net6.0": { "targetAlias": "net6.0", "dependencies": { + "Microsoft.AspNetCore.Mvc.Testing": { + "target": "Package", + "version": "[6.0.0, )" + }, "Microsoft.EntityFrameworkCore.InMemory": { "target": "Package", "version": "[6.0.32, )" @@ -7089,6 +8716,14 @@ "target": "Package", "version": "[16.11.0, )" }, + "Moq": { + "target": "Package", + "version": "[4.20.69, )" + }, + "Moq.AutoMock": { + "target": "Package", + "version": "[3.5.0, )" + }, "coverlet.collector": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", diff --git a/Haoliang.Tests/obj/project.nuget.cache b/Haoliang.Tests/obj/project.nuget.cache index 61066c1..d48bea1 100644 --- a/Haoliang.Tests/obj/project.nuget.cache +++ b/Haoliang.Tests/obj/project.nuget.cache @@ -1,42 +1,92 @@ { "version": 2, - "dgSpecHash": "vhR3s37eZ0JKCSsDdknFHWgEI3WxKpEWEco7km6fI//ih0qiSnXd8nDqT/ZNGzLXv/gF/3itOvSLKFhkCmlPIw==", + "dgSpecHash": "RbyKziyt9NEOWfYZG8HhwGgKNEAU9l8qa1+pOr1zRs8wU3hMPLsvtHDrmaBGHe3/vwjmJWMQiFVqo4FkIKgFNg==", "success": true, "projectFilePath": "/root/opencode/haoliang/Haoliang.Tests/Haoliang.Tests.csproj", "expectedPackageFiles": [ + "/root/.nuget/packages/bcrypt.net-next/4.0.3/bcrypt.net-next.4.0.3.nupkg.sha512", + "/root/.nuget/packages/castle.core/5.1.1/castle.core.5.1.1.nupkg.sha512", "/root/.nuget/packages/coverlet.collector/3.1.0/coverlet.collector.3.1.0.nupkg.sha512", - "/root/.nuget/packages/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg.sha512", + "/root/.nuget/packages/humanizer.core/2.8.26/humanizer.core.2.8.26.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.authentication.abstractions/2.2.0/microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.authorization/2.2.0/microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.authorization.policy/2.2.0/microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.connections.abstractions/2.2.0/microsoft.aspnetcore.connections.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.hosting.abstractions/2.2.0/microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.hosting.server.abstractions/2.2.0/microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http/2.2.0/microsoft.aspnetcore.http.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http.abstractions/2.2.0/microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http.connections/1.1.0/microsoft.aspnetcore.http.connections.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http.connections.common/1.1.0/microsoft.aspnetcore.http.connections.common.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http.extensions/2.2.0/microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.http.features/2.2.0/microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.mvc.testing/6.0.0/microsoft.aspnetcore.mvc.testing.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.routing/2.2.0/microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.routing.abstractions/2.2.0/microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr/1.1.0/microsoft.aspnetcore.signalr.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr.common/1.1.0/microsoft.aspnetcore.signalr.common.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr.core/1.1.0/microsoft.aspnetcore.signalr.core.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.signalr.protocols.json/1.1.0/microsoft.aspnetcore.signalr.protocols.json.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.testhost/6.0.0/microsoft.aspnetcore.testhost.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.websockets/2.2.0/microsoft.aspnetcore.websockets.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.aspnetcore.webutilities/2.2.0/microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.codecoverage/16.11.0/microsoft.codecoverage.16.11.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.csharp/4.0.1/microsoft.csharp.4.0.1.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore/7.0.2/microsoft.entityframeworkcore.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.abstractions/7.0.2/microsoft.entityframeworkcore.abstractions.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.analyzers/7.0.2/microsoft.entityframeworkcore.analyzers.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.design/7.0.2/microsoft.entityframeworkcore.design.7.0.2.nupkg.sha512", + "/root/.nuget/packages/microsoft.csharp/4.5.0/microsoft.csharp.4.5.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore/6.0.32/microsoft.entityframeworkcore.6.0.32.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.abstractions/6.0.32/microsoft.entityframeworkcore.abstractions.6.0.32.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.analyzers/6.0.32/microsoft.entityframeworkcore.analyzers.6.0.32.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.design/6.0.0/microsoft.entityframeworkcore.design.6.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.entityframeworkcore.inmemory/6.0.32/microsoft.entityframeworkcore.inmemory.6.0.32.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.relational/7.0.2/microsoft.entityframeworkcore.relational.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.entityframeworkcore.tools/7.0.2/microsoft.entityframeworkcore.tools.7.0.2.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.caching.abstractions/7.0.0/microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.caching.memory/7.0.0/microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.configuration.abstractions/7.0.0/microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.dependencyinjection/7.0.0/microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/7.0.0/microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.dependencymodel/7.0.0/microsoft.extensions.dependencymodel.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.logging/7.0.0/microsoft.extensions.logging.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.logging.abstractions/7.0.0/microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.options/7.0.0/microsoft.extensions.options.7.0.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.extensions.primitives/7.0.0/microsoft.extensions.primitives.7.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.relational/6.0.0/microsoft.entityframeworkcore.relational.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.entityframeworkcore.tools/6.0.0/microsoft.entityframeworkcore.tools.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.caching.abstractions/6.0.0/microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.caching.memory/6.0.1/microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration/6.0.0/microsoft.extensions.configuration.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.abstractions/6.0.0/microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.binder/6.0.0/microsoft.extensions.configuration.binder.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.commandline/6.0.0/microsoft.extensions.configuration.commandline.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.environmentvariables/6.0.0/microsoft.extensions.configuration.environmentvariables.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.fileextensions/6.0.0/microsoft.extensions.configuration.fileextensions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.json/6.0.0/microsoft.extensions.configuration.json.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.configuration.usersecrets/6.0.0/microsoft.extensions.configuration.usersecrets.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.dependencyinjection/6.0.1/microsoft.extensions.dependencyinjection.6.0.1.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/6.0.0/microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.dependencymodel/6.0.0/microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.fileproviders.abstractions/6.0.0/microsoft.extensions.fileproviders.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.fileproviders.physical/6.0.0/microsoft.extensions.fileproviders.physical.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.filesystemglobbing/6.0.0/microsoft.extensions.filesystemglobbing.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.hosting/6.0.0/microsoft.extensions.hosting.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.hosting.abstractions/6.0.0/microsoft.extensions.hosting.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging/6.0.0/microsoft.extensions.logging.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging.abstractions/6.0.0/microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging.configuration/6.0.0/microsoft.extensions.logging.configuration.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging.console/6.0.0/microsoft.extensions.logging.console.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging.debug/6.0.0/microsoft.extensions.logging.debug.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging.eventlog/6.0.0/microsoft.extensions.logging.eventlog.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.logging.eventsource/6.0.0/microsoft.extensions.logging.eventsource.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.objectpool/2.2.0/microsoft.extensions.objectpool.2.2.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.options/6.0.0/microsoft.extensions.options.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.options.configurationextensions/6.0.0/microsoft.extensions.options.configurationextensions.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.extensions.primitives/6.0.0/microsoft.extensions.primitives.6.0.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.abstractions/6.26.0/microsoft.identitymodel.abstractions.6.26.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.jsonwebtokens/6.26.0/microsoft.identitymodel.jsonwebtokens.6.26.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.logging/6.26.0/microsoft.identitymodel.logging.6.26.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.identitymodel.tokens/6.26.0/microsoft.identitymodel.tokens.6.26.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.net.http.headers/2.2.0/microsoft.net.http.headers.2.2.0.nupkg.sha512", "/root/.nuget/packages/microsoft.net.test.sdk/16.11.0/microsoft.net.test.sdk.16.11.0.nupkg.sha512", - "/root/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512", + "/root/.nuget/packages/microsoft.netcore.platforms/2.0.0/microsoft.netcore.platforms.2.0.0.nupkg.sha512", "/root/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512", "/root/.nuget/packages/microsoft.testplatform.objectmodel/16.11.0/microsoft.testplatform.objectmodel.16.11.0.nupkg.sha512", "/root/.nuget/packages/microsoft.testplatform.testhost/16.11.0/microsoft.testplatform.testhost.16.11.0.nupkg.sha512", "/root/.nuget/packages/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg.sha512", - "/root/.nuget/packages/mono.texttemplating/2.2.1/mono.texttemplating.2.2.1.nupkg.sha512", - "/root/.nuget/packages/mysqlconnector/2.2.5/mysqlconnector.2.2.5.nupkg.sha512", + "/root/.nuget/packages/moq/4.20.69/moq.4.20.69.nupkg.sha512", + "/root/.nuget/packages/moq.automock/3.5.0/moq.automock.3.5.0.nupkg.sha512", + "/root/.nuget/packages/mysqlconnector/2.0.0/mysqlconnector.2.0.0.nupkg.sha512", "/root/.nuget/packages/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg.sha512", - "/root/.nuget/packages/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg.sha512", + "/root/.nuget/packages/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg.sha512", + "/root/.nuget/packages/nonblocking/2.1.1/nonblocking.2.1.1.nupkg.sha512", "/root/.nuget/packages/nuget.frameworks/5.0.0/nuget.frameworks.5.0.0.nupkg.sha512", - "/root/.nuget/packages/pomelo.entityframeworkcore.mysql/7.0.0/pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512", + "/root/.nuget/packages/pomelo.entityframeworkcore.mysql/6.0.0/pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", "/root/.nuget/packages/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", "/root/.nuget/packages/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", "/root/.nuget/packages/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", @@ -54,29 +104,33 @@ "/root/.nuget/packages/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", "/root/.nuget/packages/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.buffers/4.3.0/system.buffers.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.codedom/4.4.0/system.codedom.4.4.0.nupkg.sha512", + "/root/.nuget/packages/system.buffers/4.5.1/system.buffers.4.5.1.nupkg.sha512", "/root/.nuget/packages/system.collections/4.3.0/system.collections.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg.sha512", "/root/.nuget/packages/system.console/4.3.0/system.console.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.diagnosticsource/6.0.1/system.diagnostics.diagnosticsource.6.0.1.nupkg.sha512", + "/root/.nuget/packages/system.diagnostics.eventlog/6.0.0/system.diagnostics.eventlog.6.0.0.nupkg.sha512", "/root/.nuget/packages/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.dynamic.runtime/4.0.11/system.dynamic.runtime.4.0.11.nupkg.sha512", "/root/.nuget/packages/system.globalization/4.3.0/system.globalization.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.identitymodel.tokens.jwt/6.26.0/system.identitymodel.tokens.jwt.6.26.0.nupkg.sha512", "/root/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.io.pipelines/6.0.0/system.io.pipelines.6.0.0.nupkg.sha512", "/root/.nuget/packages/system.linq/4.3.0/system.linq.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.memory/4.5.4/system.memory.4.5.4.nupkg.sha512", "/root/.nuget/packages/system.net.http/4.3.0/system.net.http.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.net.websockets.websocketprotocol/4.5.1/system.net.websockets.websocketprotocol.4.5.1.nupkg.sha512", "/root/.nuget/packages/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.reflection/4.3.0/system.reflection.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg.sha512", @@ -94,20 +148,21 @@ "/root/.nuget/packages/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg.sha512", "/root/.nuget/packages/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.security.cryptography.cng/4.3.0/system.security.cryptography.cng.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.cryptography.cng/4.5.0/system.security.cryptography.cng.4.5.0.nupkg.sha512", "/root/.nuget/packages/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg.sha512", "/root/.nuget/packages/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg.sha512", - "/root/.nuget/packages/system.text.encodings.web/7.0.0/system.text.encodings.web.7.0.0.nupkg.sha512", - "/root/.nuget/packages/system.text.json/7.0.0/system.text.json.7.0.0.nupkg.sha512", + "/root/.nuget/packages/system.text.encodings.web/6.0.0/system.text.encodings.web.6.0.0.nupkg.sha512", + "/root/.nuget/packages/system.text.json/6.0.0/system.text.json.6.0.0.nupkg.sha512", "/root/.nuget/packages/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.threading/4.3.0/system.threading.4.3.0.nupkg.sha512", + "/root/.nuget/packages/system.threading.channels/4.5.0/system.threading.channels.4.5.0.nupkg.sha512", "/root/.nuget/packages/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg.sha512", "/root/.nuget/packages/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg.sha512", diff --git a/appsettings.json b/appsettings.json new file mode 100644 index 0000000..1c2ee02 --- /dev/null +++ b/appsettings.json @@ -0,0 +1,124 @@ +{ + "ConnectionStrings": { + "DefaultConnection": "server=localhost;database=cnc_business;user=cnc_user;password=your_password;port=3306", + "BusinessDbConnection": "server=localhost;database=cnc_business;user=cnc_user;password=your_password;port=3306", + "LogDbConnection": "server=localhost;database=cnc_log;user=cnc_user;password=your_password;port=3306" + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "AllowedHosts": "*", + "AppSettings": { + "Name": "CNC Data Collection System", + "Version": "1.0.0", + "Environment": "Development", + "EnableSwagger": true, + "EnableSignalR": true, + "DefaultCollectionInterval": 60, + "MaxRetryAttempts": 3, + "RetryDelaySeconds": 30, + "DevicePingTimeoutSeconds": 5, + "DataRetentionDays": 90, + "EnableHealthChecks": true, + "EnableMetrics": true, + "JwtSettings": { + "SecretKey": "your_super_secret_jwt_key_here", + "Issuer": "CNC_System", + "Audience": "CNC_WebApp", + "ExpirationHours": 24 + }, + "EmailSettings": { + "SmtpServer": "smtp.gmail.com", + "SmtpPort": 587, + "Username": "your_email@gmail.com", + "Password": "your_app_password", + "UseSsl": true + }, + "SmsSettings": { + "Provider": "Twilio", + "AccountSid": "your_account_sid", + "AuthToken": "your_auth_token", + "FromNumber": "+1234567890" + }, + "WeChatSettings": { + "AppId": "your_wechat_app_id", + "AppSecret": "your_wechat_app_secret", + "AccessToken": "your_access_token" + } + }, + "CollectionSettings": { + "Enabled": true, + "IntervalSeconds": 60, + "MaxRetryAttempts": 3, + "RetryDelaySeconds": 30, + "PingTimeoutSeconds": 5, + "DataRetentionDays": 90, + "ParallelCollections": 10, + "EnableCompression": true, + "BatchSize": 100 + }, + "ProductionSettings": { + "Enabled": true, + "CalculationIntervalMinutes": 5, + "AutoArchiveDays": 90, + "QualityCheckEnabled": true, + "AnomalyDetectionEnabled": true, + "ForecastDays": 7, + "OeeCalculationEnabled": true + }, + "AlarmSettings": { + "Enabled": true, + "AutoResolveHours": 24, + "MaxActiveAlarms": 100, + "NotificationEnabled": true, + "EmailNotifications": true, + "SmsNotifications": false, + "WeChatNotifications": false, + "EscalationEnabled": true, + "EscalationIntervalMinutes": 30 + }, + "TemplateSettings": { + "Enabled": true, + "DefaultBrand": "FANUC", + "ValidationEnabled": true, + "AutoBackupEnabled": true, + "BackupIntervalDays": 7 + }, + "RealTimeSettings": { + "Enabled": true, + "UpdateIntervalSeconds": 30, + "MaxConnections": 1000, + "HeartbeatIntervalSeconds": 60, + "EnableCompression": true + }, + "CacheSettings": { + "Enabled": true, + "Provider": "Memory", + "ExpirationMinutes": 30, + "SizeLimitMB": 512, + "SlidingExpiration": true + }, + "SecuritySettings": { + "JwtExpirationHours": 24, + "PasswordRequireDigit": true, + "PasswordRequireLowercase": true, + "PasswordRequireUppercase": true, + "PasswordRequireNonalphanumeric": true, + "PasswordRequiredLength": 8, + "LoginAttemptLockout": true, + "MaxFailedLoginAttempts": 5, + "LockoutDurationMinutes": 15 + }, + "PerformanceSettings": { + "EnableMetrics": true, + "EnableProfiling": false, + "SlowQueryThresholdMs": 1000, + "EnableCompression": true, + "EnableCaching": true, + "BatchSize": 100 + } +} \ No newline at end of file

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 EFOd+kQ~&?~ literal 71168 zcmeFad3Y36`u6{v3R?su>;eMagw2FK2@wg}&Eg7f2#N}HKo%7V5)n|5ZczkRKwQAB z1L`O^Zs3mE5zuiIcW@i9BO^GAf-}y5%M8E!x$8NTykB15>-+ETx`u1!<9*-H>8eww zs!msTlB!YXFOwV*sfYg`IwbM}{;U6Do;;b)AFTvl<>ls-+H9?{hnedY*}kuFE>c;KcF z{Mxe8CDPdS!@`|NgE0MlFX#w#4F46$qYlD;YoPt-za;9&^IQ zVYz3hz;e&if%u>Q5>A>RyQk2}Isdcv|MC%$Ms@0q;7_jO`&=<)-WBlgH$i_<%lPe#DLp^x0qJp8xLzZiPoXZDmC6=wOwxND->vo;Ru^jAi&mz0R;jao?$?Npt%ny5VY_C1%j47pg_>d2NVce z`+x#L8y}dc?Q&aRp+M84d_aMqoewAwV3&qnra;ia2NVd7_JN7o)phh03N-EH0}2G4 zeL#UA;sXi={SOK!M;`A5b6|$N7K)!C)UyASm;JiQ4rK@f8X*J>CZt z2u|<;1%j9lC=kSbK!E^rV0eU3AQvY ziVr9doazG#1gH6c0>MZhP#_rP0}2GE`+x$$89tyuaHbC^5S--$3Iu2SfC9m2ADF1! zsB?UU0!_#GfC9l-A5b7T*9Q~`&hr5Uf^j}DQMfndB3C=g8W z0R@7IKA=F5@Bsyaavzwe?a(A&p+M8gKA=Ewkq;;kOz{B)f~h{BKrqb*CTdqV-B&2k z^kN^FsBL}PGKybMaC=kr{0R@6e zA5b8;!Ura5*FVQsDA4puA5b8e>jMe|^L#*oV7?D15M1R03ItdCfC9laJ}^<+p#{D| zfu`5`z(j4+g}y?8rb!=AAV~Ru0>O1Ypg^$52NVdd_W=ch8+>4*cKwTeg#t})^Z^Be zB|e})u+#?>2yXHL1%jJ>K!M;EADF0J|E<14fu^_lfC9noKA=Fb%m)+*mivGL!3rNx zAh^Q^CTiEe(pMN`Wpg{1v4=514-~$Q-FZzH2!Am}%K=85;Ow@L0ldn*q z=_@{5Nz>*iP|1+^%V*0f+6f#9z`pg{1g4=50P=K~4^`+PuwV80J25Pa_g z3Iu=ifr;84{@qt7(DVl%P$2k+4=51)(+3m?4)}lq!9gETAo$S-6bOFufr;7<{p>3g zX!?r}C=mS12NVeY?E?w~hkQVR0AD_ZAHPi0uFm-i1)2svpg@r00}2H7d_aMqz7Hr6 zH1Gihf`&ezK+wns6bN#CK!M;0A5b7@>;n_E+kh|p!mXn~)22S4K!C43!xj_>n)!eN z0lokXTTmcq?gI)0Eqp+MprsE?)OHBp5{3(-K-1Pfpg_>Z2NVd}`hWt#Q9htR(9Q=G z2-^FA0zn5KP#`$k2NVc8`oKhOmpl0i1)6sD0R@7H4=4~seL#Vriw`IeLpppg>UI0}2HA$~oLI6bSHLZ5U7>=wj*9Q~``uTtYL4O}mAQ<2S3Is(ypg>UU0}2EsKA=D_&<7^0htjfNAcKY9GdGu@ z;-f$sr0!)h0-v5O;fxkhp)-$*+SP?C=CjbX}^xaf9r+I`wRSYut+y@j0M)-gN!HGVgKyZ=|C=i_N0}2GE_<#bz zsXj1K+o98Zg#t}S`hWt#C?8NDINb*n2+r^U1%fkuK!M;aA5b7T+XoZ~M*DyQ!8tyl zKrqG!6bQ!pz(nmvo$D(UXnLLxC=iVE0R@8deL#WW0w0*DUHXN-LV>2^eL#U=f)6MV zO!NT-f`kt!5S06X0>LC7P#~D>0}2Ee`G5k!6dzC^nCb%)wc9YwS18bQx(_H2TPy|pg=Ig2NVb{^8p2dnLeOEP~ig#1haf#qPEMI`w9h`&h`NXf=VAyAh^N@ z6bR<{fC9mlKA=D_*9Q~`=J|jE!F(T3Ah^m0CThE!@)Zg+z0L;|2p0K(0>Sk@pg?eg z4=4~U_5lTg8+|~5V2KYX5G?h9iP|3C96bSC}0R@7)eL#WW9v@I3Smgr>1gm{u zqPENT`U(Y_-sb}f1o!)Z0>J}5pg{1T4=50%eL#Vr$_FND*WVg%m;6yK1)8?;0R@7# zKA=Ewln*EnwDSQ4g7!Y3K+wSlCTiDzw69R0X-6MWAn4=+3Iv^fK!G6Q0}2FDA5b9Z z;sXi<`93gF+o7lZP*I@iGd?g;+jN7kP@w5XA5b88)(0kPU;CV|P@w7aKA=GGf)6MV zyyycHwF`U6S18c*Wgk!=*yIBW1h4pj0>P_3pg{1N4=501d_aMq+6N|TJM_A*P@w5% zA5b9J;sXisO`{uzCwYf@B4rP!3RE|K=7dtC=h()0}2Em`+x$$b{|k6*x>^T1fTeT0>P&~ zFj3p(&wPafO+WVm1%fYpK!M;7J}_YmlcA$e9qPp4>OA~Cmn)0=^y^d9uc-eZP3p@G zF!7K`{!?2BhktJD_9>i0_cZ~mCkQU;Ar8j^p~m{W%1za!z(_2Gxk zsF(z=|8QyV&h5A+H&-4|+f01T=!mVf^dykn}+(6DQP_{begQ8|~Te1Gq(~M(2E^Hu!3hwFGKz?_O@&YASV+NlMf^=Tk4lq!Gesgyy=6+J&FY9Pm9$qnT7d`+Bu*5?T6Bjeo>QU*4V zKlRf5FMX7I$XQ%kW9Cyq?ei%Lyc#`sdGcP*(IqASaXqmW>U6~NB!aCefv$%nPfFzD zk~ltV)u%hU-va~GX+QF099>iCKsSc2t@NWik*=c*p_|cHUzabZ(%msgT~8T9H*lc3 zJ~D}}l(m6UN%w4Ttqqau=rRM;oh+;9`bX8BBhS!1*;(EB@*3UWxRgoqKHb2VakhAHw4^a18xtwmwAaxrhN!MeDx=pg2?#;gHw#q|v^PIZh z$$GjAxXkxu6WvxW^HbSIm+hl1zr^vay}l%>?$7dfx(n(4E)4>$tuEBs&(fA|LoapC zb)_4@Wj1kx>2B&&(myV(+(^1(hp6l1%IP*0sq5}$)BRJ_^>K^nPGzms-9@**(`TLH zQtIxdD>+u(Ft?FzDBWppD_v8kwR7Drx(|A->lc>`-Jj^59HefVlN{ZK7OY+FTIXN` z<>TJ#`c09mT>)#qDbkiH?+Vr3*Wk#sc!w05s6r;ErzY{MEii>?XXV{Rec z1B0~ov|C1ZT#>pB?oPV5`>T7--ADIGXLT>Rhv|Adb+5bU==yRgZ@Ox_&UEj&59zA7 zl+WDWobD1WSufpXVd0ZF9*5K~2ZuFK-qLac7;mlY+)lZ>$wgqRBlT=J*i`vT-nrl> z?KBTxJLL#%*_f|Nc2qrz$;?)&e`u(Dvq9~vHr07;xZZAD`})=|q2<}FUIpte|55fZ zZ1d;b*Z)VGb?oy@@^4&n)Ari8?~c^<{^clL@42jo%Rlz0H<0wq)oR#2?8Df`nv{{@ z8lT}-gzX2k*@kMzrnOrgzA9YuFWkCtX%Ds2QL5Yjx=YTq(6vlw-@@gGt%W(*oueo`TKcs87)v{Rjh}K|`#BnC z)z==jC-3B__CDed|9RCyCbu3n9Z9&BUwhS)Z24H7mjAc@WdF0|aKuJ%dq3i9TOX}w z(Agc7my>^K_6_s{P5%mpYj48iJhz$lc^$|0B=X1j@};ftcJRrmOOK>dobLO+qv(;{%1JyZI5VxNpUgz`Ewf`+qHSRrQLY$hf5AeCOkI6z7=%Rk@<5+ zWiIs@eAT=r`aXC{M`d`_RdO45vsZPKe)Y8f364x(@)j;(C;1*nJM7^*b&jPU+a8G} zw`uz-uZcBzEJo;!I=WqmmZ7+n|_-i9ycRz-G+re|H z?$W|zKHR5a`?_ak-7PwW=|y>dg1ZVf%z3Y zci!jm5FQCTd8}?}th2`j4Rp-wj@#j{{k0?N@MAAr2`GwbkkFg(9*ZKKPdNnX-c^(eA&o%3sTJw3l3Z>4koVlteO>dr;=+UcAe zj{jqvi^4fMd_SFD?|f9lchU)sbS>js>(W*<(An~ndOAOU)pi~jzC+#KTHBn~T)Cco zyQh)v!57KGW=ZJFI5T{7R2+R<%yABvekWW7b2R=lJgb zNef-hzj?-mYY&$eF1Zcce8K(uEzieA&2==c=K0u%$+OhqHXh>g!?WO99Ajrj^t0{a zqvqpNvXgQDaTlRSv;X5RhP&=RPHQXv^X@np;xvfA9kSY|U> zYwo&!l`c=#o4d7N9zGXtH1|`dO4nRAnQPcN4?k$$YVMqzWv+#6GdC$`CEN~kIub2q zmpL7Yma^B}4Aff5K66*0)=CbBj-%9CT$gYk=_s|9Tyr`~t)+!IJ(k)?dvkg$wUK;t zkE7OB3eCNOT3abLw_(64ca)Tw+ce+-xDn=h_It>+lTqeM`#lCX)|_rpdzoNPx2U~L z3mtpiL1tM^d)-0inbTf(kd(P%^z3L^YVHK|>}XkGPJ7)^R-4maca*i}x<;RLon*ba z-qDS48_j92JIf|>+Uw4;)tvS^BHPSquOqS}bnJChzO>p%oPSZ-Ywkjve^J?Qt`TZo ziXioQZPnl*;_jFI0W$xyI zFS%o6p1FGmz7Cf%H#Sn~3S_CdNs&A$kQL^1YYSzyIo;YqSsOa`x|cj|H9bCi$wqT} zeD;!8%stwr()E_D=AP}6C%xrebGM<^M|POI7qvd}r8zx%`pRB&di3;_{pNnb8QxD0 zn#;xO`U!@c`$)I8zvPA+GZ8t#LoBLbQM{xP(9>n}vB!%Xl#Qa$##i8TY z7RwN;=`mj{Bh2YBUo5Aa(~&5VvF3CnN@Sur-G2jRnmOHn17()En=rqW$~<#-Vty%= zlsVlG$I4Q3x*v{}73RhsyTA>S)#l2NT@1I@oSqNI$$E2oJ{%_-L&q%|EU#Eiw`j0z zHK$uNSl%_K`>#xPnA81NCSRJ<{WnDRn$!I^ME0Bexp$>IUJjb8kF7l(e;gX_qwY8# zPLN!4{ct{Qf%((t_$2yDKmF#*Trxn%;`uB zlTqe$B!aa}y0kZ^ zqkD#QF{h(@h7_99_rEix$eh0aohfDJbe=y;hMUuQ{wx_4I*#tyGS+H3x@XG-b2_?b z%QSO(yo{C#b9%gtmU-s%3gR3|n$s(Yb7ZMG-S1;$xjEhMV`Q~C-J-Fw#++`^SXpmQ zx9D8iU{1H_T-g*l_WC^8YBlZkd9ux%_WC^8VQzTmN;gh+nHz&^jd8NqoL&>1FZ;~t zHPQKU&|Lm;mF@z;#Ls;+;J7@wKyuAJjjg>XGPcII-mwD#e z;E0?gNpsy$nUo0)m>AUtN(%ziDYhNPy=JcKUQYkd2@64A%=Ja~ELQ>}Xmi)oZ zlBMS2C11m>FsCDbxvVy)BY(N9HK)hYY*}wkkEPkNF?8IbN_oXkPiag~&r(~-DJMud)Ad$pWy zwd1gct7WXYVOYb}GSS>m1AlVY$TV}gr8&VhGAndk$^w~hH661Bk}{`bwm@z&r{i+1 ztT3nJa;@BJPRC`TtTm_OvQQp3r{j{8jplS*lJbf<9ha1BHK*f}l6TEbMeRD-VQv9x z*U6XWjw=1hEy7R3!;vq+7A=zfq2m@^FF#sMx9EDo}E-s>w)>~X1U4SN{rbpvclXNjM*)6uen|=j1kd#oU{y-7Z_reSzBT@~*jedqjd|vcp_W zk8W^Znj6%uFjy{o&5iEX4{m?xxJ4`EN2}>RS|Rvg@SlCOLhu{bbSrVD-XSf_rE#X- zAsx)UgRNaD`Q~b{wJW8UxgCQl-JMcw?vI1=BG=g)PkBxP<6*0)-gn!6tBTP-Wh z=`nFHeli|ztsWEi%G%Izl^0bjOuPmE@W$!Iei9 zeli}`cHyjABkj$7i?eEt8mMe8PS%Evs~oO48gt zWqIINBQZVb-U4Kmi(qL&66WrDfU(aYhcnftiQP;CWeYZdE}yxYg!f!@hk%)|lIYefxr}H>dmWMcH6Z_uq@M zDRkW0mt?Eebf$etwwcqJ_9fY2POnB^mR;ubYV>8o!m1LWTeR4c|E(q zm6`iKe_l{6!_B#_*T9W3_ifp{;B^^e?w7J_;3kBQBe7YgSxrApY?cah`e|ab%rkcq z=9ev!G<_dD5UZaTh+{hjPEHyZQqTe8cy#Ju~K>^1l2V=LY7WuLi!9GfSMu%$+ICg z78czVd?-nCHy5ShmYUmLx<2?wmYdsGx)E-*xe@q2>tk7C?reOY^|7oscUiZgvRyWq zo7Ziw+b)|z$F1EVTdk(^;11blPUpcLvcp_Ge1iT&cA0C5Ptc#pUUNF1eJcCR>3sI7 z95ko%*=HjC!hNLk*=Le#?l(C5KbPj_HsI|4T-uvEH5eFtAzjRk!MoZQQfO}b;DNy( zq{!S?gO7(R3mvy;r;MB#>@Mw!!*|Er8Krz8JYnP5(@=f9Py=Jb00Td6RoBmbSuHK!y0og~fa*6x!f=5%ZK z$#QdgJ-=U8nbYg}{jw%>9EtB`z18$s`d&7e(~pLl%;`w{Q<|I8 ztvw*^%<0x1kS^wQYY$3+Io;ZWQWQFF?T=DsHQm}DWw<%r+8_@rADj4P1e_nT4;z6`4CaGB0T82Aex3at+*Ya|2OpCYUntEN4N^BeU6`q9pUDh+k>Bo9pRGZaxn8Xc1z5)#LU;&EjPCa?=nr?Ds#*6 zF4M%VG561I^Ma;sojKS28n_MSf}9F>qX#Q zEnPcvdga*Cbul*{Yj5QW%w3ALw{k`1PR7+}Yd6^31-Ke*?S`9s1y_e{+(>i3$CYCn zH^#pXSBGugcyoGn*w#%ow+Qq6QEsNW<(TJ>a&yfcoxi}fa|_M&%wG(*#M~e8F52EL zGxvAQitXJhb9%;ga8>5?jO*amg^r_iwA)}coePe3FPqa*I@)b9r=!%-y<<*CsiWI& zPDiPe+i6Zmsgv7dPDiP;`_7z>QfGI-oL+lJ+#z#%?HzHAO2R#+*WOW=XHKuZqpqDf zz4q?nqUQA4yNfF@r`O*3Zh$!*-F!DVbllpmZn)L-(?nM{(wu&p=<3Fp)2;31#+%cv z?dGPM)A#r8Zl*bXfA8+*n$wZ!;TD?Hk?7%;nA5H8>6V$(t?lVnnbWO3##Ncqtv$xA zGpAcy;GQw3TU+2>Hm6%#=r)_vtu1u#gpOO=%Wb!sZc#6{)0}QmFSo~>etXc{eP>R; zJ?QNYnA5H8;|`hAt?lC)4Gi~DXI!)Qb$R9raLwM=wKMlZ;WF3HMa{i|pF8z)1?F^= z`nv(tL!RDHmRk#6en7J-xP6oJ<=1#&07P)iGjl)P3x$)-S#?@1?n__MkuAYkB z%+PTpO58lUyX4INZw4hUL$_Qmf-7}DSZ!sW9x}+~mFo848>vAb1cTiOy70G)hPcy1 z#~Eda8*5I_l_74TIUUdA-86GLp2xdc=5#zyaP!RRc%I-==JYp#Vs5E9{Y{{lTVZYl z#w_kun>!0*7I$mSwd-BshPw6U`t^1))NM4U->eUFo6PAq>%-hubMHo$x#4b`xm}T! za68O3>AuX3aJ$U4>%J0hueq=B?t7x!XYLog`=00yn$y|lB!?euFA!~ip}Yfe5xxmr$_RsZiG2KB2ROp%;^z% znj33QkI0d3f;l}RN4ja|^oShgD$MB-Im*p5HwEwgr@N%N`FQU?-7PhD9rpAYZn?RY z*wbgY)#gse5qYLtV{SZ-$TQvg&~at1zJp9$%YI93ao8Z=% zTaMZUx8B^%xcZ&wHki8`SHBb8CUbKN_6G^K#oWSzAKcR6!kBP}H*W4AjUb@INH06dand5N2A?tc8V^AeXdSA==~Qn$q1P|Wj}y5;6{4w>OrnbSFB zhFcRlj^Jf(z14ICFLN8r=?GrtHks2Aoawfh(-EBMwwb#YvtotYZf+@R6>gWg*D$-y za(m2uh}mtH+h?vBevk8Vcfec+{2u4!`fD}ZM>-O-T_bZk60==%b2<{0uAMm@3H&~q zIUR{BT!A?qi7Q-@IUR{PZm>BWi8*e#xpnemaHSh*?nOBSHzsr(CH%zSYC1~T*XDGT z=DG@VI!g20Tyr`~^IX#0=H3l*=DQ{4-tXN6Zn?QjaduqgR++mRXUA1;jk%fF+N<3< za|^JwSGx`7T4NlpaW9+06`ow5$+q`5orv%2fu7;``1+sPZ;cysk| z?RJBkYHme-VX)ZEG`B9lAKYAX`>@O#-9mGRu*@6X5_9_bc8ObNPCwr+ajVRA#^=qY zuF710eBNB@)`gBEag*C%H9cN#axa_H*L+12bj@w)#{S$0lLFoRw-Q}6n{dc=-XHKst zmbs`oy`EU+3PQ&%TJDOhrr#GVcZ1F8_XW${aC0Mz@zYK>(%krB{9d>lW3DG^cewH9 zjzjGZH`UxtB^7R^n`!Q$5+^I&TyvM8cBflt?kd#obW60Y6bawKvTW9Xf0Yl{x_l&s-1LnF%+{@-V<=|(ZZnL>wIr!P9 zd&gX<`^i1(J~kI~Il-fDXXv;^kGVZo>oTxY&SUO7bG-)kfIDDLf1_ZXJ7i9OqhOtD zbV9g~k^?H-dY5PJ_5t{t64%b$u)+%WxQm)Qvk-sp;0ny$k2B!6Zh*PRaR&U>4L0{e z=Vk5*H_Y5Somaw*G?zu~Nq3I9{ir?Z#+&eXB3 zo^}h(<<(mWx5V7pr6=Y*&S+_lOT*Gs2m(}KA=6lZVF}Dyi-*axCIsIwb^X`B- z{b||r4!{1&GiMfNz8730a|DF|&}w>x`;sd% zr&qWyxiWK;@w1ng-Eea=@Uxef-6(VVJ4&0}7<2kNN}JpSb94G$kn@V0YVNweQ{XDh z-Gkd{yz1tftCF1HRhKk(9Jc5+x5V5@*rM0ma&u|aGH#W*-=darYs}r=cbThp>&!ja zcO~40&~a;DcblxHy?)(oF{izL-EA{B5LXGC-F9;^TqSIFyUe|cpW<(Ed(6FspW<(E z`@Acim9y0yFt?-hDmaM?{w;3w6@FXm4cExrcLQ^RH(c}3v1f0(_EzK1MO_zj{JE$r zGe?0#`nVS zx;3HW*1qS~TTPF;_uK|^dept=Hks4?@V?t(PWQw6ZksvXe;>H*=5+sk;C7j7T3G2m zbbHLTDa?}(-9B@3aGm^-J78`BuCqSE7aid~D(O?ld=lQ_3e3HVPr^G~k-6`CRk%;wU~~2Ht;#2ExVi7}x=-Cmb3fsA zpSm%j<0yURCRk19p3mG=b2|5Y<|@oh#J>I9%{4az`}T8}G^d|1zi>;;=_kxD+;VfL zVC4VcR+$@(k^h5R6FRParxS7VEqumk=EOp_G(nXDbsLu%v({BrhZ@+9;s(QlYnL7#;CA?Q6p zn&6Hb=Yx9BjwYh_1Zl#1f;8bhL7MQMAgy>$kXF1WNGs8Mg0$j2L0a*iAgx623DS!9 z1ZgFDPmo5kzy1pFhx&Je2kYMl{!+gRlm?IB*PI*6J@xwF&IVOr2g!i>@)lSqhrl9f zRlg5@pwSr|CcVJZn2!dFq=l@mKMa4HcsFWCfTNj|GbzVkvX$1KOg)*^$@nY3Sp5`} z6swD<7qPks)oJLLF0G2y40W|pm$q5D$ZcQ?Sy?~JyvC^2-K_3rRq*$dcjI@tLTWX~ z>1%UvM~9X5Bg~^lt>&|u&uWZ$+^E%ItPW!}!Mxn4)yb?*W;Mw?Wz^~-Ru{3FW?p5~ z>RMLUvYKIDZPe;!RyVVnWnN>{>TXtdvnm0%)Tq^*fZH2zdznX#TFqxQpVb)ixKXPK z>T;tdli7YU+b5Z)j9Oj9>LOOt%&UxAUCZiPRx`}2jauEz>Sk86%xjEV-OcK5Rwakq zXw+&>4!1Ff+sHg>)M`Gf`K-p7$8$6v#(Ws_1oLvERwuJMnbjoolu@gTSY54QPmU)d)tGij<&8pPnmKwF1Q;%C(k6X$-YSd~ztNESR`v%u`0KE@E{Nt7+y{My;-8buFtI=G8{6Zf12et6AnXMy>8< zbvLV0pWAEHYJ@s!)Fi*YjzE5W9f270xKXRaSRKY{f_b@7tCLxs%xaQ(%Ba;vtS(|T z&AiH})wQgyWi`XR+NjmdtZrtthIvhW&37~3&0HFA>x^2>X~4bNfP0g9)Tq^bR`Xen zF^?OyI*ip}tR|S38?`!_)yb?TnWv0eUBv1lR@2O@j9OjG>RMJa%&U!B%~IDGHIatg zE~6$n4Y^$nxn0boMy$}vHdW%PcSbxYIQQJlUYqMPc_th5%WdN)6A=kT3yTP zT2?d6tBqRS%<5)Vv&?IZTHVd+ZdRocx6Y{5oJQQbM%+5)QKMG#SM&M^ zv6^6BZq({zRwuKXWS%l=brGwJSWPppGHNwLU2W7POI>5sL~^+;MopsB(OlIr>bOyp z1a-MllO%P@s7ac-%BV?(y4t8omb%8Mi5$V67&VDdM~#}qsN+UW64d2JO;XgUBUGoU ztBjgtsH=^dWT|V6nn+{z#HdMxI%?D;Mjbb5lAta(YLcW*88t~$R~a?QP*)o@$x_!C zHIXLlk5Q8-b+n1<7l+nq;YKjG9O@_Qa@3ggR=}Bt{)KYLcKXH)@ikP8l^xQ&$-^$xv4t zHOW%f7&VbR_Q$A6lscNHIz}BgYLcKXH)@ikP8l^xQ&$-^$xv4tHOW%f7&VdR?1@p6 z2zAt`NsKyf)FeS&Zqy`6oib{Yrmiw-lA*3PYLca{F=`?$*dL=N5$dQ>lNfc}s7Zpl z+^9*CI%U)(O8#qb6DE8lxuCiajxE5}}S7HHlHjjhZB=%Z-{OsZ&Nx($rN(O)}KgMoqHRHAYRO zHTz@KBtjiEY7(Q48#PH#mm4)nQm2fXq^YZnnq;V}jhbYsYmAym8}`SjNt8O;MsBc)Fe$^Wz-}?U2W7POI>5sL^`lPMol8rQKKd?>bOyp1a-Ml zlN5ETgX%POl~I!nb+u8GEOm`h6FHhaF=`T}jvlQ#Mjbb5lAta(YLcW*88t~$R~a?Q zP*)o@$x_!CHIa_&iBXdXb=0UyoI2i7b%MIws7aDKWz-~1U1iiHLtSmuBuiam)I>V5 zCq_*o)KQ}*G3vNclLU3SQIjNf%BV@2y2_|YhPv9QNtU|CsEKrDe~g+$siU1$$Ef2* zO%l}QMop5`DWfK7>MElq8R}}ICRyqlqb3qzPmG#GsG~+rV$^Y?CJE|tqb5n}lu?s3 zb(K+*40W|plPqKSoU=)KQ}*aq4(fb%MIws7aDKWz-~1U1iiHLtSmuq=veN z%aktcgHfvy>ZnnZ7xAEPD_>ZnnZ z78#qb6DE8lxss!2TFDiBd-kRL7{}Mokjb8#qb6DE8lxss z$etKAiBLz4n#8E%Mokjb8#qb6DE8lxuCi~TWb5}}S7HHlHj zjhZB=%Z-{OsZ&Nx($rN(O)}KgMoqHRHAYROH~VAMBtjiEY7(Q48#PH#mm4)nQm2fX zq^YZnnq;V}jhbYsYmAz>KI~5))e-8bQIi;T+^9){y48#qb6DE8lxs| z0Q)mQb%Z)<)Feh7H)@igE;nkDq)r(%NmExDHOWv{8#T#N*BCXCBKE|nNrXCT)Feh7 zH)@igE;nkDq)r(%NmExDHOWv{8#T#N*BCXCV)nK&U0$p@Nu4rk zlBTXQYLcO@HfoZkt}$vNCG3e&lL&Rxs7ahUUZOfdU2fDQNu4rklBTXQYLcO@HfoZk zt}$vN1KAU!CK2kWQIi;T+^9){y4#q)a6D^ zlGG`qCTZ#_qb3>ZYNIAu>KdaaGKl>#Y7(K28a0Vg$BmjKsLPF-q^MJaRHvz{jGAPq ztBsmuscVdy$Z_n6QIiOD)Tl{}I&Rb?L0xXtBuSkzYLcd|GHQ~ct~P3trLHk*B7@l< zqb3pRs8N#`b=;^)Id%D9)k*4ilC$J?MBNJqjOp_ThOG=FG$rza+lVpa>k`iZ2GDarIB$*~N zWR{enY){6>1eqk$WR{d+Y)Qt*1eqk$WQNR=GMw$n7?~u~WQNR=GJ-A17?~iGWSY#7 zSyE19doo5Q$RwF2Gh~*Olh~e2kV!I4X2>ilC$l9PBNJqjOp_ThOUfy1PsYe3nIfPjCNpG~lyPiH#>fPjB-3Pu%#w0G z+mkUeK_hRl*O zflDT1WP(hRX);4*Ntwv@WQfPjB-3Pu%#t#V?a3IKAk$=q%#t#lEy);}Ad_U8%#c}9E@pc&MkdKLnIW^J zT*8)Qj7*S8GEHX4EGd_=JsBetWRgsi88S;oW@!5unIMy7n#_<{QZD0?$rza+lVqCA zkTR1k$rza+lVqCAkXceH*q)4$2{K8h$t)?e*piHq2{K8h$qbn#<#M(sV`PF%l4&wS z%51hIV`PF%lNmBgN+ny8F)~S}$qbn#mXrl-Nyf+onIzL>hK%Aj z-jBtzuk`tk4e`72jqrTFT;fO$M56!!t)7>@f^azc;4WNg1c|wuLaJ-@0=&_ zJM>fWoA=Z4iWzuvUnQQN%Z-ndg=Unz0@ zaL2d)xDVO@8H1;oo$rcqXQvX}x2RO+g6(5sKtJbdliF52?1{gu}ZQ9c$`F7Kyo+*vs_r}kCX)_HBX-fFHrGvFDt9M|u8 zu+o$aw{Gr z!!%PM5rq9M4g`Ir{m3UiCeblS;ot60YUfUX^0YL3LXG-}>{-f0i7M*m`d7BYbUo zu%1CL9;f`0{JO{Y(C2phCm62%A@=-hw*O|3_Pi~5HOKkAL3*r?$k#Dk!o2QL6s~1| zZ++F3Y~M8a8F~=+*Y_N~6M4k`$fI!)motIqY^JBa>b^2%^}w8ZepJJw`rTqZBMz1* zf6Qru>Lc8P;eLFZ`!4MNIQIX}Xe+e&a~JJrPKl1~{RO(EpL6+PpTm&}kBzWzgO1mc z`F4o1CG~|p^;Pw|w#U+Bh%!9t#&8=Ou|IW_WupC0aAbZwR`p)4_e*j!M?37{X&i^} zSV|7;geBiz)D!%B=>Tvn&*E#kY5&6!XdBK6b+-C>Zp%21@Seds&fy6B+Fl5^@z+Ma z?tTpW_8Xp4b(a<%^Wi={{Ftx1MK^IA=CjYgHm`Q%Jp4+5j#4-db(cAqBk(bglVf-Ng&UKC1G910| zc&K1Lk>}2&I!D5tJXU+<>+ErWBVTvi4u9>h9Z`oLd*K>?t$n!Uy64duJi30*ce?Pk z-OKd29nao=#WO41qPnjN-!aF8GkkAtAI?-?MfAMx*j*_ctGfH5?#LXz-UZwv_wXDq z=XwwCZMfucE&rP(99?n(_Ec#OX9Lch_ws1jTW|{Uuh_%7y}E&WGhFhK>_go>wSw=k zReV1^k)w3@Ub~g^Mm;XMGp{aw?NzVHDE3W9FWl0Pdyhu4kUdOsE#27X1)P`Kao&sa zcn;Sa?)~P+>JsX)KX-FBF5_(TM83|(<2b6}kzc|iJlx*H&zi%}ukhR{FV^KBPd-|r z`dYHA&bhN&^xQeRzs@sz`qj=hb!XQVr8?h+V|!wm&NJbB8@^W#aN|%7-zDdD*0oF; zpv&pUeK*|c+}m&91hfg?eeM{bZO$oFKE=Mh-&v2kAIR1{rlDo4dYY7%UJgBpV;C-f z0gti0oH4=~IK}zlD(;O!T|Q+G`4)2T-#TdAGR6Jy|axo`RAoK zp#9$lYM;a94{*05Iig69!#?D1dg(jDAilHr>!ZtgjaP2r+QX%VOTMa5UzOtijrY;* zeY#MW{5sFIT%LXZrVh7p7MC9$;pgJ`32?Qa!|VMV32?<KLV zV1U2j?E&2j4DisYW1#zhf%HSg;cuD?p$DL%k1ps9U5rQS=(CLbLJvgUNhuiM6HyWL zATYoUXiK06g8`lcTnc?W7~t8ygP>zzfE#5Eh8_wA_{-oS(8Iw%Mxd2GGxr4OlhDe^ z$zUL-qLss677v3SiB?WVfq|TkRt`^{Jqh|uJQo-DK?VbS<~j{}G#JPjv~_rn>nP}R z(N>?odIt13v~_r<>RHeipsmAmQb$9N$15D3ggOR#B3|Jn0R}P&ufRQZ!9Xs;D;%CJ zdI9uQyu#s`pyQ#Z;}s5n)jbjV5-Eqi6b$frZ!+{{V1TDYMg1A2gUhVKy!v)Yc;nfbGL>EHeg1<}GCk&>bZ^JV5 zsey~2mth$Wf4_bM^a?CPpXYZY^hzuPcdY~i+zI_==)1uHf4_b!^lC7Wd$A0C>fPf13bO!Y3K|XNHvz{=k;fyw}63c#qu0Jy+05ACYI;$ zY^xWc-@@`7o>%oU^xIgTlXt*CwqdFIB&pY+-^Ws&d;kXWA(o1}mw^GE=Cl=hI~d^m zfH$E(0R#CIOLe$&z+2FtW2sKQ00Vqqunl?_7~ok&??Gq5K)%AVo$Lk!JVodu=&!*5 z&jQ*Gy%!AdJ;Nu^e*yzMiRUxuzk-2$i)B0c4h-=8oSo47!2sV$dYkc0WTm2QeqRe?hkd zF(>1xFqo4;%*lA}3+7}1b26Ugf;kxsq`j*T-2n{neM>{=jv(e_mkS*MF(>0`DEf?v z#?bk$DRfs5b26S9QUhtG8@GFj62fnowmn8&%u4= zF+YQtpK-5vy$AMq==r$+JLYE)^Rp|5z6Qknj61Vqeg*^FTY3s~3dH=3d#3B%pQk}z zkNcoweg-i=<4)&#m*z{Mm*9Ton4dw+&$!Pr=4TM|Gwv&n`5DCgjQjgxeg*^FwRjHn z3NXNTdvl?2mtp8T-F)b~z(DTC-L{?F17d#09kek&gP5OjA8gFeAm(S6f_?zR{EYim zV}1rPKf4>C*MI@;aeE{5!(f2B*e-?s4H(FyxZ|_Kw~04Hug6`S_5QH8LjM-`V#b^d zVot^#l`$uSfjsT*fPMxHWCQMl?C>qkozTy^yP=;01Kb0374!>Wfcu)>3;hy^IT`m3 z#+(cW@+$5QjOQwXfn;#UUnkXIfct%}h29JXvIY0zb+Q!<!I=NPv~v9n=R&KFu?sPpM-uN4DfyE)6gG+0q!fg0s3PwknOkwtdkvJfcrl_ z5B(_^;4Y3YLVpehxclPE&^y6EcDYxezXSux;@+oDYCz1-t{Qqbi1``!D8>8?Vt#g8 zq4$EApWU0#e*y#fGwulLv)pQabqs4CG(#3+R7?fgEx>p(WS}?Se0% z12DinUTdK1fta6z-Ovp|%+JBs(77P4pM$;7jX_*L2Y-TY3gY@X_zQG15Oa0#Ep&4b zb9Jx}x+RFYI`|&CH5f?S;P22!fq}FO{sG+{#PxG<0QzVU*U!O^(49cc)xpou5fF2A z@Gs~tU?5$CL(tv8K)MGmaMA+|q-T%=eGC{#K~NvM5DcVO&=9&eh`Bn@d*Sy5F;@qT zq5FfFtAnP{MIh$tpc!-th`Bmw4qXajt`1s44*~-j9JGcm12IYxMkP!Mx<&=Gn#h`BoG41FSqxjKkKpA2HI4)UQ-1#$fxbb}rR;`%wj_Q@F_uAhTr zpw9v^R|kdAqe0BoL2u|WAm-|zFZ8(}=IWq7^f(Z6bx;I-0f@OeD1jaiVy+HKp(lcY zlm~;LCxL-X4hBPC1O_rC7y>;N3}jkx0`zn+kc)#j^d(>*mj=V2XMllR7L0(N2?kOT zoCG}!3}kk23UnnH$Q8k9&~v~*t_(&&&jkaS7n}h-9}MKG;4J8?!9cDFMnf+E1GzTP zr+F>}F;@rYLZ`q$76s#=uLlFUA-Di~F&M~=!FcE;U?59_iO@HJf!rLFL*D`ha%(Ud z`Zh3-+k+|4%RtQ4!8GU*Qb#^dlgylY_a?kAk>P4(3Cz12HEDS3^GzVonYgKtBOuP7W4AKLuh= z4pPw1fVfT$7C}D?;yO9F0s46m*U7<+&@Y0xP7anrzYJnd4sM2i1;m^j+zR~~h&eg9 z9l9FCoE$8N-VEY8Ik*G*4G`DK!JW{*196=k+ztJE5ZB4UD(H7W%*nyM(C>nnlY{%A z-v==#2Mu@$DJU`7 zd;$JyXd}ATd=dT$P-3$A68saP#ANej_$NV$$>t&WJy2q@c^LjFP-3$A3jAIuG1>eR z{EtG}KbwDse=3yyv-vvwk3-o%n}31d2PGz(e}jKIl$dP(9sZe6VzT*9_ybU4viUFg zgHU3!`EU4VLy5`ef8cL`5|hn$;hzU3CL6Z<(et6~pN)Zk0hE|*#^GNCB_^Bg@Q0wp zWU~YQFqD{V9tS@QB_^Al@JFD;Wb=6Vqflb9nS#FwN=!Ca!!JOI$>v)46HsEZ`2qNw zp~PhKgYe5xVzT)m_>)j#vUxK6tx#gJ`C<5%L5a!cN8n!$B_^96gFgi&CY$TvPeX~x z=4tS&P-3$A3HUWAG1)vF{w$Q3Y@P|f0VO7z1Msha5|hnA_%@W7Y@Q9@fs)fOH^AQk zB_^Ba!RJt7vSBQvK9rbjUI2dqN=!B{gx`V^lg*3aUkN29n`!u0LCI;D8Td=kMs(TC z!M_GdOg1lpzY|JKHuLbWg%Xp^OW}VJN=!Bj@V^8lCYuxRzYHZNo15W(1xilCEW^JM zN>0O^gntv1J+rwL{@0=Gna#`K?}D;tHZO;NGql0^$|?A_KpW9-o73=bg*KwMnHc_V zXe0U^(}ceVN_;j6{O>}E&t@I|_n^dQ(}MqfDDl~xgMSy4_-r=e{}4)iHYxnQP~x+> z1OAVp?3qmt|0hu5v+2XXA4+^S7vMhtB|e)i_zyve&*qizABGa2&8y%)0ws@OUJd_e zQ1Te&GW>l|;5BxtuiO=Tk@Lz=zpUpeqAAu5|%{$@020cMu zZrde!Yisr2r}=+0oTw;X7d?EPh=aOM>i;jG=+Bddlz$iP=kb2K9j~^NGY6x^c)it$ zd&$~Tl6TWiF1qP%t0En17723W}E$X9OV^W^b1KZYc;Frphj$FCGExSnY7(b znslPD3aA$|8mo<8O5%2}wV9~(O1xfFbu6{KG~Dwu8*$bvENHN8o-)z^>{?Cjs^ylq z@?NsJ-!+M$%J;t{=_GVKTJFU?2D8<)-PW<1O>$dW8F7eJXD!awj7apf&Tck2-)bh#pb*5v+-A3(ZY3V8h=MMqZI3uswaftLYss>rT}g1oymClI zR5Z@ddBn1!oo>h3rc--f^ovQh*~)Xq(t!gCu{fD0nZq0_+7sO*i+ia@Dx!ML(q@w9 z-en;Pwv^n_Px79_N=dM}i(M{IVn@CZ1ewq0I^N zbnf)&!*TOmtF!Kaf%RL5rBQWlxq|Checje=+{&y2vL@?VU6ysVtgO0rV7Y`%=GPvh zSjfPyvU<^Sjny%`$^v>_XLWtK$^w|Kv%20bv^r2-WOdXov%0=qWOa-PY*$b)>em>L&BKUsxebS5_U+HB?tGr~Ry%Fqb#dKr1e#@O7KZHXAbzlM2-JBr&KEOo zPH8`9UlKMro?PsOL9Y3^lXzb49k3^S}vssdF z$i1L`CFb+#^KnbJW_9qER^AGhvJ>V=E96lkNZr*+s~1ws?YnNwedc_U$=x@MyFFm- z-f%qL40t=7aq|pAcE*J<>Bk6!Mu!oNY|`d1ybw1xTAdN#3ehrLOg4{UL_%UG*y$BE zoArU^USqd|BjDynBD?FgFg({80W2q@kfo$abU!J1EKFXm^+gC7KNyEjNR#`6$(d)E73Zv!IJRY5I^|r#LPj-93c|4z= z=(Jf$^%=gnk%rVOTit-M+-AebU<3-==wc5;E9tqU6NZkbz1G=QlXb|&2)4>k_$reunXBX5D&cGwH~~X27vt)-c2)YKNs6ELKjoFuvSx%APC?mNWT^W;geF zjOcBJeUuGgumk;KbJP#0?UTg_kO^_NwLSv$JBSf5_gIswoEA<%7E z<~zM4J0G{}m6y|Gw9T=2H3<|YA{|T4hY(%RBe1zmc1iViumuWeXUNdf91Rog<3QY_!^I+_US&m^83s9AP{X9xKj`v?w1I>!oGAg{qT#DE!4uL_`*$j2yl<{owI4Z!E*D=d+}zs4!tBx`vJAYkmLQ$)g-GI zkxgY?D_NLzoONXA(vX41iV>iHMz8y|Q8%vxK7SE_?2U`ut7a7g26lHa61D+$RAEJB zfC7$-dwu}Z=pWGQB^U*g3l0>~=k$fR+hyw-f^`bZ1496`_nLBkk1*5d7%DCqQ4N9t zun1KFY@Qr+Kt0Rc)WsjbbYu>1UCE?e<$?0my;J}`p=&GvkPaleaBm4~s3<5TG-7y2l0ShG2OL><9cwmTJ0JZ?}EE z3PLkk!X7XPkwk0JqmV;)d%A*!q<`Z;QzuTyPjd0 zu9J4GBkYGqgYG%2UJ9Vo;|Z*eaHngnjfUqtZ0N6Kpp#;B`IU4n-WmzZSyDBdZO^hQ z>Fua|D7LvNJ;wCUGHPB3>a3dLw%!IbN8_~J;#qjVq?g54j5w32dGoid^+GU=)=CBf`OEy`3xL47h^3l@SR zG`c9|Q|H?Aq9+ABsFBi@jJj=pnPIo1=aT9Q`V6}wKB;b7l6)ls~Ch8R^CBYaUm#J5As0XKC$Olh)vZA~KG8U59$@)?oWkf?9D3qQTeYt}v;31V*4JP;1^N>ocbP5!1N=dLX z$FHR;qM+qGl_b3HotvPlQvYSHUrpT3yuiyfQAK3Mgc0${=FjK;)n`>6-j4aNr^tp( z?^lIlHd*bjuP52zEWM!LlcMwVW3X#-elXNERn3t(TjL8^JY#3A)jmcu>1LO_Vy0ib z!%+n)jP%IAkRsaxIhHSV{%ew@rq<39;(8{Vt8LECI9o5(D{)3IiUev2czZdwcWKo+ zI8TOAp1sLV#_f?-EGM2c`kC65PV6YCaw%!Y7nRFP+_%8Z*Anpk#&3^@tP=1g#B1SFb$~1S`)YG%W@L8bo+lxE4iRgp|xOF zBB3i%qI&-;McMn7lGg3c&TREw5JZb=+E}rQD5##EDPXzbFum5cBPPdbYNm{oWDry# zpCY?cG}U=t^hIV`ky5f>G3gO-7TlfL*~Z%xK5N&_wIXG&y>v@oO+7CzihGb(Ni}DhLiY#oaZfwwbuyl-z1ELMM}b`9iDL+^85xONi_C#8Rs+B^Dg# zA*C#~{s>b|3&DPC)t;^Ba8%AS)v_uNcY)jWCe0V`?xa(TcwY22b0C+_dDCAGh-fdC zB4Q{DEtgYIwJRmTG{vfV%ZaW$^HiWB4!2S!mbOtDxw6U>v)>MuO|>|_oFYykH4dGb zYPG{UwJVQKtxZK{8`4_SeUzrCD)~!42U6Qs8cp!+Rav{h$*-+T7{39QotkY?b<<=G2Q>?=W|rpZ*&h8{OQzYaZ{;ml zv^*cy8f>uAgJ8W%_H3n`vKEnf6Go)D_Pki#Id*8(SkL9@v6|{g+0$gjiyO1;QALzG z^axqYSx#0RKLTrQ+HMs$9b32}7UNw#Ojbua>H}J_E$PM; zJqXatU~401Y_Ei^uoS2Jy$y$y_ZX)rLxWRDW%j^a-8fdX#c{a;rDQLjjqh?OuC1vY zpsRUR7H8!dy22IF?c@D|k<)ZFVSOksr8U@ignXlh|Q_|yWQ*Y3Xb$k^3UW1?Xu6-!r*0mbS}+s4Z{%+ee}^X2+b;VtX?^d$4diympP>z>_=_>2v^Qy6v9WDp z_ocfU6Fa3fC&zYQy5yNVUHOZRiL1Qs{>H=}DRAGmiK$DU^V&xpb6LBDlgqA>sZ%nh z<1(609%rCsubxUhRzVscD3$&~O`Y=9Fjx06QT9c8t)DtIITlT_=A-B-yswCNjXmMk zEbbmpJ98JCiGF)^Wkb%V#<1J2@8h_EcM9!4KDRQHX32E7`wW*^d*S)#?!O)fyRIqH zYwjkcU!J&zHx~^*uJQkx5{>KWQp77lqwNRxUoZdhmTB}VM7&H?8yE4;&gjl_yycE2 z?woG7(+dmi^IKiMZ?e+ZG2hwXWfPoviP^Dh9@}hOI?KCD#W}QLD|uJ+(CeeIg+&n) z{vLTc?J!JFbL-n)bJJb#`PqqY zJn-HFQsO|Cro97cm+#Q=;Cx`ieS_=3&;T7sS6^{J$LByN=`p;+2K&2ftI_h&>1W;W z+{o4QL0=DjdEBA1-};%)yzis$+ka-?3*JV1{l5BHpYN*JMG^aiY_{EAh+Ca# zGv}9-NwQy3l*WqKh%Y)9oFFnQxjOhSAF^Vn?8tU}qE#P&%*d68XwnOsXv9i>+ z8_z+wg*RxQhR*TMn`Pd_eS$Z1pXT#8@AN*Q#vk7H_3zl3?B|31e6e%2jn9f()y_iY z4c>8-;itvhv=e-Gc=L9u_){Y(wE`NW&B0@Rk9LY=|J}RocAWC|Ec6*3NWca>{iNDl zPrvPd&xuxL45CAf(ira^Pk9G-SL@iKM=_GDQW=jJtc_o(f1P)zFCedha&)7(l=m&4 zMW6E~aA`+(pq-E9=XyeA>E{;wkn6;Y@8>~kzP|XAc3p$Lj8so;JG8G|Y5A4w+fNVL z{1@@wc;4*Ed)GPARSz-}UEU)uJy_?R=RIup^0%n?WvS2iTO>PT|JQo$xG&;Q zMzhbD^(w7@>~X)IcQf(!;eqnQqgIYt#9QoTe5V=HoW5>y_1pAvFEej&q{}ig-rr;Y X_VPY#n*6aFzsK7B{pS9^jKKc_gK^#g diff --git a/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.pdb b/Haoliang.Models/obj/Debug/net6.0/Haoliang.Models.pdb index a4f1f2aaef20b042d8982264e53028d781d0bcf7..367ac1f732d8e3071f8440602465a309b5017493 100644 GIT binary patch literal 73260 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 kItSut<8 delta 14584 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