mirror of
				https://github.com/MindWorkAI/AI-Studio.git
				synced 2025-11-04 11:40:21 +00:00 
			
		
		
		
	Migrated to .NET 9 and MudBlazor 8.3.0
This commit is contained in:
		
							parent
							
								
									2e8444b5e3
								
							
						
					
					
						commit
						0d8a00d451
					
				@ -20,7 +20,7 @@
 | 
				
			|||||||
                    <MudText Typo="Typo.h5">Confidence Card</MudText>
 | 
					                    <MudText Typo="Typo.h5">Confidence Card</MudText>
 | 
				
			||||||
                </CardHeaderContent>
 | 
					                </CardHeaderContent>
 | 
				
			||||||
            </MudCardHeader>
 | 
					            </MudCardHeader>
 | 
				
			||||||
            <MudCardContent Style="max-height: 50vh; overflow: auto;">
 | 
					            <MudCardContent Style="max-height: 50vh; max-width: 35vw; overflow: auto;">
 | 
				
			||||||
                <MudText Typo="Typo.h6">Description</MudText>
 | 
					                <MudText Typo="Typo.h6">Description</MudText>
 | 
				
			||||||
                <MudMarkdown Value="@this.currentConfidence.Description"/>
 | 
					                <MudMarkdown Value="@this.currentConfidence.Description"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -59,7 +59,7 @@ public partial class ConfidenceInfo : ComponentBase, IMessageBusReceiver, IDispo
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private string GetCurrentConfidenceColor() => $"color: {this.currentConfidence.Level.GetColor(this.SettingsManager)};";
 | 
					    private string GetCurrentConfidenceColor() => $"color: {this.currentConfidence.Level.GetColor(this.SettingsManager)};";
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    private string GetPopoverStyle() => $"border-color: {this.currentConfidence.Level.GetColor(this.SettingsManager)}; max-width: calc(35vw);";
 | 
					    private string GetPopoverStyle() => $"border-color: {this.currentConfidence.Level.GetColor(this.SettingsManager)};";
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    #region Implementation of IMessageBusReceiver
 | 
					    #region Implementation of IMessageBusReceiver
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
<MudTooltip Text="You can switch between your profiles here" Placement="Placement.Top">
 | 
					<MudTooltip Text="You can switch between your profiles here" Placement="Placement.Top">
 | 
				
			||||||
    <MudMenu StartIcon="@Icons.Material.Filled.Person4" EndIcon="@Icons.Material.Filled.KeyboardArrowDown" Label="@this.CurrentProfile.Name" Variant="Variant.Filled" Color="Color.Default" Class="@this.MarginClass">
 | 
					    <MudMenu TransformOrigin="@Origin.BottomLeft" AnchorOrigin="Origin.TopLeft" StartIcon="@Icons.Material.Filled.Person4" EndIcon="@Icons.Material.Filled.KeyboardArrowDown" Label="@this.CurrentProfile.Name" Variant="Variant.Filled" Color="Color.Default" Class="@this.MarginClass">
 | 
				
			||||||
        @foreach (var profile in this.SettingsManager.ConfigurationData.Profiles.GetAllProfiles())
 | 
					        @foreach (var profile in this.SettingsManager.ConfigurationData.Profiles.GetAllProfiles())
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            <MudMenuItem OnClick="() => this.SelectionChanged(profile)">
 | 
					            <MudMenuItem OnClick="() => this.SelectionChanged(profile)">
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class ConfirmDialog : ComponentBase
 | 
					public partial class ConfirmDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public string Message { get; set; } = string.Empty;
 | 
					    public string Message { get; set; } = string.Empty;
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class DataSourceERI_V1InfoDialog : ComponentBase, IAsyncDisposable, ISecretId
 | 
					public partial class DataSourceERI_V1InfoDialog : ComponentBase, IAsyncDisposable, ISecretId
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public DataSourceERI_V1 DataSource { get; set; }
 | 
					    public DataSourceERI_V1 DataSource { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -16,7 +16,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
 | 
					public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public bool IsEditing { get; set; }
 | 
					    public bool IsEditing { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class DataSourceLocalDirectoryDialog : ComponentBase
 | 
					public partial class DataSourceLocalDirectoryDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public bool IsEditing { get; set; }
 | 
					    public bool IsEditing { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class DataSourceLocalDirectoryInfoDialog : ComponentBase, IAsyncDisposable
 | 
					public partial class DataSourceLocalDirectoryInfoDialog : ComponentBase, IAsyncDisposable
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public DataSourceLocalDirectory DataSource { get; set; }
 | 
					    public DataSourceLocalDirectory DataSource { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class DataSourceLocalFileDialog : ComponentBase
 | 
					public partial class DataSourceLocalFileDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public bool IsEditing { get; set; }
 | 
					    public bool IsEditing { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class DataSourceLocalFileInfoDialog : ComponentBase
 | 
					public partial class DataSourceLocalFileInfoDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public DataSourceLocalFile DataSource { get; set; }
 | 
					    public DataSourceLocalFile DataSource { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class EmbeddingMethodDialog : ComponentBase
 | 
					public partial class EmbeddingMethodDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// The user chosen embedding name.
 | 
					    /// The user chosen embedding name.
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class EmbeddingProviderDialog : ComponentBase, ISecretId
 | 
					public partial class EmbeddingProviderDialog : ComponentBase, ISecretId
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// The embedding's number in the list.
 | 
					    /// The embedding's number in the list.
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class ProfileDialog : ComponentBase
 | 
					public partial class ProfileDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// The profile's number in the list.
 | 
					    /// The profile's number in the list.
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class ProviderDialog : ComponentBase, ISecretId
 | 
					public partial class ProviderDialog : ComponentBase, ISecretId
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// The provider's number in the list.
 | 
					    /// The provider's number in the list.
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class RetrievalProcessDialog : ComponentBase
 | 
					public partial class RetrievalProcessDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// The user chosen retrieval process name.
 | 
					    /// The user chosen retrieval process name.
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@ namespace AIStudio.Dialogs.Settings;
 | 
				
			|||||||
public abstract class SettingsDialogBase : ComponentBase
 | 
					public abstract class SettingsDialogBase : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    protected MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    protected IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public List<ConfigurationSelectData<string>> AvailableLLMProviders { get; set; } = new();
 | 
					    public List<ConfigurationSelectData<string>> AvailableLLMProviders { get; set; } = new();
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class SingleInputDialog : ComponentBase
 | 
					public partial class SingleInputDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public string Message { get; set; } = string.Empty;
 | 
					    public string Message { get; set; } = string.Empty;
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ public partial class UpdateDialog : ComponentBase
 | 
				
			|||||||
    private static readonly MetaDataAttribute META_DATA = ASSEMBLY.GetCustomAttribute<MetaDataAttribute>()!;
 | 
					    private static readonly MetaDataAttribute META_DATA = ASSEMBLY.GetCustomAttribute<MetaDataAttribute>()!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public UpdateResponse UpdateResponse { get; set; }
 | 
					    public UpdateResponse UpdateResponse { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@ namespace AIStudio.Dialogs;
 | 
				
			|||||||
public partial class WorkspaceSelectionDialog : ComponentBase
 | 
					public partial class WorkspaceSelectionDialog : ComponentBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [CascadingParameter]
 | 
					    [CascadingParameter]
 | 
				
			||||||
    private MudDialogInstance MudDialog { get; set; } = null!;
 | 
					    private IMudDialogInstance MudDialog { get; set; } = null!;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [Parameter]
 | 
					    [Parameter]
 | 
				
			||||||
    public string Message { get; set; } = string.Empty;
 | 
					    public string Message { get; set; } = string.Empty;
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    <PropertyGroup>
 | 
					    <PropertyGroup>
 | 
				
			||||||
        <Authors>Thorsten Sommer</Authors>
 | 
					        <Authors>Thorsten Sommer</Authors>
 | 
				
			||||||
        <TargetFramework>net8.0</TargetFramework>
 | 
					        <TargetFramework>net9.0</TargetFramework>
 | 
				
			||||||
        <Nullable>enable</Nullable>
 | 
					        <Nullable>enable</Nullable>
 | 
				
			||||||
        <WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
 | 
					        <WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
 | 
				
			||||||
        <ImplicitUsings>enable</ImplicitUsings>
 | 
					        <ImplicitUsings>enable</ImplicitUsings>
 | 
				
			||||||
@ -31,6 +31,7 @@
 | 
				
			|||||||
            CS8974: Converting method group to non-delegate type; Did you intend to invoke the method? We have this issue with MudBlazor validation methods.
 | 
					            CS8974: Converting method group to non-delegate type; Did you intend to invoke the method? We have this issue with MudBlazor validation methods.
 | 
				
			||||||
        -->
 | 
					        -->
 | 
				
			||||||
        <NoWarn>IL2026, CS8974</NoWarn>
 | 
					        <NoWarn>IL2026, CS8974</NoWarn>
 | 
				
			||||||
 | 
					        <LangVersion>latest</LangVersion>
 | 
				
			||||||
    </PropertyGroup>
 | 
					    </PropertyGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <ItemGroup>
 | 
					    <ItemGroup>
 | 
				
			||||||
@ -45,11 +46,11 @@
 | 
				
			|||||||
    </ItemGroup>
 | 
					    </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <ItemGroup>
 | 
					    <ItemGroup>
 | 
				
			||||||
      <PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="7.1.0" />
 | 
					      <PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="8.0.0" />
 | 
				
			||||||
      <PackageReference Include="HtmlAgilityPack" Version="1.11.74" />
 | 
					      <PackageReference Include="HtmlAgilityPack" Version="1.12.0" />
 | 
				
			||||||
      <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.2" />
 | 
					      <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.3" />
 | 
				
			||||||
      <PackageReference Include="MudBlazor" Version="7.16.0" />
 | 
					      <PackageReference Include="MudBlazor" Version="8.3.0" />
 | 
				
			||||||
      <PackageReference Include="MudBlazor.Markdown" Version="7.14.0" />
 | 
					      <PackageReference Include="MudBlazor.Markdown" Version="8.0.0" />
 | 
				
			||||||
      <PackageReference Include="ReverseMarkdown" Version="4.6.0" />
 | 
					      <PackageReference Include="ReverseMarkdown" Version="4.6.0" />
 | 
				
			||||||
    </ItemGroup>
 | 
					    </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,61 +1,61 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "version": 1,
 | 
					  "version": 1,
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "net8.0": {
 | 
					    "net9.0": {
 | 
				
			||||||
      "CodeBeam.MudBlazor.Extensions": {
 | 
					      "CodeBeam.MudBlazor.Extensions": {
 | 
				
			||||||
        "type": "Direct",
 | 
					        "type": "Direct",
 | 
				
			||||||
        "requested": "[7.1.0, )",
 | 
					        "requested": "[8.0.0, )",
 | 
				
			||||||
        "resolved": "7.1.0",
 | 
					        "resolved": "8.0.0",
 | 
				
			||||||
        "contentHash": "qbyCT4XMc/lbi2XdkUh9aSPu97RUPDisU7fpTCU0Q4nGywqJsAxrwcpaxJqoycq+uj3smwX5zOn6yzfsHUObeQ==",
 | 
					        "contentHash": "MNxReFDmME1OLhHsD7lrfQZ9cMu5X60PIvidyFueq0ddDKHlagHS6CuYBZRQ62rHqmocdHWOLyJ73t2Im0NnWw==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "BuildBundlerMinifier": "3.2.449",
 | 
					          "BuildBundlerMinifier": "3.2.449",
 | 
				
			||||||
          "CsvHelper": "31.0.3",
 | 
					          "CsvHelper": "33.0.1",
 | 
				
			||||||
          "Microsoft.AspNetCore.Components": "8.0.11",
 | 
					          "Microsoft.AspNetCore.Components": "9.0.1",
 | 
				
			||||||
          "Microsoft.AspNetCore.Components.Web": "8.0.11",
 | 
					          "Microsoft.AspNetCore.Components.Web": "9.0.1",
 | 
				
			||||||
          "MudBlazor": "7.15.0",
 | 
					          "MudBlazor": "8.0.0",
 | 
				
			||||||
          "ZXing.Net": "0.16.9"
 | 
					          "ZXing.Net": "0.16.9"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "HtmlAgilityPack": {
 | 
					      "HtmlAgilityPack": {
 | 
				
			||||||
        "type": "Direct",
 | 
					        "type": "Direct",
 | 
				
			||||||
        "requested": "[1.11.74, )",
 | 
					        "requested": "[1.12.0, )",
 | 
				
			||||||
        "resolved": "1.11.74",
 | 
					        "resolved": "1.12.0",
 | 
				
			||||||
        "contentHash": "q0wRGbegtr4sZXjCNoV3OeRLTOcTNJQKiO9etNVSKPoTo33unmSK8Ahg36C4jIg/Hd3aw8YnTQjtKpBy+wlOpg=="
 | 
					        "contentHash": "VHtVZmfoYhQyA/POvZRLuTpCz1zhzIDrdYRJIRV73e9wKAzjW71biYNOHOWx8MxEX3TE4TWVfx1QDRoZcj2AWw=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.FileProviders.Embedded": {
 | 
					      "Microsoft.Extensions.FileProviders.Embedded": {
 | 
				
			||||||
        "type": "Direct",
 | 
					        "type": "Direct",
 | 
				
			||||||
        "requested": "[9.0.2, )",
 | 
					        "requested": "[9.0.3, )",
 | 
				
			||||||
        "resolved": "9.0.2",
 | 
					        "resolved": "9.0.3",
 | 
				
			||||||
        "contentHash": "guQjtnav6bkds3jBqvzLUN3CtFhrwwE2MvES4kukalrFnRkFCncumYBrycM3urilJ7ffetA1/XBcD5ChMJa+AA==",
 | 
					        "contentHash": "UKfKGlZ7jKfe6v4rLsjnH/mGbD3e4YD9EK+Uobu+KIxwfhZuLLCtXm4CWTOf2s1t+ItmMs0QqbSJAXaMXCxLOw==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.Extensions.FileProviders.Abstractions": "9.0.2"
 | 
					          "Microsoft.Extensions.FileProviders.Abstractions": "9.0.3"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.NET.ILLink.Tasks": {
 | 
					      "Microsoft.NET.ILLink.Tasks": {
 | 
				
			||||||
        "type": "Direct",
 | 
					        "type": "Direct",
 | 
				
			||||||
        "requested": "[8.0.13, )",
 | 
					        "requested": "[9.0.2, )",
 | 
				
			||||||
        "resolved": "8.0.13",
 | 
					        "resolved": "9.0.2",
 | 
				
			||||||
        "contentHash": "R19ZTaRiQAK+xo9ZwaHbF/1vb1wwR1Wn5+sqp9v8+CDjbdS8R6qftKdw0VSXWKm7VAMi7P+NCU4zxDzhEWcAwQ=="
 | 
					        "contentHash": "+KFnCLVPicEq99ko0tq+ycTvNLXHw0tImmTZjPloB/DOFLPT56KLfk5aS7wbgXRPzYhXTTBYLGaABea5mke77w=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "MudBlazor": {
 | 
					      "MudBlazor": {
 | 
				
			||||||
        "type": "Direct",
 | 
					        "type": "Direct",
 | 
				
			||||||
        "requested": "[7.16.0, )",
 | 
					        "requested": "[8.3.0, )",
 | 
				
			||||||
        "resolved": "7.16.0",
 | 
					        "resolved": "8.3.0",
 | 
				
			||||||
        "contentHash": "68bEFn7MLCyOB4yYxtvZG+AA+bZbxBDcIOhnSVFrHrAg8LLXVw1LxHCp9EyRktlREpnoAO1JxINp+5WeHc9Z4w==",
 | 
					        "contentHash": "DLc1aK8AgSas82AERWLLefWKadIF7HhYhvgO8Y7jYLZe5v1r4v3rX9pzrzTsQkuPGe6y65tob73kM6gael+WdQ==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.AspNetCore.Components": "8.0.8",
 | 
					          "Microsoft.AspNetCore.Components": "9.0.1",
 | 
				
			||||||
          "Microsoft.AspNetCore.Components.Web": "8.0.8",
 | 
					          "Microsoft.AspNetCore.Components.Web": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Localization": "8.0.8"
 | 
					          "Microsoft.Extensions.Localization": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "MudBlazor.Markdown": {
 | 
					      "MudBlazor.Markdown": {
 | 
				
			||||||
        "type": "Direct",
 | 
					        "type": "Direct",
 | 
				
			||||||
        "requested": "[7.14.0, )",
 | 
					        "requested": "[8.0.0, )",
 | 
				
			||||||
        "resolved": "7.14.0",
 | 
					        "resolved": "8.0.0",
 | 
				
			||||||
        "contentHash": "c6kFfMgUxKxYK1AkGHRNg5B9jw+iwxelBuDpaI5N+guOleT37BxYetYlD0iOew/n1plhobynUJn3Kk4MXhv6RA==",
 | 
					        "contentHash": "0DcXQFEIgKJsaMCDva0Ck3gempoctyc7s8GLK5VagozlZdXql6W4SKX/imM/NfyfV7SxLrUTRJyLJX0Te+02sQ==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Markdig": "0.37.0",
 | 
					          "Markdig": "0.40.0",
 | 
				
			||||||
          "MudBlazor": "7.14.0"
 | 
					          "MudBlazor": "8.0.0"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "ReverseMarkdown": {
 | 
					      "ReverseMarkdown": {
 | 
				
			||||||
@ -74,132 +74,126 @@
 | 
				
			|||||||
      },
 | 
					      },
 | 
				
			||||||
      "CsvHelper": {
 | 
					      "CsvHelper": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "31.0.3",
 | 
					        "resolved": "33.0.1",
 | 
				
			||||||
        "contentHash": "ygck8DR4mG/VDA/LgIVVGpEtXXPDVaaNZNJGrOAJ4pckVw4MbAQ3n/u6YFDv3bwlQhlxTmPhCyk5E4hxe96Crg=="
 | 
					        "contentHash": "fev4lynklAU2A9GVMLtwarkwaanjSYB4wUqO2nOJX5hnzObORzUqVLe+bDYCUyIIRQM4o5Bsq3CcyJR89iMmEQ=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Markdig": {
 | 
					      "Markdig": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "0.37.0",
 | 
					        "resolved": "0.40.0",
 | 
				
			||||||
        "contentHash": "biiu4MTPFjW55qw6v5Aphtj0MjDLJ14x8ndZwkJUHIeqvaSGKeqhLY7S7Vu/S3k7/c9KwhhnaCDP9hdFNUhcNA=="
 | 
					        "contentHash": "4ve14zs+gt1irldTQE3y5FLAHuzmhW7T99lAAvVipe/q2LWT/nUCO0iICb9TXGvMX6n7Z1OZroFXkdSy91rO8w=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.AspNetCore.Authorization": {
 | 
					      "Microsoft.AspNetCore.Authorization": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.11",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "ACaLyjBSz9WUzbaJe0Sv09/FihRNHYlRUIj3uQ8CZFFByf6Qwv3+PXnbltidFKz2iOyqdvppQias3emdQUY2nA==",
 | 
					        "contentHash": "WgLlLBlMczb2+QLNG6sM95OUZ0EBztz60k/N75tjIgpyu0SdpIfYytAmX/7JJAjRTZF0c/CrWaQV+SH9FuGsrA==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.AspNetCore.Metadata": "8.0.11",
 | 
					          "Microsoft.AspNetCore.Metadata": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
 | 
					          "Microsoft.Extensions.Logging.Abstractions": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Options": "8.0.2"
 | 
					          "Microsoft.Extensions.Options": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.AspNetCore.Components": {
 | 
					      "Microsoft.AspNetCore.Components": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.11",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "kyhSQcVEQvMnv2BNRn7JRgYCr+PIO5Uh1mhIFdCNycxE/k8NsI72sV693s1KVmVebMA8g3hTBmfBEheWb3hhww==",
 | 
					        "contentHash": "6pwfbQKNtvPkbF4tCGiAKGyt6BVpu58xAXz7u2YXcUKTNmNxrymbG1mEyMc0EPzVdnquDDqTyfXM3mC1EJycxQ==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.AspNetCore.Authorization": "8.0.11",
 | 
					          "Microsoft.AspNetCore.Authorization": "9.0.1",
 | 
				
			||||||
          "Microsoft.AspNetCore.Components.Analyzers": "8.0.11"
 | 
					          "Microsoft.AspNetCore.Components.Analyzers": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.AspNetCore.Components.Analyzers": {
 | 
					      "Microsoft.AspNetCore.Components.Analyzers": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.11",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "4JtFt5IR0ixuFpwY6D2Xi5R+vZQ6iykd2EuG3puHETCOZOgYG8M538LCY1lbgQTkHOL04YKDjQTQu8PU/BaXRQ=="
 | 
					        "contentHash": "I8Rs4LXT5UQxM5Nin2+Oj8aSY2heszSZ3EyTLgt3mxmfiRPrVO7D8NNSsf1voI2Gb0qFJceof/J5c9E+nfNuHw=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.AspNetCore.Components.Forms": {
 | 
					      "Microsoft.AspNetCore.Components.Forms": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.11",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "60g+idqaiVhPVNOqauy/vH5lREpjcuKl3/w6zJhdU1PFWg4jtdoyIPQH+qxBKsUohkELhH3cRfzGRKElVuZuwg==",
 | 
					        "contentHash": "KyULVU32bLz74LWDwPEwNUEllTehzWJuM7YAsz80rMKEzvR0K8cRjRzO0fnN/nfydMeLRRlbI0xj8wnEAymLVw==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.AspNetCore.Components": "8.0.11"
 | 
					          "Microsoft.AspNetCore.Components": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.AspNetCore.Components.Web": {
 | 
					      "Microsoft.AspNetCore.Components.Web": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.11",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "IDmjQ/K7hv6zUEz2LsCkQBngZx6PMnty8OdSPf0hYGMpC+4Yi37pgCc/25fFu3CSBe8nDirqTrqKtfToHWCpbw==",
 | 
					        "contentHash": "LI0vjYEd9MaDZPDQxPCn4gGYDkEC5U9rp1nWZo7rPozJxgTG2zU3WERujxTi2LeAC2ZzdXlOVCrUyPQ55LZV2A==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.AspNetCore.Components": "8.0.11",
 | 
					          "Microsoft.AspNetCore.Components": "9.0.1",
 | 
				
			||||||
          "Microsoft.AspNetCore.Components.Forms": "8.0.11",
 | 
					          "Microsoft.AspNetCore.Components.Forms": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.DependencyInjection": "8.0.1",
 | 
					          "Microsoft.Extensions.DependencyInjection": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Primitives": "8.0.0",
 | 
					          "Microsoft.Extensions.Primitives": "9.0.1",
 | 
				
			||||||
          "Microsoft.JSInterop": "8.0.11",
 | 
					          "Microsoft.JSInterop": "9.0.1"
 | 
				
			||||||
          "System.IO.Pipelines": "8.0.0"
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.AspNetCore.Metadata": {
 | 
					      "Microsoft.AspNetCore.Metadata": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.11",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "cy04xnMSTXTkRPjEwseRz57R5zjR/CWsdEOHH6NhWbNl97k+U1w6dSjqIOC7kv08tyzmM30FzIilSDtE5HdL/A=="
 | 
					        "contentHash": "EZnHifamF7IFEIyjAKMtJM3I/94OIe72i3P09v5oL0twmsmfQwal6Ni3m8lbB5mge3jWFhMozeW+rUdRSqnXRQ=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.DependencyInjection": {
 | 
					      "Microsoft.Extensions.DependencyInjection": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.1",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==",
 | 
					        "contentHash": "qZI42ASAe3hr2zMSA6UjM92pO1LeDq5DcwkgSowXXPY8I56M76pEKrnmsKKbxagAf39AJxkH2DY4sb72ixyOrg==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
 | 
					          "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.DependencyInjection.Abstractions": {
 | 
					      "Microsoft.Extensions.DependencyInjection.Abstractions": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.2",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg=="
 | 
					        "contentHash": "Tr74eP0oQ3AyC24ch17N8PuEkrPbD0JqIfENCYqmgKYNOmL8wQKzLJu3ObxTUDrjnn4rHoR1qKa37/eQyHmCDA=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.FileProviders.Abstractions": {
 | 
					      "Microsoft.Extensions.FileProviders.Abstractions": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "9.0.2",
 | 
					        "resolved": "9.0.3",
 | 
				
			||||||
        "contentHash": "IcOBmTlr2jySswU+3x8c3ql87FRwTVPQgVKaV5AXzPT5u0VItfNU8SMbESpdSp5STwxT/1R99WYszgHWsVkzhg==",
 | 
					        "contentHash": "umczZ3+QPpzlrW/lkvy+IB0p52+qZ5w++aqx2lTCMOaPKzwcbVdrJgiQ3ajw5QWBp7gChLUiCYkSlWUpfjv24g==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.Extensions.Primitives": "9.0.2"
 | 
					          "Microsoft.Extensions.Primitives": "9.0.3"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.Localization": {
 | 
					      "Microsoft.Extensions.Localization": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.8",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "n32ZGmc2UOv9R/xsBHQPOxBsqCSAAJSoMtFqoQ8zOegB2P+H6+773OyCWg4jRBkO/3dmCyBJXB0yLAOVW2/C/w==",
 | 
					        "contentHash": "UgvX4Yb2T3tEsKT30ktZr0H7kTRPapCgEH0bdTwxiEGSdA39/hAQMvvb+vgHpqmevDU5+puyI9ujRkmmbF946w==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
 | 
					          "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Localization.Abstractions": "8.0.8",
 | 
					          "Microsoft.Extensions.Localization.Abstractions": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
 | 
					          "Microsoft.Extensions.Logging.Abstractions": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Options": "8.0.2"
 | 
					          "Microsoft.Extensions.Options": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.Localization.Abstractions": {
 | 
					      "Microsoft.Extensions.Localization.Abstractions": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.8",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "WYIsqP/A6dH/LWJznrvgoNPc7Q+CUJD0E78765GL3aonBtyFK1BKtPzBvvlnrr3SVqSO2r6xJCLgCEiCMG1gfA=="
 | 
					        "contentHash": "CABog43lyaZQMjmlktuImCy6zmAzRBaXqN81uPaMQjlp//ISDVYItZPh6KWpWRF4MY/B67X5oDc3JTUpfdocZw=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.Logging.Abstractions": {
 | 
					      "Microsoft.Extensions.Logging.Abstractions": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.2",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==",
 | 
					        "contentHash": "w2gUqXN/jNIuvqYwX3lbXagsizVNXYyt6LlF57+tMve4JYCEgCMMAjRce6uKcDASJgpMbErRT1PfHy2OhbkqEA==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
 | 
					          "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.Options": {
 | 
					      "Microsoft.Extensions.Options": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.2",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
 | 
					        "contentHash": "nggoNKnWcsBIAaOWHA+53XZWrslC7aGeok+aR+epDPRy7HI7GwMnGZE8yEsL2Onw7kMOHVHwKcsDls1INkNUJQ==",
 | 
				
			||||||
        "dependencies": {
 | 
					        "dependencies": {
 | 
				
			||||||
          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
 | 
					          "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
 | 
				
			||||||
          "Microsoft.Extensions.Primitives": "8.0.0"
 | 
					          "Microsoft.Extensions.Primitives": "9.0.1"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.Extensions.Primitives": {
 | 
					      "Microsoft.Extensions.Primitives": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "9.0.2",
 | 
					        "resolved": "9.0.3",
 | 
				
			||||||
        "contentHash": "puBMtKe/wLuYa7H6docBkLlfec+h8L35DXqsDKKJgW0WY5oCwJ3cBJKcDaZchv6knAyqOMfsl6VUbaR++E5LXA=="
 | 
					        "contentHash": "yCCJHvBcRyqapMSNzP+kTc57Eaavq2cr5Tmuil6/XVnipQf5xmskxakSQ1enU6S4+fNg3sJ27WcInV64q24JsA=="
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "Microsoft.JSInterop": {
 | 
					      "Microsoft.JSInterop": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
        "resolved": "8.0.11",
 | 
					        "resolved": "9.0.1",
 | 
				
			||||||
        "contentHash": "UYSbAkNGTWVUne3I04/9IRQel3Bt1Ww6Y5cjvZEZ89rWhBD1yWu7YDotvQS62V6mgSfFaXXPGrCUm1VG824QXw=="
 | 
					        "contentHash": "/xBwIfb0YoC2Muv6EsHjxpqZw2aKv94+i0g0FWZvqvGv3DeAy+8wipAuECVvKYEs2EIclRD41bjajHLoD6mTtw=="
 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "System.IO.Pipelines": {
 | 
					 | 
				
			||||||
        "type": "Transitive",
 | 
					 | 
				
			||||||
        "resolved": "8.0.0",
 | 
					 | 
				
			||||||
        "contentHash": "FHNOatmUq0sqJOkTx+UF/9YK1f180cnW5FVqnQMvYUN0elp6wFzbtPSiqbo1/ru8ICp43JM1i7kKkk6GsNGHlA=="
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "ZXing.Net": {
 | 
					      "ZXing.Net": {
 | 
				
			||||||
        "type": "Transitive",
 | 
					        "type": "Transitive",
 | 
				
			||||||
@ -207,6 +201,6 @@
 | 
				
			|||||||
        "contentHash": "7WaVMHklpT3Ye2ragqRIwlFRsb6kOk63BOGADV0fan3ulVfGLUYkDi5yNUsZS/7FVNkWbtHAlDLmu4WnHGfqvQ=="
 | 
					        "contentHash": "7WaVMHklpT3Ye2ragqRIwlFRsb6kOk63BOGADV0fan3ulVfGLUYkDi5yNUsZS/7FVNkWbtHAlDLmu4WnHGfqvQ=="
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "net8.0/osx-arm64": {}
 | 
					    "net9.0/osx-arm64": {}
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -1,2 +1,5 @@
 | 
				
			|||||||
# v0.9.35, build 210 (2025-03-xx xx:xx UTC)
 | 
					# v0.9.35, build 210 (2025-03-xx xx:xx UTC)
 | 
				
			||||||
- A settings icon was added to all assistants and the assistants overview. The icon opens a dialog that displays all settings that can be changed. The settings aren't shown on the settings overview page anymore for a better overview.
 | 
					- A settings icon was added to all assistants and the assistants overview. The icon opens a dialog that displays all settings that can be changed. The settings aren't shown on the settings overview page anymore for a better overview.
 | 
				
			||||||
 | 
					- Migrated to .NET 9.0.2
 | 
				
			||||||
 | 
					- Migrated to MudBlazor 8.3.0
 | 
				
			||||||
 | 
					- Upgraded all dependencies to the latest versions
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user