diff --git a/MareAPI/MareSynchronosAPI/Data/GroupData.cs b/MareAPI/MareSynchronosAPI/Data/GroupData.cs
index 877bb44..a2a6607 100644
--- a/MareAPI/MareSynchronosAPI/Data/GroupData.cs
+++ b/MareAPI/MareSynchronosAPI/Data/GroupData.cs
@@ -3,8 +3,10 @@
namespace MareSynchronos.API.Data;
[MessagePackObject(keyAsPropertyName: true)]
-public record GroupData(string GID, string? Alias = null)
+public record GroupData(string GID, string? Alias = null, string? HexString = null)
{
[IgnoreMember]
public string AliasOrGID => string.IsNullOrWhiteSpace(Alias) ? GID : Alias;
-}
+ [IgnoreMember]
+ public string? DisplayColour => string.IsNullOrWhiteSpace(HexString) ? null : HexString;
+}
\ No newline at end of file
diff --git a/MareAPI/MareSynchronosAPI/Data/UserData.cs b/MareAPI/MareSynchronosAPI/Data/UserData.cs
index 3bc74cf..1452c7d 100644
--- a/MareAPI/MareSynchronosAPI/Data/UserData.cs
+++ b/MareAPI/MareSynchronosAPI/Data/UserData.cs
@@ -3,8 +3,10 @@
namespace MareSynchronos.API.Data;
[MessagePackObject(keyAsPropertyName: true)]
-public record UserData(string UID, string? Alias = null)
+public record UserData(string UID, string? Alias = null, string? HexString = null)
{
[IgnoreMember]
public string AliasOrUID => string.IsNullOrWhiteSpace(Alias) ? UID : Alias;
+ [IgnoreMember]
+ public string? DisplayColour => string.IsNullOrWhiteSpace(HexString) ? null : HexString;
}
\ No newline at end of file
diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj
index c3a3efb..a396dd2 100644
--- a/MareSynchronos/MareSynchronos.csproj
+++ b/MareSynchronos/MareSynchronos.csproj
@@ -15,18 +15,18 @@
-
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
+
+
+
all
@@ -34,7 +34,8 @@
-
+
+
diff --git a/MareSynchronos/PlayerData/Pairs/Pair.cs b/MareSynchronos/PlayerData/Pairs/Pair.cs
index 33ad18a..4051488 100644
--- a/MareSynchronos/PlayerData/Pairs/Pair.cs
+++ b/MareSynchronos/PlayerData/Pairs/Pair.cs
@@ -15,6 +15,7 @@ using MareSynchronos.Services.ServerConfiguration;
using MareSynchronos.Utils;
using Microsoft.Extensions.Logging;
using System.Collections.Concurrent;
+using System.Numerics;
namespace MareSynchronos.PlayerData.Pairs;
@@ -27,6 +28,7 @@ public class Pair : DisposableMediatorSubscriberBase
private readonly ServerConfigurationManager _serverConfigurationManager;
private CancellationTokenSource _applicationCts = new();
private OnlineUserIdentDto? _onlineUserIdentDto = null;
+ public Vector4 PairColour;
public Pair(ILogger logger, UserData userData, PairHandlerFactory cachedPlayerFactory,
MareMediator mediator, MareConfigService mareConfig, ServerConfigurationManager serverConfigurationManager)
@@ -38,6 +40,7 @@ public class Pair : DisposableMediatorSubscriberBase
_serverConfigurationManager = serverConfigurationManager;
UserData = userData;
+ PairColour = SnowcloakSync.Utils.Colours.Hex2Vector4(UserData.DisplayColour);
Mediator.SubscribeKeyed(this, UserData.UID, (msg) => HoldApplication(msg.Source));
Mediator.SubscribeKeyed(this, UserData.UID, (msg) => UnholdApplication(msg.Source));
diff --git a/MareSynchronos/UI/CompactUI.cs b/MareSynchronos/UI/CompactUI.cs
index cc95edc..98e4273 100644
--- a/MareSynchronos/UI/CompactUI.cs
+++ b/MareSynchronos/UI/CompactUI.cs
@@ -697,11 +697,21 @@ public class CompactUi : WindowMediatorSubscriberBase
private Vector4 GetUidColor()
{
+ var uidCol = _apiController.DisplayColour;
+ Vector4 uidColour;
+ if (uidCol.IsNullOrEmpty())
+ {
+ uidColour = UiSharedService.AccentColor;
+ } else
+ {
+ uidColour = SnowcloakSync.Utils.Colours.Hex2Vector4(uidCol);
+ }
return _apiController.ServerState switch
{
+
ServerState.Connecting => ImGuiColors.DalamudYellow,
ServerState.Reconnecting => ImGuiColors.DalamudRed,
- ServerState.Connected => UiSharedService.AccentColor,
+ ServerState.Connected => uidColour,
ServerState.Disconnected => ImGuiColors.DalamudYellow,
ServerState.Disconnecting => ImGuiColors.DalamudYellow,
ServerState.Unauthorized => ImGuiColors.DalamudRed,
diff --git a/MareSynchronos/UI/Components/GroupPanel.cs b/MareSynchronos/UI/Components/GroupPanel.cs
index fea6124..4039284 100644
--- a/MareSynchronos/UI/Components/GroupPanel.cs
+++ b/MareSynchronos/UI/Components/GroupPanel.cs
@@ -250,7 +250,7 @@ internal sealed class GroupPanel
}
if (textIsGid) ImGui.PushFont(UiBuilder.MonoFont);
ImGui.SameLine();
- ImGui.TextUnformatted(groupName);
+ ImGui.TextColored(SnowcloakSync.Utils.Colours.Hex2Vector4(groupDto.Group.DisplayColour), groupName);
if (textIsGid) ImGui.PopFont();
UiSharedService.AttachToolTip("Left click to switch between GID display and comment" + Environment.NewLine +
"Right click to change comment for " + groupName + Environment.NewLine + Environment.NewLine
diff --git a/MareSynchronos/UI/Handlers/UidDisplayHandler.cs b/MareSynchronos/UI/Handlers/UidDisplayHandler.cs
index e4e506e..5aa885a 100644
--- a/MareSynchronos/UI/Handlers/UidDisplayHandler.cs
+++ b/MareSynchronos/UI/Handlers/UidDisplayHandler.cs
@@ -1,11 +1,13 @@
using Dalamud.Bindings.ImGui;
using Dalamud.Interface;
using Dalamud.Interface.Utility.Raii;
+using Lumina.Data.Parsing;
using MareSynchronos.MareConfiguration;
using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.Services.Mediator;
using MareSynchronos.Services.ServerConfiguration;
using MareSynchronos.UI.Components;
+using System.Numerics;
namespace MareSynchronos.UI.Handlers;
@@ -63,9 +65,8 @@ public class UidDisplayHandler
if (!string.Equals(_editNickEntry, pair.UserData.UID, StringComparison.Ordinal))
{
ImGui.SetCursorPosY(originalY);
-
- using (ImRaii.PushFont(UiBuilder.MonoFont, textIsUid)) ImGui.TextUnformatted(playerText);
-
+ Vector4 pairColour = SnowcloakSync.Utils.Colours.Hex2Vector4(pair.UserData.DisplayColour);
+ using (ImRaii.PushFont(UiBuilder.MonoFont, textIsUid)) ImGui.TextColored(pairColour, playerText);
if (ImGui.IsItemHovered())
{
if (!string.Equals(_lastMouseOverUid, id))
diff --git a/MareSynchronos/WebAPI/SignalR/ApiController.cs b/MareSynchronos/WebAPI/SignalR/ApiController.cs
index 0e46e98..c64ddf4 100644
--- a/MareSynchronos/WebAPI/SignalR/ApiController.cs
+++ b/MareSynchronos/WebAPI/SignalR/ApiController.cs
@@ -73,6 +73,8 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IM
public Version CurrentClientVersion => _connectionDto?.CurrentClientVersion ?? new Version(0, 0, 0);
public string DisplayName => _connectionDto?.User.AliasOrUID ?? string.Empty;
+ public string DisplayColour => _connectionDto?.User.DisplayColour ?? string.Empty;
+
public bool IsConnected => ServerState == ServerState.Connected;
diff --git a/MareSynchronos/packages.lock.json b/MareSynchronos/packages.lock.json
index 021b5ab..ad6a8b3 100644
--- a/MareSynchronos/packages.lock.json
+++ b/MareSynchronos/packages.lock.json
@@ -16,9 +16,9 @@
},
"DotNet.ReproducibleBuilds": {
"type": "Direct",
- "requested": "[1.2.25, )",
- "resolved": "1.2.25",
- "contentHash": "xCXiw7BCxHJ8pF6wPepRUddlh2dlQlbr81gXA72hdk4FLHkKXas7EH/n+fk5UCA/YfMqG1Z6XaPiUjDbUNBUzg=="
+ "requested": "[1.2.39, )",
+ "resolved": "1.2.39",
+ "contentHash": "fcFN01tDTIQqDuTwr1jUQK/geofiwjG5DycJQOnC72i1SsLAk1ELe+apBOuZ11UMQG8YKFZG1FgvjZPbqHyatg=="
},
"Downloader": {
"type": "Direct",
@@ -31,9 +31,9 @@
},
"Glamourer.Api": {
"type": "Direct",
- "requested": "[2.6.0, )",
- "resolved": "2.6.0",
- "contentHash": "zysCZgNBRm3k3qvibyw/31MmEckX0Uh0ZsT+Sax3ZHnYIRELr9Qhbz3cjJz7u0RHGIrNJiRpktu/LxgHEqDItw=="
+ "requested": "[2.7.0, )",
+ "resolved": "2.7.0",
+ "contentHash": "H4yRNEhdSQ+YkZlnE7qRM67GaNieb9Xe9Vpj3rvHvcSB0eWgMF1nHqCvkBNb4L38AV4WyWTzwtXh6+Rv5GuVTw=="
},
"K4os.Compression.LZ4.Legacy": {
"type": "Direct",
@@ -74,58 +74,58 @@
},
"Meziantou.Analyzer": {
"type": "Direct",
- "requested": "[2.0.219, )",
- "resolved": "2.0.219",
- "contentHash": "vknqxTO59DkRmsuyA3GoQ8zLODHTVrt2enVozcRLY22D3LRJm3qRNYIkpFl1lfejOsahrMwObtYzKLmWf7/XTQ=="
+ "requested": "[2.0.231, )",
+ "resolved": "2.0.231",
+ "contentHash": "h5FQkDk22R291JofPXFDxrgNyk1RGCqeIQKcrCRXYz+p5v2Ade2C9PpRiatasVqSDPyFk2q/B5AflWM2a9TVwQ=="
},
"Microsoft.AspNetCore.SignalR.Client": {
"type": "Direct",
- "requested": "[9.0.9, )",
- "resolved": "9.0.9",
- "contentHash": "xx1VCb/cxdOgKg+dQuTpZ3xR2/qpKvwD4iLIjFD+gDgsanVFtm/hEyfRg2nUUqF0UD9kyW0YUz2dsEL3GKjCGg==",
+ "requested": "[9.0.10, )",
+ "resolved": "9.0.10",
+ "contentHash": "TQDXsU5mTtI1el77bS55FoNYi1CPIuPoKUDp6W/j22FA/ajHMjgmeikC87UPiZkdiJDjNyCehj91YMGNi3xCDg==",
"dependencies": {
- "Microsoft.AspNetCore.Http.Connections.Client": "9.0.9",
- "Microsoft.AspNetCore.SignalR.Client.Core": "9.0.9"
+ "Microsoft.AspNetCore.Http.Connections.Client": "9.0.10",
+ "Microsoft.AspNetCore.SignalR.Client.Core": "9.0.10"
}
},
"Microsoft.AspNetCore.SignalR.Protocols.MessagePack": {
"type": "Direct",
- "requested": "[9.0.9, )",
- "resolved": "9.0.9",
- "contentHash": "OgsyQ8NgbWvkMV+Gqr0gVhOXw2AQuIZk/wN2KdnIyzj4I7qImHLPzGh31gc2Hns8T3n0UaJgBayFWLOOHV81mg==",
+ "requested": "[9.0.10, )",
+ "resolved": "9.0.10",
+ "contentHash": "VXD6Blc5YIqi/ZwJhkaD7wWIdcq2mIe2vuj9aqbQPVLlAKU/t/l/zf4ZqXAacyUMRTPGuHXQJzsRWQ6bytVQFQ==",
"dependencies": {
"MessagePack": "2.5.187",
- "Microsoft.AspNetCore.SignalR.Common": "9.0.9"
+ "Microsoft.AspNetCore.SignalR.Common": "9.0.10"
}
},
"Microsoft.Extensions.Hosting": {
"type": "Direct",
- "requested": "[9.0.9, )",
- "resolved": "9.0.9",
- "contentHash": "DmRsWH3g8yZGho/pLQ79hxhM2ctE1eDTZ/HbAnrD/uw8m+P2pRRJOoBVxlrhbhMP3/y3oAJoy0yITasfmilbTg==",
+ "requested": "[9.0.10, )",
+ "resolved": "9.0.10",
+ "contentHash": "63yDlitelCBNl1unJsnEWVUCZHOtxbVTbTODi7cszQJBG9bIfdPYIpB9w0UIcoqVSP1C9P6THXgukx8APWRzMw==",
"dependencies": {
- "Microsoft.Extensions.Configuration": "9.0.9",
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.Configuration.Binder": "9.0.9",
- "Microsoft.Extensions.Configuration.CommandLine": "9.0.9",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.9",
- "Microsoft.Extensions.Configuration.FileExtensions": "9.0.9",
- "Microsoft.Extensions.Configuration.Json": "9.0.9",
- "Microsoft.Extensions.Configuration.UserSecrets": "9.0.9",
- "Microsoft.Extensions.DependencyInjection": "9.0.9",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Diagnostics": "9.0.9",
- "Microsoft.Extensions.FileProviders.Abstractions": "9.0.9",
- "Microsoft.Extensions.FileProviders.Physical": "9.0.9",
- "Microsoft.Extensions.Hosting.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging.Configuration": "9.0.9",
- "Microsoft.Extensions.Logging.Console": "9.0.9",
- "Microsoft.Extensions.Logging.Debug": "9.0.9",
- "Microsoft.Extensions.Logging.EventLog": "9.0.9",
- "Microsoft.Extensions.Logging.EventSource": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9"
+ "Microsoft.Extensions.Configuration": "9.0.10",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Configuration.Binder": "9.0.10",
+ "Microsoft.Extensions.Configuration.CommandLine": "9.0.10",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.10",
+ "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10",
+ "Microsoft.Extensions.Configuration.Json": "9.0.10",
+ "Microsoft.Extensions.Configuration.UserSecrets": "9.0.10",
+ "Microsoft.Extensions.DependencyInjection": "9.0.10",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Diagnostics": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Physical": "9.0.10",
+ "Microsoft.Extensions.Hosting.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging.Configuration": "9.0.10",
+ "Microsoft.Extensions.Logging.Console": "9.0.10",
+ "Microsoft.Extensions.Logging.Debug": "9.0.10",
+ "Microsoft.Extensions.Logging.EventLog": "9.0.10",
+ "Microsoft.Extensions.Logging.EventSource": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10"
}
},
"Penumbra.Api": {
@@ -152,9 +152,9 @@
},
"System.IO.Pipelines": {
"type": "Direct",
- "requested": "[9.0.9, )",
- "resolved": "9.0.9",
- "contentHash": "VySjpsCLprojvat550Flrm3NQB982CPuDzILajqjQihFmrQXZPdQyktIbcpVPJyaExFYtAfY1DpwMdWQuS0kbw=="
+ "requested": "[9.0.10, )",
+ "resolved": "9.0.10",
+ "contentHash": "lwI0mhHcCxMtNSxB5ate9Gc9petWovRBUprtjz2yiIDDZPGBIaUiqNzQHJzjPuzTnvNbEMilpAXjDguKsU/2Fg=="
},
"K4os.Compression.LZ4": {
"type": "Transitive",
@@ -173,313 +173,313 @@
},
"Microsoft.AspNetCore.Connections.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "bb9kWEjwFHfOxcflTdFjcYY0Cnvc0iqnEt5qQ3O73iKPx8v1jkc/LU5wohOCzIrhWsXREaLtQV1Y15SBISNJiA==",
+ "resolved": "9.0.10",
+ "contentHash": "z0sD3sBAgWNZ0omLYUvEO5vmec5NV7tvfMBfrhByRfLd7YLkzGxOZN/KvEWzH4Ifg6dBcHLZ+4cbJoFJHXrUUA==",
"dependencies": {
- "Microsoft.Extensions.Features": "9.0.9"
+ "Microsoft.Extensions.Features": "9.0.10"
}
},
"Microsoft.AspNetCore.Http.Connections.Client": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "Ciahjlswi4hylLMfI/gNhNYPuBp0BMP2E/vcG3J7U+wZqSSq8tEeHahEG6h9RF5zPFEISroGOIM6l1uxCP1BfA==",
+ "resolved": "9.0.10",
+ "contentHash": "wHXxSYZnXYom4sHWZMzGgngIpHBIG0M1/i5HfLF6tQjBpx399OdTwC+BO1yYjbTr6RyWHx4UglRGYNs+6fpUkA==",
"dependencies": {
- "Microsoft.AspNetCore.Http.Connections.Common": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9",
- "System.Net.ServerSentEvents": "9.0.9"
+ "Microsoft.AspNetCore.Http.Connections.Common": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10",
+ "System.Net.ServerSentEvents": "9.0.10"
}
},
"Microsoft.AspNetCore.Http.Connections.Common": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "S9ssCBd7Kc0sZN5kiHgvikyNqSI5bMyWYxrfl/Hu1S8ymwEhXFiDf2yFhgkapIiIHOXHjF7mgma2Gqmglivo5g==",
+ "resolved": "9.0.10",
+ "contentHash": "EARfS3nepXK/b3P3ROPKV4euaHuBRFpa63dmy9TSN0qS8Dp/lQAR+RB/Yhlm5CMXvvyr42Ue1QV/dN8XeGXD3w==",
"dependencies": {
- "Microsoft.AspNetCore.Connections.Abstractions": "9.0.9"
+ "Microsoft.AspNetCore.Connections.Abstractions": "9.0.10"
}
},
"Microsoft.AspNetCore.SignalR.Client.Core": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "DRSFXVLcgCkYGBb6vtBgYUec+QnCbtQnMabk4p5zbtrqsJ19Uvfk36zNeJKgsBGmNt5HouWPuuB7KJP+IHDAOw==",
+ "resolved": "9.0.10",
+ "contentHash": "LxnasvhMSG7L+asb88VN7Z6yr0PJTdOdN8UnGtZClySbiSIQGMtsaoCNmQxT9AA6Yvb7QBA0/H+4AGDrT34Xew==",
"dependencies": {
- "Microsoft.AspNetCore.SignalR.Common": "9.0.9",
- "Microsoft.AspNetCore.SignalR.Protocols.Json": "9.0.9",
- "Microsoft.Extensions.DependencyInjection": "9.0.9",
- "Microsoft.Extensions.Logging": "9.0.9",
- "System.Threading.Channels": "9.0.9"
+ "Microsoft.AspNetCore.SignalR.Common": "9.0.10",
+ "Microsoft.AspNetCore.SignalR.Protocols.Json": "9.0.10",
+ "Microsoft.Extensions.DependencyInjection": "9.0.10",
+ "Microsoft.Extensions.Logging": "9.0.10",
+ "System.Threading.Channels": "9.0.10"
}
},
"Microsoft.AspNetCore.SignalR.Common": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "Fv/0TLXCOSpLsgHvL/tMJh4RpU/Ew7p9xET5VGOFjyCLkeZTNeZivzdZ0lHgKpSsQPmxvS45Csuj3qbr1O8zSw==",
+ "resolved": "9.0.10",
+ "contentHash": "jwoS5gG0GNwSXX8Fyn7m1sEUzeH/W9q8wqAJs4v2a6ffKBnqjcG4YiiPZDyN7UhJCWAjeU2low+XjJ3YfN7iHQ==",
"dependencies": {
- "Microsoft.AspNetCore.Connections.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9"
+ "Microsoft.AspNetCore.Connections.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10"
}
},
"Microsoft.AspNetCore.SignalR.Protocols.Json": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "8X46a+p6AHdMDs1gNxTzQ+8rzb+/GetBmWgymUCbS8sNi2XQLlPg2jNRWykhIxqIh3UbDYV9cKe4SDLsFYSRtw==",
+ "resolved": "9.0.10",
+ "contentHash": "AhBUSG98Us2LLW3FjhtAaa6x0zL1jyjjYYZ0CSCoi9fmIuOLl/5WxXOP48VsrChi6NpZ3C31yHpScl4vqLdPcA==",
"dependencies": {
- "Microsoft.AspNetCore.SignalR.Common": "9.0.9"
+ "Microsoft.AspNetCore.SignalR.Common": "9.0.10"
}
},
"Microsoft.Extensions.Configuration": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "w87wF/90/VI0ZQBhf4rbMEeyEy0vi2WKjFmACsNAKNaorY+ZlVz7ddyXkbADvaWouMKffNmR0yQOGcrvSSvKGg==",
+ "resolved": "9.0.10",
+ "contentHash": "UAm3SLGAMlJdowbN+/xnh2UGJkdJoXVm4MsdhZ60dAMS8jteoyCx5WfIab5DKv0TCYpdhVecLJVUjEO3abs9UQ==",
"dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.Configuration.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "p5RKAY9POvs3axwA/AQRuJeM8AHuE8h4qbP1NxQeGm0ep46aXz1oCLAp/oOYxX1GsjStgdhHrN3XXLLXr0+b3w==",
+ "resolved": "9.0.10",
+ "contentHash": "ad3JxmFj0uxuFa1CT6oxTCC1lQ0xeRuOvzBRFT/I/ofIXVOnNsH/v2GZkAJWhlpZqKUvSexQZzp3EEAB2CdtJg==",
"dependencies": {
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.Configuration.Binder": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "6SIp/6Bngk4jm2W36JekZbiIbFPdE/eMUtrJEqIqHGpd1zar3jvgnwxnpWQfzUiGrkyY8q8s6V82zkkEZozghA==",
+ "resolved": "9.0.10",
+ "contentHash": "D6Kng+9I+w1SQPxJybc6wzw9nnnyUQPutycjtI0svv1RHaWOpUk9PPlwIRfhhoQZ3yihejkEI2wNv/7VnVtkGA==",
"dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9"
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.Configuration.CommandLine": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "9bzGOcHoTi8ijrj0MHh5qUY6n9CuittZUqEOj5iE0ZJoSCfG0BI9nhcpd8MC9bOOgjZW5OeizKO8rgta9lSVyA==",
+ "resolved": "9.0.10",
+ "contentHash": "Sg400UyKl33kOpqklEg1MIM3lpY/aWi7QZTB2JfFpKgxnSRQl9J6tHiKYll+Rd603P+71YsDy/zqBYUE/3Xeag==",
"dependencies": {
- "Microsoft.Extensions.Configuration": "9.0.9",
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9"
+ "Microsoft.Extensions.Configuration": "9.0.10",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.Configuration.EnvironmentVariables": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "AB8suTh4STAMGDkPer5vL0YNp09eplvbkIbOfFJ1z8D1zOiFF8Hipk9FhCLU4Ea6TosWmGrK30ZIUO9KvAeFcg==",
+ "resolved": "9.0.10",
+ "contentHash": "Nje8x5JDRi7uzf2q3NpXiBleRRJAxJMnHcJTi0tLyqd6eGIICRuF6qxgZssMS1r8xXDoaUr/2ZLQ6Cui1Io+Qw==",
"dependencies": {
- "Microsoft.Extensions.Configuration": "9.0.9",
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9"
+ "Microsoft.Extensions.Configuration": "9.0.10",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.Configuration.FileExtensions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "fvgubCs++wTowHWuQ5TAyZV0S6ldA59U+tBVqFr4/WLd0oEf6ESbdBN2CFaVdn4sZqnarqMnl2O3++RG/Jrf/w==",
+ "resolved": "9.0.10",
+ "contentHash": "kYWY9VRoCKQJCLKAA4Wqn74FVnytqosF7vFq1chJ8st9mGZS6SQrkoZg7GmcpqrRRUWmWDOZI4nFdoFnxsI/Ug==",
"dependencies": {
- "Microsoft.Extensions.Configuration": "9.0.9",
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.FileProviders.Abstractions": "9.0.9",
- "Microsoft.Extensions.FileProviders.Physical": "9.0.9",
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.Configuration": "9.0.10",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Physical": "9.0.10",
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.Configuration.Json": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "PiPYo1GTinR2ECM80zYdZUIFmde6jj5DryXUcOJg3yIjh+KQMQr42e+COD03QUsUiqNkJk511wVTnVpTm2AVZA==",
+ "resolved": "9.0.10",
+ "contentHash": "bn+qnwuOaDelax8PUw30UTjLOuEd0lGWqUG4Z+oVr4D/gEWouCWOyvCVkyn+PWbftPlnmAmWxd4J+7ljwE8wVw==",
"dependencies": {
- "Microsoft.Extensions.Configuration": "9.0.9",
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.Configuration.FileExtensions": "9.0.9",
- "Microsoft.Extensions.FileProviders.Abstractions": "9.0.9"
+ "Microsoft.Extensions.Configuration": "9.0.10",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.Configuration.UserSecrets": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "bFaNxfU8gQJX3K/Dd6XT0YIJ5ZVihdAY6Z02p2nVTUHjUsaWflLIucZOgB/ecSNnN3zbbBEf1oFC7q5NHTZIHw==",
+ "resolved": "9.0.10",
+ "contentHash": "l7em+qNfEdGlwRm8Qk2rkzqjT8xWb/EosoQeTvJ3kZYiRo5inMj0nNcZw51dUKwGO/LW7uNMdqNNU3P0pB5JqA==",
"dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.Configuration.Json": "9.0.9",
- "Microsoft.Extensions.FileProviders.Abstractions": "9.0.9",
- "Microsoft.Extensions.FileProviders.Physical": "9.0.9"
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Configuration.Json": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Physical": "9.0.10"
}
},
"Microsoft.Extensions.DependencyInjection": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "zQV2WOSP+3z1EuK91ULxfGgo2Y75bTRnmJHp08+w/YXAyekZutX/qCd88/HOMNh35MDW9mJJJxPpMPS+1Rww8A==",
+ "resolved": "9.0.10",
+ "contentHash": "iEtXCkNd5XhjNJAOb/wO4IhDRdLIE2CsPxZggZQWJ/q2+sa8dmEPC393nnsiqdH8/4KV8Xn25IzgKPR1UEQ0og==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "/hymojfWbE9AlDOa0mczR44m00Jj+T3+HZO0ZnVTI032fVycI0ZbNOVFP6kqZMcXiLSYXzR2ilcwaRi6dzeGyA=="
+ "resolved": "9.0.10",
+ "contentHash": "r9waLiOPe9ZF1PvzUT+RDoHvpMmY8MW+lb4lqjYGObwKpnyPMLI3odVvlmshwuZcdoHynsGWOrCPA0hxZ63lIA=="
},
"Microsoft.Extensions.Diagnostics": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "gtzl9SD6CvFYOb92qEF41Z9rICzYniM342TWbbJwN3eLS6a5fCLFvO1pQGtpMSnP3h1zHXupMEeKSA9musWYCQ==",
+ "resolved": "9.0.10",
+ "contentHash": "01x2vz0AbIdfNUzEVYFq2HSeq1BmrSDpiG7nTmwjfd0d39sahQ8T7dhSXhH+YnZyaLWyMBudOq0vVa/voyNWjg==",
"dependencies": {
- "Microsoft.Extensions.Configuration": "9.0.9",
- "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.9"
+ "Microsoft.Extensions.Configuration": "9.0.10",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10"
}
},
"Microsoft.Extensions.Diagnostics.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "YHGmxccrVZ2Ar3eI+/NdbOHkd1/HzrHvmQ5yBsp0Gl7jTyBe6qcXNYjUt9v9JIO+Z14la44+YYEe63JSqs1fYg==",
+ "resolved": "9.0.10",
+ "contentHash": "iwVnYi+gNKrr5riw8YFCoLCN4s0dmHtzfUmV99RIhrz8R4d6C/bsKzXhIhZWDIxJOhVzB+idSOQeRGj1/oMF+Q==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10"
}
},
"Microsoft.Extensions.Features": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "0MPp/tJ9cFsJCzEKG5g4fUSpwG7bAt9JGADPx5eAThWa9ii2wfOa6f3yxi1IoXWsWqVcq4xlRGrdUAZlpIYalw=="
+ "resolved": "9.0.10",
+ "contentHash": "/94E6QLu+0jOWRzcaq80a0/7EmOzuwDWDNOyVYezMTeX4BzhXCfAsUrZi9Lg+4VP2J+21sTa+AaCgMdXiG/cpw=="
},
"Microsoft.Extensions.FileProviders.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "M1ZhL9QkBQ/k6l/Wjgcli5zrV86HzytQ+gQiNtk9vs9Ge1fb17KKZil9T6jd15p2x/BGfXpup7Hg55CC0kkfig==",
+ "resolved": "9.0.10",
+ "contentHash": "3+cLxZKUWBbpfIXLLuKcEok9C91PsV1h5xxfUsEnLSXXLNMiPDfrhpb1xajNFcejFPs9Ck/Fi3z71hYDqFBwYg==",
"dependencies": {
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.FileProviders.Physical": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "sRrPtEwbK23OCFOQ36Xn6ofiB0/nl54/BOdR7lJ/Vwg3XlyvUdmyXvFUS1EU5ltn+sQtbcPuy1l0hsysO8++SQ==",
+ "resolved": "9.0.10",
+ "contentHash": "Eg3YOEMpHWZzAgPD9YvGkQSv97AtG3II6maRQV/voDRORh4bRiyl0mVtT2PKnu1JoD9rJeYgjGCwRvVWMBaqgQ==",
"dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "9.0.9",
- "Microsoft.Extensions.FileSystemGlobbing": "9.0.9",
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10",
+ "Microsoft.Extensions.FileSystemGlobbing": "9.0.10",
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.FileSystemGlobbing": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "iQAgORaVIlkhcpxFnVEfjqNWfQCwBEEH7x2IanTwGafA6Tb4xiBoDWySTxUo3MV2NUV/PmwS/8OhT/elPnJCnw=="
+ "resolved": "9.0.10",
+ "contentHash": "KdZAM2YMYBipVp/4tSEWPLnrocd17SL4iaXdgXjR5/nheBXbfR5QfPWYoTyh6C6IW3uKR7TRMwQr2qCvtaCTiA=="
},
"Microsoft.Extensions.Hosting.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "ORA4dICNz7cuwupPkjXpSuoiK6GMg0aygInBIQCCFEimwoHntRKdJqB59faxq2HHJuTPW3NsZm5EjN5P5Zh6nQ==",
+ "resolved": "9.0.10",
+ "contentHash": "spfXydiEQENFwxdgr3Y57wwys/FRjfmq5VjHGPh6ct1FJK7X+qNEWYbnZJCMqq0B0oJTMvnItAReOv4mi2Idog==",
"dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.9",
- "Microsoft.Extensions.FileProviders.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9"
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10",
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.Logging": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "MaCB0Y9hNDs4YLu3HCJbo199WnJT8xSgajG1JYGANz9FkseQ5f3v/llu3HxLI6mjDlu7pa7ps9BLPWjKzsAAzQ==",
+ "resolved": "9.0.10",
+ "contentHash": "UBXHqE9vyptVhaFnT1R7YJKCve7TqVI10yjjUZBNGMlW2lZ4c031Slt9hxsOzWCzlpPxxIFyf1Yk4a6Iubxx7w==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10"
}
},
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "FEgpSF+Z9StMvrsSViaybOBwR0f0ZZxDm8xV5cSOFiXN/t+ys+rwAlTd/6yG7Ld1gfppgvLcMasZry3GsI9lGA==",
+ "resolved": "9.0.10",
+ "contentHash": "MFUPv/nN1rAQ19w43smm6bbf0JDYN/1HEPHoiMYY50pvDMFpglzWAuoTavByDmZq7UuhjaxwrET3joU69ZHoHQ==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.Logging.Configuration": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "Abuo+S0Sg+Ke6vzSh5Ell+lwJJM+CEIqg1ImtWnnqF6a/ibJkQnmFJi4/ekEw/0uAcdFKJXtGV7w6cFN0nyXeg==",
+ "resolved": "9.0.10",
+ "contentHash": "qwTRpxrmLOXZrbgQHRZ9wS2AtVa/61DFIYk8k1rBCCgA5qW0MBxxQC4BjkaI0wSoHHOv/IUXBeFNK+Y59qe/Ug==",
"dependencies": {
- "Microsoft.Extensions.Configuration": "9.0.9",
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.Configuration.Binder": "9.0.9",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.9"
+ "Microsoft.Extensions.Configuration": "9.0.10",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Configuration.Binder": "9.0.10",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10"
}
},
"Microsoft.Extensions.Logging.Console": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "x3+W7IfW9Tg3sV+sU9N1039M4CqklaAecwhz9qNtjOCBdmg7h96JaL+NAvhYgZgweVJTJaxAvuO8I+ZZehE7Pg==",
+ "resolved": "9.0.10",
+ "contentHash": "ponA8k4E4S0LlQ8J4ce4Yp1NND8rxww0lbADK9yL3omRpnnawiENb7W/CTgZUIZVJxKcmIwhm1IbUCRk6RLocQ==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging.Configuration": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging.Configuration": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10"
}
},
"Microsoft.Extensions.Logging.Debug": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "q8IbjIzTjfaGfuf9LAuG3X9BytAWj2hWhLU61rEkit847oaSSbcdx/yybY3yL9RgVG1u9ctk7kbCv18M+7Fi6Q==",
+ "resolved": "9.0.10",
+ "contentHash": "Uj4YMaMMLawIkpHYnDWsR2/pufV/8X3dDT1/RNhkmt8RRf6/SriyA2gxH6I6bj4gFx6yMuFWZhCgFLy3wcSGTw==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10"
}
},
"Microsoft.Extensions.Logging.EventLog": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "1SX5+mv16SBb5NrtLNxIvUt8PHbdvDloZazQdxz1CNM39jG7yeF6olH3sceQ4ONF0oVD5mVUsTag0iVX4xgyog==",
+ "resolved": "9.0.10",
+ "contentHash": "Son+9zr7gnuYv1CcuZ8b6XhZK/UQRG88Ku1iSUvAQSZ1cFjYC+lDYRD6nBVXF2QIQyv0jhjt/MPKD7sA+323TQ==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9",
- "System.Diagnostics.EventLog": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10",
+ "System.Diagnostics.EventLog": "9.0.10"
}
},
"Microsoft.Extensions.Logging.EventSource": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "rGQi5mImot7tTFxj1tQWknWjOBHX1+gsX1WLmQNl5WHr4Sx1kXUBGDuRUjfx4c8pe/hcYHdalAmgk7RdusW6Jw==",
+ "resolved": "9.0.10",
+ "contentHash": "qhqkUWsf/CVyQ9V98n5uWSQcvy7HbyRkhyhpK75OKojWuaNKoEIfBmrHRiahmdGJDuh2Qz/nDpFOjQOi/ERtZQ==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Logging": "9.0.9",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9",
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Logging": "9.0.10",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10",
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.Options": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "loxGGHE1FC2AefwPHzrjPq7X92LQm64qnU/whKfo6oWaceewPUVYQJBJs3S3E2qlWwnCpeZ+dGCPTX+5dgVAuQ==",
+ "resolved": "9.0.10",
+ "contentHash": "zMNABt8eBv0B0XrWjFy9nZNgddavaOeq3ZdaD5IlHhRH65MrU7HM+Hd8GjWE3e2VDGFPZFfSAc6XVXC17f9fOA==",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "n4DCdnn2qs6V5U06Sx62FySEAZsJiJJgOzrPHDh9hPK7c2W8hEabC76F3Re3tGPjpiKa02RvB6FxZyxo8iICzg==",
+ "resolved": "9.0.10",
+ "contentHash": "wLsf2TyVFFxWQPv0PRJj365it1ngIt8utlHJWSZ9OJ2k+NDa/PtBIRsGlF/NkoLwm1m+1vOePNl2MiKfk6lYfQ==",
"dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.9",
- "Microsoft.Extensions.Configuration.Binder": "9.0.9",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9",
- "Microsoft.Extensions.Options": "9.0.9",
- "Microsoft.Extensions.Primitives": "9.0.9"
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Configuration.Binder": "9.0.10",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10",
+ "Microsoft.Extensions.Options": "9.0.10",
+ "Microsoft.Extensions.Primitives": "9.0.10"
}
},
"Microsoft.Extensions.Primitives": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "z4pyMePOrl733ltTowbN565PxBw1oAr8IHmIXNDiDqd22nFpYltX9KhrNC/qBWAG1/Zx5MHX+cOYhWJQYCO/iw=="
+ "resolved": "9.0.10",
+ "contentHash": "3pl8D1O5ZwMpDkZAT2uXrhQ6NipkwEgDLMFuURiHTf72TvkoMP61QYH3Vk1yrzVHnHBdNZk3cQACz8Zc7YGNhQ=="
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
@@ -518,18 +518,18 @@
},
"System.Diagnostics.EventLog": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w=="
+ "resolved": "9.0.10",
+ "contentHash": "Jc+az1pTMujPLDn2j5eqSfzlO7j/T1K/LB7THxdfRWOxujE4zaitUqBs7sv1t6/xmmvpU6Xx3IofCs4owYH0yQ=="
},
"System.Net.ServerSentEvents": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "zEISfefh8BYD5m+GMsYJnodiTaz2fDBEOrLgYH7VsQhMIzNkcuSsg9Df/d3zywYX5ohCyCJ5AOax50XLKnXyjw=="
+ "resolved": "9.0.10",
+ "contentHash": "PuUpJ0Hl37jY8lTY9+A1zyE+KxHIkomBJ9K8iMoDEeHiSN4BKModSeC6mopzEsw7hdhEv6upSpuT+wKE6HGuHw=="
},
"System.Threading.Channels": {
"type": "Transitive",
- "resolved": "9.0.9",
- "contentHash": "AEgG1sVSp3H7oNYoXi350GeUnZdnP38EQHNK0kN5HCC6KoVoEkuTVr40lrVag99pd/NBr3tdNjPFElLLPI5BQg=="
+ "resolved": "9.0.10",
+ "contentHash": "2skUPYIRYwMyOg+BQkHaUDc3mOjHmIqT6U67+oIiRJVVtDrkCG2GZxceui6bos18kosyIE0Eg6FyJWgNsc+6og=="
},
"maresynchronos.api": {
"type": "Project",
diff --git a/SnowcloakSync/Utils/Colours.cs b/SnowcloakSync/Utils/Colours.cs
index 014d2d6..ce10b98 100644
--- a/SnowcloakSync/Utils/Colours.cs
+++ b/SnowcloakSync/Utils/Colours.cs
@@ -1,9 +1,28 @@
-using System.Numerics;
+using System.Globalization;
+using System.Numerics;
namespace SnowcloakSync.Utils
{
public static class Colours
{
public static readonly Vector4 _snowcloakOnline = new(0.4275f, 0.6863f, 1f, 1f);
+
+ public static Vector4 Hex2Vector4(string? hex)
+ {
+ if (hex == null || hex.Length != 6)
+ {
+ return new Vector4(255f, 255f, 255f, 1f);
+ }
+ else
+ {
+ byte r = byte.Parse(hex.Substring(0, 2), NumberStyles.HexNumber);
+ byte g = byte.Parse(hex.Substring(2, 2), NumberStyles.HexNumber);
+ byte b = byte.Parse(hex.Substring(4, 2), NumberStyles.HexNumber);
+
+ return new Vector4(r / 255f, g / 255f, b / 255f, 1f);
+ }
+ }
}
+
+
}