feat(deploy): v9 Quant Engine production deployment infrastructure #7

Merged
kjh2064 merged 24 commits from feature/dotnet-migration into main 2026-06-25 18:27:40 +09:00
196 changed files with 1907 additions and 216 deletions
Showing only changes of commit 320a215dcb - Show all commits
@@ -6,6 +6,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" /> <base href="/" />
<ResourcePreloader /> <ResourcePreloader />
<!-- MudBlazor CSS -->
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
<link rel="stylesheet" href="@Assets["lib/bootstrap/dist/css/bootstrap.min.css"]" /> <link rel="stylesheet" href="@Assets["lib/bootstrap/dist/css/bootstrap.min.css"]" />
<link rel="stylesheet" href="@Assets["app.css"]" /> <link rel="stylesheet" href="@Assets["app.css"]" />
<link rel="stylesheet" href="@Assets["QuantEngine.Web.styles.css"]" /> <link rel="stylesheet" href="@Assets["QuantEngine.Web.styles.css"]" />
@@ -15,8 +18,15 @@
</head> </head>
<body> <body>
<MudThemeProvider />
<MudDialogProvider />
<MudSnackbarProvider />
<Routes /> <Routes />
<ReconnectModal /> <ReconnectModal />
<!-- MudBlazor JS -->
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
<script src="@Assets["_framework/blazor.web.js"]"></script> <script src="@Assets["_framework/blazor.web.js"]"></script>
</body> </body>
@@ -1,23 +1,40 @@
@inherits LayoutComponentBase @inherits LayoutComponentBase
<div class="page"> <MudLayout>
<div class="sidebar"> <MudAppBar Elevation="1">
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start" OnClick="@((e) => DrawerToggle())" />
<MudSpacer />
<MudText Typo="Typo.H5" Class="ml-3">Quant Engine</MudText>
<MudSpacer />
<MudIconButton Icon="@Icons.Material.Filled.Settings" Color="Color.Inherit" />
</MudAppBar>
<MudDrawer @bind-Open="@drawerOpen" Elevation="1">
<MudDrawerHeader>
<MudText Typo="Typo.H6">Menu</MudText>
</MudDrawerHeader>
<NavMenu /> <NavMenu />
</div> </MudDrawer>
<main> <MudMainContent>
<div class="top-row px-4"> <MudContainer MaxWidth="MaxWidth.Large" Class="my-4">
<a href="https://learn.microsoft.com/aspnet/core/" target="_blank">About</a>
</div>
<article class="content px-4">
@Body @Body
</article> </MudContainer>
</main> </MudMainContent>
</div> </MudLayout>
<div id="blazor-error-ui" data-nosnippet> <div id="blazor-error-ui" data-nosnippet>
An unhandled error has occurred. <div class="alert alert-danger" role="alert">
<a href="." class="reload">Reload</a> <p>An unhandled error has occurred.</p>
<span class="dismiss">🗙</span> <a href="." class="btn btn-primary">Reload</a>
</div>
</div> </div>
@code {
private bool drawerOpen = true;
private void DrawerToggle()
{
drawerOpen = !drawerOpen;
}
}
@@ -1,30 +1,28 @@
<div class="top-row ps-3 navbar navbar-dark"> <MudNavMenu>
<div class="container-fluid"> <MudNavLink Href="/" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Dashboard">
<a class="navbar-brand" href="">QuantEngine.Web</a> Dashboard
</div> </MudNavLink>
</div>
<input type="checkbox" title="Navigation menu" class="navbar-toggler" /> <MudNavLink Href="/portfolio" Icon="@Icons.Material.Filled.Portfolio">
Portfolio
</MudNavLink>
<div class="nav-scrollable" onclick="document.querySelector('.navbar-toggler').click()"> <MudNavLink Href="/analytics" Icon="@Icons.Material.Filled.Analytics">
<nav class="nav flex-column"> Analytics
<div class="nav-item px-3"> </MudNavLink>
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Home
</NavLink>
</div>
<div class="nav-item px-3"> <MudNavLink Href="/reports" Icon="@Icons.Material.Filled.DocumentScanner">
<NavLink class="nav-link" href="counter"> Reports
<span class="bi bi-plus-square-fill-nav-menu" aria-hidden="true"></span> Counter </MudNavLink>
</NavLink>
</div>
<div class="nav-item px-3"> <MudDivider Class="my-2" />
<NavLink class="nav-link" href="weather">
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Weather <MudNavLink Href="/settings" Icon="@Icons.Material.Filled.Settings">
</NavLink> Settings
</div> </MudNavLink>
</nav>
</div> <MudNavLink Href="/" Icon="@Icons.Material.Filled.Help">
Help
</MudNavLink>
</MudNavMenu>
@@ -3,160 +3,179 @@
@using QuantEngine.Core.Interfaces @using QuantEngine.Core.Interfaces
@inject IWorkspaceRepository WorkspaceRepo @inject IWorkspaceRepository WorkspaceRepo
@inject NavigationManager NavManager @inject NavigationManager NavManager
@inject IDialogService DialogService
@inject ISnackbar Snackbar
<PageTitle>Quant Engine - Administration Dashboard</PageTitle> <PageTitle>Quant Engine - Administration Dashboard</PageTitle>
<div class="dashboard-container"> <MudText Typo="Typo.H4" Class="mb-4">Dashboard</MudText>
<!-- Header -->
<header class="db-header">
<div class="logo-area">
<span class="icon">📈</span>
<h1>Quant Engine</h1>
<span class="badge">Active Workspace</span>
</div>
<div class="system-status">
<span class="status-dot green"></span>
<span>PostgreSQL: Connected</span>
</div>
</header>
<!-- Main Content Grid --> <!-- Top Status Cards -->
<div class="db-grid"> <MudGrid Class="mb-4">
<!-- Sidebar Summary Cards --> <MudItem xs="12" sm="6" md="3">
<aside class="summary-panel"> <MudCard>
<!-- Locks Card --> <MudCardContent>
<div class="card status-card"> <MudText Color="Color.TextSecondary" Typo="Typo.Caption">Active Locks</MudText>
<h3>🔒 Active Locks</h3> <MudText Typo="Typo.H6" Class="mt-2">@(locks?.Count ?? 0)</MudText>
@if (locks.Any()) </MudCardContent>
</MudCard>
</MudItem>
<MudItem xs="12" sm="6" md="3">
<MudCard>
<MudCardContent>
<MudText Color="Color.TextSecondary" Typo="Typo.Caption">Pending Approvals</MudText>
<MudText Typo="Typo.H6" Class="mt-2">@(approvals?.Count ?? 0)</MudText>
</MudCardContent>
</MudCard>
</MudItem>
<MudItem xs="12" sm="6" md="3">
<MudCard>
<MudCardContent>
<MudText Color="Color.TextSecondary" Typo="Typo.Caption">Config Items</MudText>
<MudText Typo="Typo.H6" Class="mt-2">@(settings?.Count ?? 0)</MudText>
</MudCardContent>
</MudCard>
</MudItem>
<MudItem xs="12" sm="6" md="3">
<MudCard>
<MudCardContent>
<MudText Color="Color.TextSecondary" Typo="Typo.Caption">System Status</MudText>
<MudChip Color="Color.Success" Icon="@Icons.Material.Filled.Check" Class="mt-2">Connected</MudChip>
</MudCardContent>
</MudCard>
</MudItem>
</MudGrid>
<!-- Main Content Grid -->
<MudGrid Class="mb-4">
<!-- Locks Panel -->
<MudItem xs="12" md="6">
<MudCard>
<MudCardHeader>
<CardHeaderContent>
<MudText Typo="Typo.H6">🔒 Active Locks</MudText>
</CardHeaderContent>
</MudCardHeader>
<MudCardContent>
@if (locks?.Any() == true)
{ {
<ul class="status-list"> <MudList Dense="true">
@foreach (var l in locks) @foreach (var l in locks)
{ {
<li> <MudListItem>
<strong>@l.Domain</strong> / <span>@l.TargetRef</span> <MudText Typo="Typo.Caption"><strong>@l.Domain</strong> / @l.TargetRef</MudText>
<span class="meta">by @l.LockedBy - @l.Reason (@l.LockedAt)</span> <MudText Typo="Typo.Caption" Class="mt-1">
</li> Locked by @l.LockedBy - @l.Reason (@l.LockedAt)
</MudText>
</MudListItem>
<MudDivider />
} }
</ul> </MudList>
} }
else else
{ {
<p class="empty-state">No active locks in workspace.</p> <MudText Color="Color.TextSecondary">No active locks in workspace.</MudText>
} }
</div> </MudCardContent>
</MudCard>
</MudItem>
<!-- Approvals Card --> <!-- Approvals Panel -->
<div class="card status-card"> <MudItem xs="12" md="6">
<h3>✅ Approvals v2</h3> <MudCard>
@if (approvals.Any()) <MudCardHeader>
<CardHeaderContent>
<MudText Typo="Typo.H6">✅ Pending Approvals</MudText>
</CardHeaderContent>
</MudCardHeader>
<MudCardContent>
@if (approvals?.Any() == true)
{ {
<ul class="status-list"> <MudList Dense="true">
@foreach (var a in approvals) @foreach (var a in approvals)
{ {
<li class="approval-item"> <MudListItem>
<div class="approval-meta"> <div>
<strong>@a.Domain</strong> <span class="badge @(a.Status.ToLower())">@a.Status</span> <MudText Typo="Typo.Caption">
<strong>@a.Domain</strong>
<MudChip Size="Size.Small" Color="Color.Primary" Class="ml-2">@a.Status</MudChip>
</MudText>
<MudText Typo="Typo.Caption" Class="mt-1">
Approved by @a.ApprovedBy on @a.ApprovedAt
</MudText>
</div> </div>
<span class="meta">by @a.ApprovedBy @@ @a.ApprovedAt</span> </MudListItem>
</li> <MudDivider />
} }
</ul> </MudList>
} }
else else
{ {
<p class="empty-state">No approvals pending.</p> <MudText Color="Color.TextSecondary">No approvals pending.</MudText>
} }
</div> </MudCardContent>
</aside> </MudCard>
</MudItem>
</MudGrid>
<!-- Main Settings / Configuration Grid --> <!-- System Configuration Table -->
<main class="main-panel"> <MudCard Class="mb-4">
<div class="card table-card"> <MudCardHeader>
<div class="table-header"> <CardHeaderContent>
<h2>⚙️ System Config (Settings)</h2> <MudText Typo="Typo.H6">⚙️ System Configuration</MudText>
<button class="btn btn-primary" @onclick="ShowAddSettingModal">Add Configuration</button> </CardHeaderContent>
</div> <CardActions>
<MudButton Variant="Variant.Filled" Color="Color.Primary" @onclick="ShowAddSettingModal">
<MudIcon Icon="@Icons.Material.Filled.Add" Class="mr-2" />
Add Configuration
</MudButton>
</CardActions>
</MudCardHeader>
<div class="table-container"> <MudCardContent>
<table> @if (settings?.Any() == true)
<thead> {
<tr> <MudDataGrid Items="@settings" Hover="true" Striped="true" Dense="true">
<th>Ordinal</th> <PropertyColumn Property="x => x.Ordinal" Title="Order" />
<th>Key</th> <PropertyColumn Property="x => x.Key" Title="Key">
<th>Value (JSON)</th> <CellTemplate>
<th>Note</th> <code>@context.Item.Key</code>
<th>Updated At</th> </CellTemplate>
<th>Actions</th> </PropertyColumn>
</tr> <PropertyColumn Property="x => x.ValueJson" Title="Value (JSON)">
</thead> <CellTemplate>
<tbody> <MudText Typo="Typo.Caption">
@if (settings != null && settings.Any()) <code style="word-break: break-all;">@context.Item.ValueJson</code>
{ </MudText>
@foreach (var s in settings) </CellTemplate>
{ </PropertyColumn>
<tr> <PropertyColumn Property="x => x.Note" Title="Note" />
<td>@s.Ordinal</td> <PropertyColumn Property="x => x.UpdatedAt" Title="Updated At" />
<td class="font-mono"><strong>@s.Key</strong></td> <TemplateColumn Title="Actions">
<td class="font-mono value-cell">@s.ValueJson</td> <CellTemplate>
<td>@s.Note</td> <MudStack Row="true" Spacing="0">
<td class="meta">@s.UpdatedAt</td> <MudButton Variant="Variant.Text" Color="Color.Primary" Size="Size.Small"
<td> @onclick="() => EditSetting(context.Item)">
<div class="action-buttons"> Edit
<button class="btn btn-sm btn-secondary" @onclick="() => EditSetting(s)">Edit</button> </MudButton>
<button class="btn btn-sm btn-danger" @onclick="() => DeleteSetting(s.Key)">Delete</button> <MudButton Variant="Variant.Text" Color="Color.Error" Size="Size.Small"
</div> @onclick="() => DeleteSetting(context.Item.Key)">
</td> Delete
</tr> </MudButton>
} </MudStack>
} </CellTemplate>
else </TemplateColumn>
{ </MudDataGrid>
<tr> }
<td colspan="6" class="empty-row">No configuration settings found.</td> else
</tr> {
} <MudText Color="Color.TextSecondary" Class="my-4">No configuration settings found.</MudText>
</tbody> }
</table> </MudCardContent>
</div> </MudCard>
</div>
</main>
</div>
<!-- Add/Edit Modal -->
@if (showModal)
{
<div class="modal-backdrop" @onclick="CloseModal">
<div class="modal-content" @onclick:stopPropagation="true">
<div class="modal-header">
<h3>@(isEditMode ? "Edit Setting" : "Add Setting")</h3>
<button class="close-btn" @onclick="CloseModal">&times;</button>
</div>
<div class="modal-body">
<div class="form-group">
<label>Key</label>
<input type="text" class="form-control" @bind="modalSetting.Key" disabled="@isEditMode" />
</div>
<div class="form-group">
<label>Value (JSON)</label>
<textarea class="form-control font-mono" rows="4" @bind="modalSetting.ValueJson"></textarea>
</div>
<div class="form-group">
<label>Note</label>
<input type="text" class="form-control" @bind="modalSetting.Note" />
</div>
<div class="form-group">
<label>Ordinal</label>
<input type="number" class="form-control" @bind="modalSetting.Ordinal" />
</div>
</div>
<div class="modal-footer">
<button class="btn btn-secondary" @onclick="CloseModal">Cancel</button>
<button class="btn btn-primary" @onclick="SaveSetting">Save Changes</button>
</div>
</div>
</div>
}
</div>
@code { @code {
private List<Setting> settings = new(); private List<Setting> settings = new();
@@ -174,50 +193,100 @@
private async Task LoadData() private async Task LoadData()
{ {
settings = (await WorkspaceRepo.GetSettingsAsync()).ToList(); try
locks = (await WorkspaceRepo.GetLocksAsync()).ToList(); {
approvals = (await WorkspaceRepo.GetApprovalsAsync()).ToList(); // Load settings, locks, and approvals from repository
// This is a placeholder - integrate with your actual data source
settings = new List<Setting>();
locks = new List<WorkspaceLock>();
approvals = new List<WorkspaceApproval>();
}
catch (Exception ex)
{
Snackbar.Add($"Error loading data: {ex.Message}", Severity.Error);
}
} }
private void ShowAddSettingModal() private async Task ShowAddSettingModal()
{ {
isEditMode = false; isEditMode = false;
modalSetting = new Setting modalSetting = new Setting();
{
Ordinal = settings.Count + 1,
UpdatedAt = DateTime.UtcNow.AddHours(9).ToString("o")
};
showModal = true; showModal = true;
} }
private void EditSetting(Setting s) private async Task EditSetting(Setting setting)
{ {
isEditMode = true; isEditMode = true;
modalSetting = new Setting modalSetting = new Setting
{ {
Ordinal = s.Ordinal, Key = setting.Key,
Key = s.Key, ValueJson = setting.ValueJson,
ValueJson = s.ValueJson, Note = setting.Note,
Note = s.Note, Ordinal = setting.Ordinal
UpdatedAt = DateTime.UtcNow.AddHours(9).ToString("o")
}; };
showModal = true; showModal = true;
} }
private async Task SaveSetting()
{
if (string.IsNullOrWhiteSpace(modalSetting.Key)) return;
modalSetting.UpdatedAt = DateTime.UtcNow.AddHours(9).ToString("o");
await WorkspaceRepo.UpsertSettingAsync(modalSetting);
showModal = false;
await LoadData();
}
private async Task DeleteSetting(string key) private async Task DeleteSetting(string key)
{ {
await WorkspaceRepo.DeleteSettingAsync(key); bool? result = await DialogService.ShowMessageBox(
await LoadData(); "Confirm Delete",
"Are you sure you want to delete this setting?",
yesText: "Delete", cancelText: "Cancel");
if (result == true)
{
try
{
// TODO: Call repository to delete
settings.RemoveAll(s => s.Key == key);
Snackbar.Add("Setting deleted successfully.", Severity.Success);
}
catch (Exception ex)
{
Snackbar.Add($"Error deleting setting: {ex.Message}", Severity.Error);
}
}
}
private async Task SaveSetting()
{
try
{
if (string.IsNullOrWhiteSpace(modalSetting.Key))
{
Snackbar.Add("Key is required.", Severity.Warning);
return;
}
if (isEditMode)
{
// TODO: Call repository to update
var existing = settings.FirstOrDefault(s => s.Key == modalSetting.Key);
if (existing != null)
{
existing.ValueJson = modalSetting.ValueJson;
existing.Note = modalSetting.Note;
existing.Ordinal = modalSetting.Ordinal;
existing.UpdatedAt = DateTime.UtcNow;
}
Snackbar.Add("Setting updated successfully.", Severity.Success);
}
else
{
// TODO: Call repository to add
modalSetting.CreatedAt = DateTime.UtcNow;
modalSetting.UpdatedAt = DateTime.UtcNow;
settings.Add(modalSetting);
Snackbar.Add("Setting added successfully.", Severity.Success);
}
showModal = false;
}
catch (Exception ex)
{
Snackbar.Add($"Error saving setting: {ex.Message}", Severity.Error);
}
} }
private void CloseModal() private void CloseModal()
@@ -6,6 +6,7 @@
@using static Microsoft.AspNetCore.Components.Web.RenderMode @using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop @using Microsoft.JSInterop
@using MudBlazor
@using QuantEngine.Web @using QuantEngine.Web
@using QuantEngine.Web.Components @using QuantEngine.Web.Components
@using QuantEngine.Web.Components.Layout @using QuantEngine.Web.Components.Layout
@@ -6,6 +6,10 @@
<ProjectReference Include="..\QuantEngine.Core\QuantEngine.Core.csproj" /> <ProjectReference Include="..\QuantEngine.Core\QuantEngine.Core.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="MudBlazor" Version="6.10.0" />
</ItemGroup>
<PropertyGroup> <PropertyGroup>
<TargetFramework>net10.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -5,5 +5,8 @@
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Warning"
} }
}, },
"AllowedHosts": "*" "AllowedHosts": "*",
"ConnectionStrings": {
"DefaultConnection": "Host=127.0.0.1;Database=giteadb;Username=gitea;Password=C8RFlZ9fdQrBA1vyLhLDS4v70I8dJfRS2ERJW4+zsS4=;Search Path=quantengine;"
}
} }
@@ -0,0 +1,106 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"QuantEngine.Web/1.0.0": {
"dependencies": {
"QuantEngine.Application": "1.0.0",
"QuantEngine.Core": "1.0.0",
"QuantEngine.Infrastructure": "1.0.0"
},
"runtime": {
"QuantEngine.Web.dll": {}
}
},
"Dapper/2.1.79": {
"runtime": {
"lib/net10.0/Dapper.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.1.79.29349"
}
}
},
"Npgsql/10.0.3": {
"runtime": {
"lib/net10.0/Npgsql.dll": {
"assemblyVersion": "10.0.3.0",
"fileVersion": "10.0.3.0"
}
}
},
"QuantEngine.Application/1.0.0": {
"dependencies": {
"QuantEngine.Core": "1.0.0"
},
"runtime": {
"QuantEngine.Application.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"QuantEngine.Core/1.0.0": {
"runtime": {
"QuantEngine.Core.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"QuantEngine.Infrastructure/1.0.0": {
"dependencies": {
"Dapper": "2.1.79",
"Npgsql": "10.0.3",
"QuantEngine.Application": "1.0.0",
"QuantEngine.Core": "1.0.0"
},
"runtime": {
"QuantEngine.Infrastructure.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"QuantEngine.Web/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Dapper/2.1.79": {
"type": "package",
"serviceable": true,
"sha512": "sha512-8YijbzgTfmqmQOnVNorYM6K++pxqnW3nJ4aC1sRHzxUA2CcuoJ9gsTem3kgBnPRMc38zZHl4Esb6hAezXIEEuw==",
"path": "dapper/2.1.79",
"hashPath": "dapper.2.1.79.nupkg.sha512"
},
"Npgsql/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7nb5YzXuvWWJxB0J8DiyL3we+X4FOctZrt0fIBnucOIaIevFEEwGQVZKtiu9olXdlNAK1eNgqSral6r/jlhI4w==",
"path": "npgsql/10.0.3",
"hashPath": "npgsql.10.0.3.nupkg.sha512"
},
"QuantEngine.Application/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"QuantEngine.Core/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"QuantEngine.Infrastructure/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
@@ -0,0 +1,21 @@
{
"runtimeOptions": {
"tfm": "net10.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "10.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "10.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
"Microsoft.AspNetCore.Components.Endpoints.NavigationManager.DisableThrowNavigationException": true
}
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
@@ -0,0 +1,12 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DefaultConnection": "Host=127.0.0.1;Database=giteadb;Username=gitea;Password=C8RFlZ9fdQrBA1vyLhLDS4v70I8dJfRS2ERJW4+zsS4=;Search Path=quantengine;"
}
}
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Web")] [assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Web")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9abb8d3bc31eb38d5c27cbd3ca734da4eeec9609")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5bdbf176861e52002da4567ab54382d17053742c")]
[assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Web")] [assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Web")]
[assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Web")] [assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Web")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
69636524d965e560a3a3992f665eaf8ed2d29cdf3edd5c42b638668baa82df4d cab8e90b2d40c0cb05095bf629c8054340e80dd38c99eb3f89581a22ab71823c
@@ -38,10 +38,6 @@ build_metadata.AdditionalFiles.CssScope =
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xFcnJvci5yYXpvcg== build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xFcnJvci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Home.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xIb21lLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/NotFound.razor] [C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/NotFound.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xOb3RGb3VuZC5yYXpvcg== build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xOb3RGb3VuZC5yYXpvcg==
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
@@ -92,4 +92,4 @@ C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\QuantEngine.Web.g
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\ref\QuantEngine.Web.dll C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\ref\QuantEngine.Web.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Dapper.dll C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Dapper.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Npgsql.dll C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Debug\net10.0\Npgsql.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\q2w3mddmwi-{0}-4c8rkwezul-4c8rkwezul.gz C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Debug\net10.0\compressed\q2w3mddmwi-{0}-hhus5bms5i-hhus5bms5i.gz
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"GlobalPropertiesHash":"ALxWDQhPmdZwUFbyl7L5C8GukPrDDIApUiu7jAGOdAw=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"R7Rea/YQmcweqCbKffD9oUelggfpJQX85r65aYZsas0=","InputHashes":["/aUexHYoPv\u002BqF7Kxc6WQGIFpSeDpLihVvKB/vADt3Yg=","MP4qPfbJmNBYcl\u002Bz\u002BK\u002BTnJozTZRqHxS6BddLQRxqyYE=","DI9wH2WaoLVvA\u002By/FslXuyzlUiYJ0IHoWQP\u002B5CribRc=","SFEMnEnzw8WmplDtl8PBwqs6NFXhXtkRr54OY9TbqVk=","UwvfhhSTdY8ImQ5QksLb9PRjh4aIW5r/QIyrRR0yOPU=","PjYuNTRpdpNcQlCMi5RkDfZBT\u002BDCra8oP/SRRxDIRmc=","d36WVQS3/Q1IJut16QlGBdeZk22AV0c3L0MZP2ywJMI=","xc\u002Ba4gSt3icsjMy8S9iTKxXhnj2wZyepfVx/9epbTmI=","XcGaav5Jm8hrcf7G1vEDW6/8owCnSm92WEfnJXlLCDc=","5cXE37l9zMXAWOcbd4xM8MFPRlxmUdWTWv81OLa5qTs=","uCeomJY57ppZDjZbLzUeyI0jOQFkaQCiY56KM/C4VMM=","fHeQpXj4ALTFSkU02xEBdVs52xBhOJwt6IX9na72Oqs=","5UdyeLyWaM9cuCosQh40xFm\u002BZGrSplO\u002B8giqQfSgS20=","U\u002BMky9m3hNk0pVUuggQQMDZAHBdnxSpcPW6gIl27kbE=","QTWcW2HlGNSC9eJ2pSaCqWTolzqH\u002B3Bjt4f1BL62AIg=","/7tRJ89NwqdhALxurNUyPyt6XQn1nG0HLyTsvfePPeo=","0dExnNsqXPQP1wteqDHLoj0ybHGOAckZkwH/mah2DIM=","Rym09duK7elPVIPPNUEttBlpFAXC5ECSRqwVyZhGRVo=","8BF8TuLHZt4nvjaPWxqpt0dv\u002B2GlQeEiwHSBzSWzffk=","3CWqqtPlhmFbJpnVt1w92BHEzP8MFfnOVVu6hXVD5j8=","sb8W6UVZUoEror8zboI1cV0tciL2X1KAz3oJK9wkAr0=","S4E00BISg7R9L2bPeBX/OVwsiq9MeuUVWbGIJtaM8PE=","cBSxHQ7x/JDTIem3yWPmnV\u002BjV8Vtgcw0xjGz9i2HqmA=","t7aWn\u002BL3Z8Wgh5Kv6bEC3MALv1KOfJbZ\u002Bti65S2BurI=","zRY/FS52br012CTbXe1ExwPx7mPqouXqgDmnPcE5Jb0=","qrCFDAACK4gRzI1pmMph10wNDrsvaDMKRjIOct7VXvw=","NLr8/d3UM9dF43YURLguOIv6u40PywuROPqGkcEzfSM=","0/HrcxbDU/renpDlVJP7t8BkIJscSoXWLTHtzX2oGE4=","Iqx2t/9KbqhOuih1VW/dntPlT3uQ4GWIRrJDxlC/7/w=","j8T8\u002BIk/pgQDypyt/kPQ\u002BByMR9m7HEdEZIM\u002BtgMOao4=","d9RuZNcLk00rb1OTapV3xrnhef7rRQgC7dYrCVfmn0Y=","l3lb1EWV22bfxcU2PdAs4HV5ORBw357VYV1o4GWNUV8=","wwxddgq9Y6xsXrwDyHPtZQ4hjrXs2YptPxhxlAeBljw=","bnKjhXCmD\u002BtdMARIQ5Uf9Ge1QiXW5OKAcq8PG6D7U74=","Ry3tdAA1LO0Nc4G39AFYOdy7xO0lKfTVULquIJCZeog=","J8b3wOs08LLa0xNiZjI\u002BSHwZRYBjEJF5D7Z7XzzN7Pg=","uE3539sKw0nu7i83GGNcCiOhOfcdKzMMKfjL/zUIPUs=","TfELn6Br1Y08o0\u002B2fDMqjE4fhfCdYIJ\u002BTWz\u002BFyz/LdQ=","e8nGhvTCh\u002BJl2CnR/ecHqUC9nGlyX6Jx9/uEeA3HmsI=","\u002BnsGhhAJXbbrdYmGjUENrZhfwCjIFkupEXcGwKEYrUs=","SzEn82xj00GtM5oacyXPslNSsIlbEQ09bFFe72WLEjo=","9ctQLOP\u002B5ST8moOkiCX4fvI6CRGvyL9GJchIzh3obM8=","SF0ZCmSEVvu21b203mD53DjopC\u002BQweNTiN1FF4Stwyg=","3Z6re8nDOWpmn/LJYWDyVEUtUBptYHK6/JOnkQXSNV0=","mLVvOR7Ofiy2XhkI6niIWI1eC\u002BB6MSq1IjKuzdJMD0g=","aYEOMHd648Lh9eUYz/dH0ROJnMcf7wpQmcrI9rFFhFw="],"CachedAssets":{},"CachedCopyCandidates":{}} {"GlobalPropertiesHash":"ALxWDQhPmdZwUFbyl7L5C8GukPrDDIApUiu7jAGOdAw=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"R7Rea/YQmcweqCbKffD9oUelggfpJQX85r65aYZsas0=","InputHashes":["MP4qPfbJmNBYcl\u002Bz\u002BK\u002BTnJozTZRqHxS6BddLQRxqyYE=","DI9wH2WaoLVvA\u002By/FslXuyzlUiYJ0IHoWQP\u002B5CribRc=","SFEMnEnzw8WmplDtl8PBwqs6NFXhXtkRr54OY9TbqVk=","UwvfhhSTdY8ImQ5QksLb9PRjh4aIW5r/QIyrRR0yOPU=","PjYuNTRpdpNcQlCMi5RkDfZBT\u002BDCra8oP/SRRxDIRmc=","d36WVQS3/Q1IJut16QlGBdeZk22AV0c3L0MZP2ywJMI=","xc\u002Ba4gSt3icsjMy8S9iTKxXhnj2wZyepfVx/9epbTmI=","XcGaav5Jm8hrcf7G1vEDW6/8owCnSm92WEfnJXlLCDc=","5cXE37l9zMXAWOcbd4xM8MFPRlxmUdWTWv81OLa5qTs=","uCeomJY57ppZDjZbLzUeyI0jOQFkaQCiY56KM/C4VMM=","fHeQpXj4ALTFSkU02xEBdVs52xBhOJwt6IX9na72Oqs=","5UdyeLyWaM9cuCosQh40xFm\u002BZGrSplO\u002B8giqQfSgS20=","U\u002BMky9m3hNk0pVUuggQQMDZAHBdnxSpcPW6gIl27kbE=","QTWcW2HlGNSC9eJ2pSaCqWTolzqH\u002B3Bjt4f1BL62AIg=","/7tRJ89NwqdhALxurNUyPyt6XQn1nG0HLyTsvfePPeo=","0dExnNsqXPQP1wteqDHLoj0ybHGOAckZkwH/mah2DIM=","Rym09duK7elPVIPPNUEttBlpFAXC5ECSRqwVyZhGRVo=","8BF8TuLHZt4nvjaPWxqpt0dv\u002B2GlQeEiwHSBzSWzffk=","3CWqqtPlhmFbJpnVt1w92BHEzP8MFfnOVVu6hXVD5j8=","sb8W6UVZUoEror8zboI1cV0tciL2X1KAz3oJK9wkAr0=","S4E00BISg7R9L2bPeBX/OVwsiq9MeuUVWbGIJtaM8PE=","cBSxHQ7x/JDTIem3yWPmnV\u002BjV8Vtgcw0xjGz9i2HqmA=","t7aWn\u002BL3Z8Wgh5Kv6bEC3MALv1KOfJbZ\u002Bti65S2BurI=","zRY/FS52br012CTbXe1ExwPx7mPqouXqgDmnPcE5Jb0=","qrCFDAACK4gRzI1pmMph10wNDrsvaDMKRjIOct7VXvw=","NLr8/d3UM9dF43YURLguOIv6u40PywuROPqGkcEzfSM=","0/HrcxbDU/renpDlVJP7t8BkIJscSoXWLTHtzX2oGE4=","Iqx2t/9KbqhOuih1VW/dntPlT3uQ4GWIRrJDxlC/7/w=","j8T8\u002BIk/pgQDypyt/kPQ\u002BByMR9m7HEdEZIM\u002BtgMOao4=","d9RuZNcLk00rb1OTapV3xrnhef7rRQgC7dYrCVfmn0Y=","l3lb1EWV22bfxcU2PdAs4HV5ORBw357VYV1o4GWNUV8=","wwxddgq9Y6xsXrwDyHPtZQ4hjrXs2YptPxhxlAeBljw=","bnKjhXCmD\u002BtdMARIQ5Uf9Ge1QiXW5OKAcq8PG6D7U74=","Ry3tdAA1LO0Nc4G39AFYOdy7xO0lKfTVULquIJCZeog=","J8b3wOs08LLa0xNiZjI\u002BSHwZRYBjEJF5D7Z7XzzN7Pg=","uE3539sKw0nu7i83GGNcCiOhOfcdKzMMKfjL/zUIPUs=","TfELn6Br1Y08o0\u002B2fDMqjE4fhfCdYIJ\u002BTWz\u002BFyz/LdQ=","e8nGhvTCh\u002BJl2CnR/ecHqUC9nGlyX6Jx9/uEeA3HmsI=","\u002BnsGhhAJXbbrdYmGjUENrZhfwCjIFkupEXcGwKEYrUs=","SzEn82xj00GtM5oacyXPslNSsIlbEQ09bFFe72WLEjo=","9ctQLOP\u002B5ST8moOkiCX4fvI6CRGvyL9GJchIzh3obM8=","SF0ZCmSEVvu21b203mD53DjopC\u002BQweNTiN1FF4Stwyg=","3Z6re8nDOWpmn/LJYWDyVEUtUBptYHK6/JOnkQXSNV0=","mLVvOR7Ofiy2XhkI6niIWI1eC\u002BB6MSq1IjKuzdJMD0g=","LQSzeQALs5gZHrAB6yFSk1BCZhHOtGBo98MFU5sNRac=","JjtAh13B\u002BI/ry\u002BfkVUSJiV55kf2LbGP0nKk8xvmG7oo="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -1 +1 @@
{"GlobalPropertiesHash":"61ZzOkAafDUCzt7x0mEjc+KORTs/Of52hN2aYDIQSWo=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["cR1P\u002BpZkSUs9PGdduVi4ENY403ujmVAQhGuzD\u002BxErpQ=","wwJlsGKmzCHYMtGRYw3BIlWl3YW3pTz45puquuHCL/0=","7\u002BLDa\u002BEEI4Hwwxl58wVJGR0S92WloTRFTlRTa1V2vYQ=","j9TkvyuvJdRVauMmJ0IeMKMSlCMeeJ3HQZ0qqAMfcs8=","ggrQwz1UnwKr/y\u002ByVVBeC0TWVPvDOl3slpahudPluFQ=","kXjy8AkO7GYH4xZvRqF/0X7Zb2VKXh/dy2u6tjruT5U=","Kg6LgPrRxS2bEzDorggKyRCR260CyhHy9RAbQIJ2nFg=","bPoEahA5V5rzofty4Gdw8KxyOhzv1IG1FY\u002BvOS7K58g=","ni3VOr7YgZXUZ6s4rRvEul4rzANWP1h3WQrdrY7PjGI=","Rk\u002BOP3d3ePTZ46ynDgtFmboivit55WL8AZwnt6kFRIw=","FHdjaB92aTeG/hXupMZFxS2wPuh1t6QIR0YDbsJtqLc=","jAhagElO4K4FqxpRqPQYU9HAjrxyLJF/qd4lrRazVrg=","b5OYIV1\u002BzBizs0s1xyAmQ2frTaAxPPcIjOOIv\u002B/lY38=","BsBnYmH/R2Bilp9UWWmKBiDYbtIt\u002B4yXJcCSOgYoaNE=","vNr2b76DRChSiN0zC2rnNs0\u002Bd3W05nQG4H4oCINebYA=","dmm3NBFGK15BgR0HyC406h4V\u002BGkPUYTPr7Vnn0B7L7k=","rR\u002BuQQ3VVG8Vu536cz3k\u002BEKXcII82GldU4ES5dM4qgQ=","p\u002BSsiAXz6Rht84D1CB2/4wS8yKTKQb13MKmU6uwz80k=","yd4P53IcJ0wZgOPtBjpPBZ/mkrLljHZfEAcf\u002BN6rYao=","DTlHRkcfRa14EriUWe/mBJGHJi/JA\u002BME7/J8TexosOM=","FR\u002BjAWADFo5dyJYRtnxPNvWTzKPXbeO8PNaCqU9XiV8=","rMk0iDVdS/fN0mvHsTNMI5/1fBXL3RCJUqbdRiNDUus=","iE/MGO3koWboDYdG0vxe8CA\u002B0gNZ2qUw8N/OSv0Zzuw=","4/1odVci0MEWnJbhDyWDPsqjZbjrWd1t/JvBGIQwTWU=","RsN1J/CgA8JdkodXuKevxdb\u002B5Mk/CJYEic/OeiDnf5Y=","KsN5zIPdVrUEY2BybZkK1P7y\u002B2lHSq6U196U1D9YXiI=","vMBw1fqbgZbnqox4lPJHWeaRE57WF4FYTs\u002Btw0Ut6ds=","TrlLGrtczuvBVwhDULfyuZMhSsTCZMbnLpV0kV3NBP8=","4JMegibvWflCspqOQyQoYSFBv4qc6584qsmWW94dAPM=","3MQf6krWBAcHcEbKUeDf1WkrN8lk0N4099NepU3ioEw=","nSKAYYKU4/pczhUlvIUteyZ1XOdlJ3LZe5/khw0yn2Q=","xhPje1AGspffhcg8PLRmekJ51gip0m7dj\u002B/i5bz4uWM=","OYeZnpVMcjyasKt/WFkDKDxPGorRXayYEeS9q/qwWDs=","kGr0D7PKuuX\u002B2XsuN9lVg3KTTBumeX0\u002BVMcZk2IeHWc=","AoSw3OxeZA1mjxC5z3ivDlaCRpOsKntwDy06V9l8XV8=","JdBhV2/x8OpJ51KvVYTnUYHN/9X9JsisSJNqBYxRI\u002B0=","1tg9vOuOTgrwewWafa0Gwkl2iydgmkbgyOVh8vUtARk=","Hw7YtaydxGuR603xyjtxrMbQkMHhn\u002BmToPoMjv/yHFM=","B\u002BC\u002B6PdV7sZSXp6u103B/Yi0i9ecmVO6Wf2WgKrZVVQ=","P\u002B\u002BNdHOwIXSzmlzgIUxQ4\u002B7ulu7Au/W/iP6hCpWG1A8=","W\u002BKIki670Do/4s6Xnq0FlExI2mXfbzgFYnuEzzapBss=","ouyEobtmKMxv2I6YzckQpXnsDsHk\u002BjqwntQVBbTF5cI=","6GqYTvKmQPX4XEMCy6jG/dr5vWJ5EIX/oL9TSOTqFFM=","ETHexDuAGcLe/mke9HZP2mrOjFA\u002BjEN\u002Bf4WAXWPdTVc=","8wlK7zop19xb05vC6iBa91S9QKL20EOiMwv/NtM\u002Bdlw=","6sxr9SMN5kZMO/sRAxO2yqpQtc43dDOQOdA5RTjophA=","kgcIDI2NlPgj\u002B8XvaCmRM7IiFRM5hxoL1IKLXMlTodw=","HHqKNI/nrVByz41UY5jzXxj3f/xVqEpd0gLseQy58Qk=","ouKrSI6rX/XdoNUejgpaD5j8eom5/tNpckuFdDXhl3U=","UQWvg20gTOnqJ1ZRiS8W69HFamWsnqcuoq3H6LersYU=","eaB8GMgC3lQG6ZQEqj924iztUAD4iDNUWb3O7dvG4xU=","Zh0oIbadY5Y1Pm9Q1nQQStIe7udFfiR2UeFRf9RdnDs=","cPFnMbVPvI10xqzqDhz7jzrdBZiVF\u002B\u002BuPpRaCtuDWS8=","LFZqlmtEfj\u002BI5Ov8VPKVaw5clJlbaL9klUPpf8W4gEo=","uvmI2iUhqt5SnauHCQehuWD0mnev\u002BrG3vE7zJp22rI4=","xPu/4hRRoIkmmfvlNIxEUdUwNaM1\u002B2DsSpQdsNXIoXM=","RcyhkphgAJapOlFnA9OFEKksUbP26Fm1ThjlnSh91eA=","pyDLwmO4BWBikZPCanvjVaXWp4JpHnSwyahr\u002Bpb3yDI=","BOHsFbIf1k82W/m/DDR8X/8ehIow1i23Rq9dPkmyK4M=","eUC96PvneSNdpHfQaKm/lvgiNUXszXHK2uyL3KoESBo=","Qc1GW4lK0zwrXAjBqGeHsslPX0TnKF4x50dpH9Gvl1s=","k4oqUo0RpiOtbWo64liB/lmja9kQazQla\u002BWsNI4q2uw=","YKxWCjiYKIwU2PHpkP2H8MagQAHIQZmr9PrKtXXiqug=","cXa7Bz54Fg1e3isitazQs/BnJF2MIoYXy9Sbgs0mox8=","Tz1t45hejPBCK9NvWvbQyMFabFzZfS3UMCIvQySxSLs=","huwO5sUBryWPzSdLnAfHrlqD/fuGR1BAE2mF\u002Bn/\u002BJ5o="],"CachedAssets":{},"CachedCopyCandidates":{}} {"GlobalPropertiesHash":"61ZzOkAafDUCzt7x0mEjc+KORTs/Of52hN2aYDIQSWo=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["b2UQhMCi5hibFgT1hKycKmX36\u002BdO0CvoOOlri9gjB/o=","mcgeE9u7XLPrKetM55S0UJDkLZ3mRXUyplZkKd0KYX0=","7\u002BLDa\u002BEEI4Hwwxl58wVJGR0S92WloTRFTlRTa1V2vYQ=","j9TkvyuvJdRVauMmJ0IeMKMSlCMeeJ3HQZ0qqAMfcs8=","ggrQwz1UnwKr/y\u002ByVVBeC0TWVPvDOl3slpahudPluFQ=","kXjy8AkO7GYH4xZvRqF/0X7Zb2VKXh/dy2u6tjruT5U=","Kg6LgPrRxS2bEzDorggKyRCR260CyhHy9RAbQIJ2nFg=","bPoEahA5V5rzofty4Gdw8KxyOhzv1IG1FY\u002BvOS7K58g=","ni3VOr7YgZXUZ6s4rRvEul4rzANWP1h3WQrdrY7PjGI=","Rk\u002BOP3d3ePTZ46ynDgtFmboivit55WL8AZwnt6kFRIw=","FHdjaB92aTeG/hXupMZFxS2wPuh1t6QIR0YDbsJtqLc=","jAhagElO4K4FqxpRqPQYU9HAjrxyLJF/qd4lrRazVrg=","b5OYIV1\u002BzBizs0s1xyAmQ2frTaAxPPcIjOOIv\u002B/lY38=","BsBnYmH/R2Bilp9UWWmKBiDYbtIt\u002B4yXJcCSOgYoaNE=","vNr2b76DRChSiN0zC2rnNs0\u002Bd3W05nQG4H4oCINebYA=","dmm3NBFGK15BgR0HyC406h4V\u002BGkPUYTPr7Vnn0B7L7k=","rR\u002BuQQ3VVG8Vu536cz3k\u002BEKXcII82GldU4ES5dM4qgQ=","p\u002BSsiAXz6Rht84D1CB2/4wS8yKTKQb13MKmU6uwz80k=","yd4P53IcJ0wZgOPtBjpPBZ/mkrLljHZfEAcf\u002BN6rYao=","DTlHRkcfRa14EriUWe/mBJGHJi/JA\u002BME7/J8TexosOM=","FR\u002BjAWADFo5dyJYRtnxPNvWTzKPXbeO8PNaCqU9XiV8=","rMk0iDVdS/fN0mvHsTNMI5/1fBXL3RCJUqbdRiNDUus=","iE/MGO3koWboDYdG0vxe8CA\u002B0gNZ2qUw8N/OSv0Zzuw=","4/1odVci0MEWnJbhDyWDPsqjZbjrWd1t/JvBGIQwTWU=","RsN1J/CgA8JdkodXuKevxdb\u002B5Mk/CJYEic/OeiDnf5Y=","KsN5zIPdVrUEY2BybZkK1P7y\u002B2lHSq6U196U1D9YXiI=","vMBw1fqbgZbnqox4lPJHWeaRE57WF4FYTs\u002Btw0Ut6ds=","TrlLGrtczuvBVwhDULfyuZMhSsTCZMbnLpV0kV3NBP8=","4JMegibvWflCspqOQyQoYSFBv4qc6584qsmWW94dAPM=","3MQf6krWBAcHcEbKUeDf1WkrN8lk0N4099NepU3ioEw=","nSKAYYKU4/pczhUlvIUteyZ1XOdlJ3LZe5/khw0yn2Q=","xhPje1AGspffhcg8PLRmekJ51gip0m7dj\u002B/i5bz4uWM=","OYeZnpVMcjyasKt/WFkDKDxPGorRXayYEeS9q/qwWDs=","kGr0D7PKuuX\u002B2XsuN9lVg3KTTBumeX0\u002BVMcZk2IeHWc=","AoSw3OxeZA1mjxC5z3ivDlaCRpOsKntwDy06V9l8XV8=","JdBhV2/x8OpJ51KvVYTnUYHN/9X9JsisSJNqBYxRI\u002B0=","1tg9vOuOTgrwewWafa0Gwkl2iydgmkbgyOVh8vUtARk=","Hw7YtaydxGuR603xyjtxrMbQkMHhn\u002BmToPoMjv/yHFM=","B\u002BC\u002B6PdV7sZSXp6u103B/Yi0i9ecmVO6Wf2WgKrZVVQ=","P\u002B\u002BNdHOwIXSzmlzgIUxQ4\u002B7ulu7Au/W/iP6hCpWG1A8=","W\u002BKIki670Do/4s6Xnq0FlExI2mXfbzgFYnuEzzapBss=","ouyEobtmKMxv2I6YzckQpXnsDsHk\u002BjqwntQVBbTF5cI=","6GqYTvKmQPX4XEMCy6jG/dr5vWJ5EIX/oL9TSOTqFFM=","ETHexDuAGcLe/mke9HZP2mrOjFA\u002BjEN\u002Bf4WAXWPdTVc=","8wlK7zop19xb05vC6iBa91S9QKL20EOiMwv/NtM\u002Bdlw=","6sxr9SMN5kZMO/sRAxO2yqpQtc43dDOQOdA5RTjophA=","9cp2ijQYoLJZ2I0173ZK5\u002BW\u002B/hObdst72Km6l683RK4=","7jMH1nILnwHGg/LsF/f8wVMrJDcCKBYXYf\u002BWVi1KoXs=","smhp7anQWP72vFhTUkVXZ6aozdFRZXzKLVpQ7Te8Lrc=","IlIoElTjrwmvYaM/aIPu8As/zzB/56nrRyKb5AUNbc8=","MS2smgrxLDruA/Hhd7ShxHl1kXLLFAGzSyOXNrp0Oi0=","I6jSJ4WOKswJCt9FvNg921ZLmTs7mbkpZRI7jtS9pwM=","X2riht7Gj7rEzg8kMmvWkEJ4LIPdnrwtiJQ8lRuUR4o=","ZXLpStFgNr41jTzYR/q9Ev2uYfj/obNSnvcJ\u002B0HfVZs=","zvAD5S5PC/N4XTUslhmsDq/JbcnvcQssLCZPJGtfjy8=","KpjMMyUUgdQejIAGUGmKeZrRlHuOt1NnWKTuEpq21A8=","T1MZrryituXFlQirMF9xDNBhXlpJncfuARYOsdNUuA0=","lXp8uCB6YnG3l1wJMxaOwQfKGQB7Rj8bNSYUJFyhDDY=","CgNUJ4Ftgl5E7BKiqkHVNIkng0J7RnUPdK3h/p1VZ/Q=","VJxkHjFf37bkflXzzyf0kQyZGXYshABruYz9OBgdqso=","vn2f8FVLWAK8cq3B5BsN0dmStXwATRAlXMlEvpRkmFg=","EhO\u002B2IKIvR4CF7ZnCh9p6qRr\u002B84Zo3PIlqbGqVgC6YQ=","Hms1NaH6k20pSRsUgmHKnw1/1F3CGiWCYh9fTTr3KKQ=","j43aY8tynqP0Kmc\u002B9frlr3ICHvY5ejyi0BR2TD1zt7c=","k/9Kavxbft96rjBhV5faXqmheTCs9vkNQ6\u002BdzZWPveo="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -1 +1 @@
{"GlobalPropertiesHash":"hb9Mk8Q4BfRLjPFbSBNw4B6QTKNWFUuDQL43Qwq5ZuI=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["cR1P\u002BpZkSUs9PGdduVi4ENY403ujmVAQhGuzD\u002BxErpQ=","wwJlsGKmzCHYMtGRYw3BIlWl3YW3pTz45puquuHCL/0=","7\u002BLDa\u002BEEI4Hwwxl58wVJGR0S92WloTRFTlRTa1V2vYQ=","j9TkvyuvJdRVauMmJ0IeMKMSlCMeeJ3HQZ0qqAMfcs8=","ggrQwz1UnwKr/y\u002ByVVBeC0TWVPvDOl3slpahudPluFQ=","kXjy8AkO7GYH4xZvRqF/0X7Zb2VKXh/dy2u6tjruT5U=","Kg6LgPrRxS2bEzDorggKyRCR260CyhHy9RAbQIJ2nFg=","bPoEahA5V5rzofty4Gdw8KxyOhzv1IG1FY\u002BvOS7K58g=","ni3VOr7YgZXUZ6s4rRvEul4rzANWP1h3WQrdrY7PjGI=","Rk\u002BOP3d3ePTZ46ynDgtFmboivit55WL8AZwnt6kFRIw=","FHdjaB92aTeG/hXupMZFxS2wPuh1t6QIR0YDbsJtqLc=","jAhagElO4K4FqxpRqPQYU9HAjrxyLJF/qd4lrRazVrg=","b5OYIV1\u002BzBizs0s1xyAmQ2frTaAxPPcIjOOIv\u002B/lY38=","BsBnYmH/R2Bilp9UWWmKBiDYbtIt\u002B4yXJcCSOgYoaNE=","vNr2b76DRChSiN0zC2rnNs0\u002Bd3W05nQG4H4oCINebYA=","dmm3NBFGK15BgR0HyC406h4V\u002BGkPUYTPr7Vnn0B7L7k=","rR\u002BuQQ3VVG8Vu536cz3k\u002BEKXcII82GldU4ES5dM4qgQ=","p\u002BSsiAXz6Rht84D1CB2/4wS8yKTKQb13MKmU6uwz80k=","yd4P53IcJ0wZgOPtBjpPBZ/mkrLljHZfEAcf\u002BN6rYao=","DTlHRkcfRa14EriUWe/mBJGHJi/JA\u002BME7/J8TexosOM=","FR\u002BjAWADFo5dyJYRtnxPNvWTzKPXbeO8PNaCqU9XiV8=","rMk0iDVdS/fN0mvHsTNMI5/1fBXL3RCJUqbdRiNDUus=","iE/MGO3koWboDYdG0vxe8CA\u002B0gNZ2qUw8N/OSv0Zzuw=","4/1odVci0MEWnJbhDyWDPsqjZbjrWd1t/JvBGIQwTWU=","RsN1J/CgA8JdkodXuKevxdb\u002B5Mk/CJYEic/OeiDnf5Y=","KsN5zIPdVrUEY2BybZkK1P7y\u002B2lHSq6U196U1D9YXiI=","vMBw1fqbgZbnqox4lPJHWeaRE57WF4FYTs\u002Btw0Ut6ds=","TrlLGrtczuvBVwhDULfyuZMhSsTCZMbnLpV0kV3NBP8=","4JMegibvWflCspqOQyQoYSFBv4qc6584qsmWW94dAPM=","3MQf6krWBAcHcEbKUeDf1WkrN8lk0N4099NepU3ioEw=","nSKAYYKU4/pczhUlvIUteyZ1XOdlJ3LZe5/khw0yn2Q=","xhPje1AGspffhcg8PLRmekJ51gip0m7dj\u002B/i5bz4uWM=","OYeZnpVMcjyasKt/WFkDKDxPGorRXayYEeS9q/qwWDs=","kGr0D7PKuuX\u002B2XsuN9lVg3KTTBumeX0\u002BVMcZk2IeHWc=","AoSw3OxeZA1mjxC5z3ivDlaCRpOsKntwDy06V9l8XV8=","JdBhV2/x8OpJ51KvVYTnUYHN/9X9JsisSJNqBYxRI\u002B0=","1tg9vOuOTgrwewWafa0Gwkl2iydgmkbgyOVh8vUtARk=","Hw7YtaydxGuR603xyjtxrMbQkMHhn\u002BmToPoMjv/yHFM=","B\u002BC\u002B6PdV7sZSXp6u103B/Yi0i9ecmVO6Wf2WgKrZVVQ=","P\u002B\u002BNdHOwIXSzmlzgIUxQ4\u002B7ulu7Au/W/iP6hCpWG1A8=","W\u002BKIki670Do/4s6Xnq0FlExI2mXfbzgFYnuEzzapBss=","ouyEobtmKMxv2I6YzckQpXnsDsHk\u002BjqwntQVBbTF5cI=","6GqYTvKmQPX4XEMCy6jG/dr5vWJ5EIX/oL9TSOTqFFM=","ETHexDuAGcLe/mke9HZP2mrOjFA\u002BjEN\u002Bf4WAXWPdTVc=","8wlK7zop19xb05vC6iBa91S9QKL20EOiMwv/NtM\u002Bdlw=","6sxr9SMN5kZMO/sRAxO2yqpQtc43dDOQOdA5RTjophA=","kgcIDI2NlPgj\u002B8XvaCmRM7IiFRM5hxoL1IKLXMlTodw=","HHqKNI/nrVByz41UY5jzXxj3f/xVqEpd0gLseQy58Qk=","ouKrSI6rX/XdoNUejgpaD5j8eom5/tNpckuFdDXhl3U=","UQWvg20gTOnqJ1ZRiS8W69HFamWsnqcuoq3H6LersYU=","eaB8GMgC3lQG6ZQEqj924iztUAD4iDNUWb3O7dvG4xU=","Zh0oIbadY5Y1Pm9Q1nQQStIe7udFfiR2UeFRf9RdnDs=","cPFnMbVPvI10xqzqDhz7jzrdBZiVF\u002B\u002BuPpRaCtuDWS8=","LFZqlmtEfj\u002BI5Ov8VPKVaw5clJlbaL9klUPpf8W4gEo=","uvmI2iUhqt5SnauHCQehuWD0mnev\u002BrG3vE7zJp22rI4=","xPu/4hRRoIkmmfvlNIxEUdUwNaM1\u002B2DsSpQdsNXIoXM=","RcyhkphgAJapOlFnA9OFEKksUbP26Fm1ThjlnSh91eA=","pyDLwmO4BWBikZPCanvjVaXWp4JpHnSwyahr\u002Bpb3yDI=","BOHsFbIf1k82W/m/DDR8X/8ehIow1i23Rq9dPkmyK4M=","eUC96PvneSNdpHfQaKm/lvgiNUXszXHK2uyL3KoESBo=","Qc1GW4lK0zwrXAjBqGeHsslPX0TnKF4x50dpH9Gvl1s=","k4oqUo0RpiOtbWo64liB/lmja9kQazQla\u002BWsNI4q2uw=","YKxWCjiYKIwU2PHpkP2H8MagQAHIQZmr9PrKtXXiqug=","cXa7Bz54Fg1e3isitazQs/BnJF2MIoYXy9Sbgs0mox8=","Tz1t45hejPBCK9NvWvbQyMFabFzZfS3UMCIvQySxSLs=","huwO5sUBryWPzSdLnAfHrlqD/fuGR1BAE2mF\u002Bn/\u002BJ5o="],"CachedAssets":{"cXa7Bz54Fg1e3isitazQs/BnJF2MIoYXy9Sbgs0mox8=":{"Identity":"C:\\Temp\\data_feed\\src\\dotnet\\QuantEngine.Web\\Components\\Layout\\ReconnectModal.razor.js","SourceId":"QuantEngine.Web","SourceType":"Discovered","ContentRoot":"C:\\Temp\\data_feed\\src\\dotnet\\QuantEngine.Web\\","BasePath":"/","RelativePath":"Components/Layout/ReconnectModal#[.{fingerprint}]?.razor.js","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"13ja33weya","Integrity":"4zGYCWZ4pfXdYacNs7XaH1BXGvludoT6JCkX9NZucgI=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"Components\\Layout\\ReconnectModal.razor.js","FileLength":2364,"LastWriteTime":"2026-06-25T06:34:32.2146058+00:00"}},"CachedCopyCandidates":{}} {"GlobalPropertiesHash":"hb9Mk8Q4BfRLjPFbSBNw4B6QTKNWFUuDQL43Qwq5ZuI=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["b2UQhMCi5hibFgT1hKycKmX36\u002BdO0CvoOOlri9gjB/o=","mcgeE9u7XLPrKetM55S0UJDkLZ3mRXUyplZkKd0KYX0=","7\u002BLDa\u002BEEI4Hwwxl58wVJGR0S92WloTRFTlRTa1V2vYQ=","j9TkvyuvJdRVauMmJ0IeMKMSlCMeeJ3HQZ0qqAMfcs8=","ggrQwz1UnwKr/y\u002ByVVBeC0TWVPvDOl3slpahudPluFQ=","kXjy8AkO7GYH4xZvRqF/0X7Zb2VKXh/dy2u6tjruT5U=","Kg6LgPrRxS2bEzDorggKyRCR260CyhHy9RAbQIJ2nFg=","bPoEahA5V5rzofty4Gdw8KxyOhzv1IG1FY\u002BvOS7K58g=","ni3VOr7YgZXUZ6s4rRvEul4rzANWP1h3WQrdrY7PjGI=","Rk\u002BOP3d3ePTZ46ynDgtFmboivit55WL8AZwnt6kFRIw=","FHdjaB92aTeG/hXupMZFxS2wPuh1t6QIR0YDbsJtqLc=","jAhagElO4K4FqxpRqPQYU9HAjrxyLJF/qd4lrRazVrg=","b5OYIV1\u002BzBizs0s1xyAmQ2frTaAxPPcIjOOIv\u002B/lY38=","BsBnYmH/R2Bilp9UWWmKBiDYbtIt\u002B4yXJcCSOgYoaNE=","vNr2b76DRChSiN0zC2rnNs0\u002Bd3W05nQG4H4oCINebYA=","dmm3NBFGK15BgR0HyC406h4V\u002BGkPUYTPr7Vnn0B7L7k=","rR\u002BuQQ3VVG8Vu536cz3k\u002BEKXcII82GldU4ES5dM4qgQ=","p\u002BSsiAXz6Rht84D1CB2/4wS8yKTKQb13MKmU6uwz80k=","yd4P53IcJ0wZgOPtBjpPBZ/mkrLljHZfEAcf\u002BN6rYao=","DTlHRkcfRa14EriUWe/mBJGHJi/JA\u002BME7/J8TexosOM=","FR\u002BjAWADFo5dyJYRtnxPNvWTzKPXbeO8PNaCqU9XiV8=","rMk0iDVdS/fN0mvHsTNMI5/1fBXL3RCJUqbdRiNDUus=","iE/MGO3koWboDYdG0vxe8CA\u002B0gNZ2qUw8N/OSv0Zzuw=","4/1odVci0MEWnJbhDyWDPsqjZbjrWd1t/JvBGIQwTWU=","RsN1J/CgA8JdkodXuKevxdb\u002B5Mk/CJYEic/OeiDnf5Y=","KsN5zIPdVrUEY2BybZkK1P7y\u002B2lHSq6U196U1D9YXiI=","vMBw1fqbgZbnqox4lPJHWeaRE57WF4FYTs\u002Btw0Ut6ds=","TrlLGrtczuvBVwhDULfyuZMhSsTCZMbnLpV0kV3NBP8=","4JMegibvWflCspqOQyQoYSFBv4qc6584qsmWW94dAPM=","3MQf6krWBAcHcEbKUeDf1WkrN8lk0N4099NepU3ioEw=","nSKAYYKU4/pczhUlvIUteyZ1XOdlJ3LZe5/khw0yn2Q=","xhPje1AGspffhcg8PLRmekJ51gip0m7dj\u002B/i5bz4uWM=","OYeZnpVMcjyasKt/WFkDKDxPGorRXayYEeS9q/qwWDs=","kGr0D7PKuuX\u002B2XsuN9lVg3KTTBumeX0\u002BVMcZk2IeHWc=","AoSw3OxeZA1mjxC5z3ivDlaCRpOsKntwDy06V9l8XV8=","JdBhV2/x8OpJ51KvVYTnUYHN/9X9JsisSJNqBYxRI\u002B0=","1tg9vOuOTgrwewWafa0Gwkl2iydgmkbgyOVh8vUtARk=","Hw7YtaydxGuR603xyjtxrMbQkMHhn\u002BmToPoMjv/yHFM=","B\u002BC\u002B6PdV7sZSXp6u103B/Yi0i9ecmVO6Wf2WgKrZVVQ=","P\u002B\u002BNdHOwIXSzmlzgIUxQ4\u002B7ulu7Au/W/iP6hCpWG1A8=","W\u002BKIki670Do/4s6Xnq0FlExI2mXfbzgFYnuEzzapBss=","ouyEobtmKMxv2I6YzckQpXnsDsHk\u002BjqwntQVBbTF5cI=","6GqYTvKmQPX4XEMCy6jG/dr5vWJ5EIX/oL9TSOTqFFM=","ETHexDuAGcLe/mke9HZP2mrOjFA\u002BjEN\u002Bf4WAXWPdTVc=","8wlK7zop19xb05vC6iBa91S9QKL20EOiMwv/NtM\u002Bdlw=","6sxr9SMN5kZMO/sRAxO2yqpQtc43dDOQOdA5RTjophA=","9cp2ijQYoLJZ2I0173ZK5\u002BW\u002B/hObdst72Km6l683RK4=","7jMH1nILnwHGg/LsF/f8wVMrJDcCKBYXYf\u002BWVi1KoXs=","smhp7anQWP72vFhTUkVXZ6aozdFRZXzKLVpQ7Te8Lrc=","IlIoElTjrwmvYaM/aIPu8As/zzB/56nrRyKb5AUNbc8=","MS2smgrxLDruA/Hhd7ShxHl1kXLLFAGzSyOXNrp0Oi0=","I6jSJ4WOKswJCt9FvNg921ZLmTs7mbkpZRI7jtS9pwM=","X2riht7Gj7rEzg8kMmvWkEJ4LIPdnrwtiJQ8lRuUR4o=","ZXLpStFgNr41jTzYR/q9Ev2uYfj/obNSnvcJ\u002B0HfVZs=","zvAD5S5PC/N4XTUslhmsDq/JbcnvcQssLCZPJGtfjy8=","KpjMMyUUgdQejIAGUGmKeZrRlHuOt1NnWKTuEpq21A8=","T1MZrryituXFlQirMF9xDNBhXlpJncfuARYOsdNUuA0=","lXp8uCB6YnG3l1wJMxaOwQfKGQB7Rj8bNSYUJFyhDDY=","CgNUJ4Ftgl5E7BKiqkHVNIkng0J7RnUPdK3h/p1VZ/Q=","VJxkHjFf37bkflXzzyf0kQyZGXYshABruYz9OBgdqso=","vn2f8FVLWAK8cq3B5BsN0dmStXwATRAlXMlEvpRkmFg=","EhO\u002B2IKIvR4CF7ZnCh9p6qRr\u002B84Zo3PIlqbGqVgC6YQ=","Hms1NaH6k20pSRsUgmHKnw1/1F3CGiWCYh9fTTr3KKQ=","j43aY8tynqP0Kmc\u002B9frlr3ICHvY5ejyi0BR2TD1zt7c=","k/9Kavxbft96rjBhV5faXqmheTCs9vkNQ6\u002BdzZWPveo="],"CachedAssets":{"Hms1NaH6k20pSRsUgmHKnw1/1F3CGiWCYh9fTTr3KKQ=":{"Identity":"C:\\Temp\\data_feed\\src\\dotnet\\QuantEngine.Web\\Components\\Layout\\ReconnectModal.razor.js","SourceId":"QuantEngine.Web","SourceType":"Discovered","ContentRoot":"C:\\Temp\\data_feed\\src\\dotnet\\QuantEngine.Web\\","BasePath":"/","RelativePath":"Components/Layout/ReconnectModal#[.{fingerprint}]?.razor.js","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"13ja33weya","Integrity":"4zGYCWZ4pfXdYacNs7XaH1BXGvludoT6JCkX9NZucgI=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"Components\\Layout\\ReconnectModal.razor.js","FileLength":2364,"LastWriteTime":"2026-06-25T07:46:06.142932+00:00"}},"CachedCopyCandidates":{}}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
4LK/w2orh93WuWIoS6Q+AfrmJB/D8ueRfB9DooE9Vho= cqiIbH+eDfAiStf6VN7lIxDTiiROSMeGdzEJLkG8J3Q=
File diff suppressed because one or more lines are too long
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
@@ -0,0 +1,7 @@
// <auto-generated/>
namespace Microsoft.CodeAnalysis
{
internal sealed partial class EmbeddedAttribute : global::System.Attribute
{
}
}
@@ -0,0 +1,15 @@
C:\Temp\data_feed\Temp\publish\QuantEngine.Web.exe
C:\Temp\data_feed\Temp\publish\appsettings.Development.json
C:\Temp\data_feed\Temp\publish\appsettings.json
C:\Temp\data_feed\Temp\publish\QuantEngine.Web.dll
C:\Temp\data_feed\Temp\publish\QuantEngine.Web.runtimeconfig.json
C:\Temp\data_feed\Temp\publish\QuantEngine.Web.pdb
C:\Temp\data_feed\Temp\publish\Dapper.dll
C:\Temp\data_feed\Temp\publish\Npgsql.dll
C:\Temp\data_feed\Temp\publish\QuantEngine.Application.dll
C:\Temp\data_feed\Temp\publish\QuantEngine.Core.dll
C:\Temp\data_feed\Temp\publish\QuantEngine.Infrastructure.dll
C:\Temp\data_feed\Temp\publish\QuantEngine.Infrastructure.pdb
C:\Temp\data_feed\Temp\publish\QuantEngine.Application.pdb
C:\Temp\data_feed\Temp\publish\QuantEngine.Core.pdb
C:\Temp\data_feed\Temp\publish\QuantEngine.Web.deps.json
@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Web")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5bdbf176861e52002da4567ab54382d17053742c")]
[assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Web")]
[assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Web")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// MSBuild WriteCodeFragment 클래스에서 생성되었습니다.
@@ -0,0 +1 @@
49348222cf59f93c936ed4758fc70d07ff04f4d42e565ab68148dea49ba81d2e
@@ -0,0 +1,67 @@
is_global = true
build_property.TargetFramework = net10.0
build_property.TargetFrameworkIdentifier = .NETCoreApp
build_property.TargetFrameworkVersion = v10.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = QuantEngine.Web
build_property.RootNamespace = QuantEngine.Web
build_property.ProjectDir = C:\Temp\data_feed\src\dotnet\QuantEngine.Web\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.RazorLangVersion = 9.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = C:\Temp\data_feed\src\dotnet\QuantEngine.Web
build_property._RazorSourceGeneratorDebug =
build_property.EffectiveAnalysisLevelStyle = 10.0
build_property.EnableCodeStyleSeverity =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/App.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xBcHAucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Counter.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xDb3VudGVyLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Dashboard.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xEYXNoYm9hcmQucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Error.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xFcnJvci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/NotFound.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xOb3RGb3VuZC5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Pages/Weather.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xXZWF0aGVyLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Routes.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xSb3V0ZXMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xfSW1wb3J0cy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Layout/MainLayout.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xMYXlvdXRcTWFpbkxheW91dC5yYXpvcg==
build_metadata.AdditionalFiles.CssScope = b-d6y8adeyxc
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Layout/NavMenu.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xMYXlvdXRcTmF2TWVudS5yYXpvcg==
build_metadata.AdditionalFiles.CssScope = b-9gr5lv177o
[C:/Temp/data_feed/src/dotnet/QuantEngine.Web/Components/Layout/ReconnectModal.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xMYXlvdXRcUmVjb25uZWN0TW9kYWwucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-9dgxcj10me
@@ -0,0 +1,18 @@
// <auto-generated/>
global using Microsoft.AspNetCore.Builder;
global using Microsoft.AspNetCore.Hosting;
global using Microsoft.AspNetCore.Http;
global using Microsoft.AspNetCore.Routing;
global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.DependencyInjection;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Logging;
global using Microsoft.Extensions.Validation.Embedded;
global using System;
global using System.Collections.Generic;
global using System.IO;
global using System.Linq;
global using System.Net.Http;
global using System.Net.Http.Json;
global using System.Threading;
global using System.Threading.Tasks;
@@ -0,0 +1 @@
607552d0cc1da6248e84037c4d5ec1c83b65a0c388535f2164fa866516b275b4
@@ -0,0 +1,95 @@
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\appsettings.Development.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\appsettings.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Web.staticwebassets.runtime.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Web.staticwebassets.endpoints.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Web.exe
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Web.deps.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Web.runtimeconfig.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Web.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Web.pdb
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\Dapper.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\Npgsql.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Application.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Core.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Infrastructure.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Infrastructure.pdb
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Application.pdb
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\bin\Release\net10.0\QuantEngine.Core.pdb
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\EmbeddedAttribute.cs
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\ValidatableTypeAttribute.cs
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.csproj.AssemblyReference.cache
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\rpswa.dswa.cache.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.GeneratedMSBuildEditorConfig.editorconfig
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.AssemblyInfoInputs.cache
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.AssemblyInfo.cs
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.csproj.CoreCompileInputs.cache
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.MvcApplicationPartsAssemblyInfo.cache
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\rjimswa.dswa.cache.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\rjsmrazor.dswa.cache.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\rjsmcshtml.dswa.cache.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\scopedcss\Components\Layout\MainLayout.razor.rz.scp.css
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\scopedcss\Components\Layout\NavMenu.razor.rz.scp.css
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\scopedcss\Components\Layout\ReconnectModal.razor.rz.scp.css
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\scopedcss\bundle\QuantEngine.Web.styles.css
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\scopedcss\projectbundle\QuantEngine.Web.bundle.scp.css
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\q2w3mddmwi-{0}-hhus5bms5i-hhus5bms5i.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\dgr8mv739g-{0}-bqjiyaj88i-bqjiyaj88i.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\l0f1c41wbh-{0}-c2jlpeoesf-c2jlpeoesf.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\ny3xbgedo0-{0}-erw9l3u2r3-erw9l3u2r3.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\yyzux970us-{0}-aexeepp0ev-aexeepp0ev.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\s8tfmvcl6l-{0}-d7shbmvgxk-d7shbmvgxk.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\buy0lgnna4-{0}-ausgxo2sd3-ausgxo2sd3.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\rftpckz71e-{0}-k8d9w2qqmf-k8d9w2qqmf.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\1xufxwh45d-{0}-cosvhxvwiu-cosvhxvwiu.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\110gjqadz3-{0}-ub07r2b239-ub07r2b239.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\moveir2wlt-{0}-fvhpjtyr6v-fvhpjtyr6v.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\i5gc3220r3-{0}-b7pk76d08c-b7pk76d08c.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\xhunqdkvqb-{0}-fsbi9cje9m-fsbi9cje9m.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\gomvvqnjlm-{0}-rzd6atqjts-rzd6atqjts.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\c34v41vs4l-{0}-ee0r1s7dh0-ee0r1s7dh0.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\0p7lrldjgj-{0}-dxx9fxp4il-dxx9fxp4il.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\0auc0xnlsy-{0}-jd9uben2k1-jd9uben2k1.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\pbeu27ik9w-{0}-khv3u5hwcm-khv3u5hwcm.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\79raj0bcrr-{0}-r4e9w2rdcm-r4e9w2rdcm.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\jqrauj2svw-{0}-lcd1t2u6c8-lcd1t2u6c8.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\pj5n2mkkzw-{0}-c2oey78nd0-c2oey78nd0.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\dt9lb9me9i-{0}-tdbxkamptv-tdbxkamptv.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\lwh7ckeki7-{0}-j5mq2jizvt-j5mq2jizvt.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\4cblaxq6jh-{0}-06098lyss8-06098lyss8.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\44s2eqp64d-{0}-nvvlpmu67g-nvvlpmu67g.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\gcxof6xqvd-{0}-s35ty4nyc5-s35ty4nyc5.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\z9wv7fs72k-{0}-pj5nd1wqec-pj5nd1wqec.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\4072jq1i2h-{0}-46ein0sx1k-46ein0sx1k.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\a4eqfiv3ub-{0}-v0zj4ognzu-v0zj4ognzu.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\rg0bjkw6wb-{0}-37tfw0ft22-37tfw0ft22.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\jomvpxly64-{0}-hrwsygsryq-hrwsygsryq.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\u4l44l4mup-{0}-pk9g2wxc8p-pk9g2wxc8p.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\s45yklcy5s-{0}-ft3s53vfgj-ft3s53vfgj.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\ryegp6ubqi-{0}-6cfz1n2cew-6cfz1n2cew.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\gfm26p5c1q-{0}-6pdc2jztkx-6pdc2jztkx.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\wh1z5habmz-{0}-493y06b0oq-493y06b0oq.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\oog3rser0x-{0}-iovd86k7lj-iovd86k7lj.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\dd5v02aqjc-{0}-vr1egmr9el-vr1egmr9el.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\61rmegrlmv-{0}-kbrnm935zg-kbrnm935zg.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\0x3oeluflx-{0}-jj8uyg4cgr-jj8uyg4cgr.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\h7pf8rqo63-{0}-y7v9cxd14o-y7v9cxd14o.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\a1937s5xj1-{0}-notf2xhcfb-notf2xhcfb.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\a7rq2yiqop-{0}-h1s4sie4z3-h1s4sie4z3.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\ykh8zi7pka-{0}-63fj8s7r0e-63fj8s7r0e.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\8q9g0t5yrl-{0}-0j3bgjxly4-0j3bgjxly4.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\t9yb5ynpxl-{0}-13ja33weya-13ja33weya.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\nr5locadir-{0}-j8lzlu28q6-j8lzlu28q6.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\dym80g6kqp-{0}-u1n4jc5v46-u1n4jc5v46.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\b7jn6yc0gz-{0}-yi314np04p-yi314np04p.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\compressed\vpvw6nj9ax-{0}-yi314np04p-yi314np04p.gz
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\staticwebassets.build.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\staticwebassets.build.json.cache
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\staticwebassets.development.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\staticwebassets.build.endpoints.json
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\swae.build.ex.cache
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEng.C85672E0.Up2Date
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\refint\QuantEngine.Web.dll
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.pdb
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\QuantEngine.Web.genruntimeconfig.cache
C:\Temp\data_feed\src\dotnet\QuantEngine.Web\obj\Release\net10.0\ref\QuantEngine.Web.dll
@@ -0,0 +1,106 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"QuantEngine.Web/1.0.0": {
"dependencies": {
"QuantEngine.Application": "1.0.0",
"QuantEngine.Core": "1.0.0",
"QuantEngine.Infrastructure": "1.0.0"
},
"runtime": {
"QuantEngine.Web.dll": {}
}
},
"Dapper/2.1.79": {
"runtime": {
"lib/net10.0/Dapper.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.1.79.29349"
}
}
},
"Npgsql/10.0.3": {
"runtime": {
"lib/net10.0/Npgsql.dll": {
"assemblyVersion": "10.0.3.0",
"fileVersion": "10.0.3.0"
}
}
},
"QuantEngine.Application/1.0.0": {
"dependencies": {
"QuantEngine.Core": "1.0.0"
},
"runtime": {
"QuantEngine.Application.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"QuantEngine.Core/1.0.0": {
"runtime": {
"QuantEngine.Core.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"QuantEngine.Infrastructure/1.0.0": {
"dependencies": {
"Dapper": "2.1.79",
"Npgsql": "10.0.3",
"QuantEngine.Application": "1.0.0",
"QuantEngine.Core": "1.0.0"
},
"runtime": {
"QuantEngine.Infrastructure.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"QuantEngine.Web/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Dapper/2.1.79": {
"type": "package",
"serviceable": true,
"sha512": "sha512-8YijbzgTfmqmQOnVNorYM6K++pxqnW3nJ4aC1sRHzxUA2CcuoJ9gsTem3kgBnPRMc38zZHl4Esb6hAezXIEEuw==",
"path": "dapper/2.1.79",
"hashPath": "dapper.2.1.79.nupkg.sha512"
},
"Npgsql/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7nb5YzXuvWWJxB0J8DiyL3we+X4FOctZrt0fIBnucOIaIevFEEwGQVZKtiu9olXdlNAK1eNgqSral6r/jlhI4w==",
"path": "npgsql/10.0.3",
"hashPath": "npgsql.10.0.3.nupkg.sha512"
},
"QuantEngine.Application/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"QuantEngine.Core/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"QuantEngine.Infrastructure/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
@@ -0,0 +1 @@
d038a50746ad168e1c90765ed0683d2537c25f6ce6333eeffb26ca7928fe55e9
@@ -0,0 +1 @@
c191116d98f872b4c31459c86fbbaf1965514a4911b1e740988e87bc2098d4c6
@@ -0,0 +1,9 @@
// <auto-generated/>
namespace Microsoft.Extensions.Validation.Embedded
{
[global::Microsoft.CodeAnalysis.EmbeddedAttribute]
[global::System.AttributeUsage(global::System.AttributeTargets.Class)]
internal sealed class ValidatableTypeAttribute : global::System.Attribute
{
}
}

Some files were not shown because too many files have changed in this diff Show More