Compare commits
No commits in common. "master" and "6.5" have entirely different histories.
@ -6,6 +6,5 @@
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string CreatorId { get; set; } = string.Empty;
|
||||
public DateTime CreatedAt { get; set; } = new DateTime();
|
||||
public int UserCount { get; set; } = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,6 @@
|
||||
public string Role { get; set; } = string.Empty;
|
||||
public string PasswordHash { get; set; } = string.Empty;
|
||||
public string Email { get; set; } = string.Empty;
|
||||
public bool IsEmailVerified { get; set; } = false;
|
||||
public DateTime DateOfBirth { get; set; }
|
||||
public DateTime CreatedAt { get; set; }
|
||||
public int Status { get; set; } = 0;
|
||||
@ -17,7 +16,6 @@
|
||||
public int StockAmount { get; set; } = 0;
|
||||
public DateTime LastCurrencySpin { get; set; }
|
||||
public int ActiveProfileCosmetic { get; set; } = 0;
|
||||
public string CurrentRoomId { get; set; } = string.Empty;
|
||||
|
||||
public virtual IEnumerable<RefreshToken>? RefreshTokens { get; }
|
||||
public virtual IEnumerable<Contact>? ContactsMade { get; }
|
||||
|
||||
@ -1,148 +0,0 @@
|
||||
using qtc_net_client_2.Properties;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace qtc_net_client_2.Controls
|
||||
{
|
||||
public class ChatMessageControl : Control
|
||||
{
|
||||
public Image? Avatar { get; set; }
|
||||
public string Username = "Username";
|
||||
public string Message = "Message";
|
||||
|
||||
private Font usernameFont = new("Segoe UI", 9, FontStyle.Bold);
|
||||
private Font messageFont = new("Segoe UI", 9, FontStyle.Regular);
|
||||
private Font messageFontBold = new("Segoe UI", 10, FontStyle.Bold);
|
||||
|
||||
public ChatMessageControl()
|
||||
{
|
||||
DoubleBuffered = true;
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
|
||||
int avatarSize = 32;
|
||||
int padding = 6;
|
||||
|
||||
// first, draw the avatar
|
||||
Rectangle pfpRect = new(padding, padding, avatarSize, avatarSize);
|
||||
e.Graphics.DrawImage(Avatar ?? Resources.DefaultPfp, pfpRect);
|
||||
|
||||
// then draw the username
|
||||
int textLeft = padding * 2 + avatarSize;
|
||||
int textWidth = Width - textLeft - padding;
|
||||
|
||||
Rectangle usernameRect = new(textLeft, padding, textWidth, 20);
|
||||
e.Graphics.DrawString(Username, usernameFont, Brushes.Black, usernameRect);
|
||||
|
||||
// finally draw the message
|
||||
int messageTop = usernameRect.Bottom + 2;
|
||||
|
||||
Rectangle messageRect = new(textLeft, messageTop, textWidth, Height - messageTop - padding);
|
||||
StringFormat fmt = new()
|
||||
{
|
||||
Trimming = StringTrimming.Word,
|
||||
FormatFlags = 0,
|
||||
Alignment = StringAlignment.Near
|
||||
};
|
||||
|
||||
if (Username.Contains("Server"))
|
||||
{
|
||||
e.Graphics.DrawString(Message, messageFontBold, Brushes.Black, messageRect, fmt);
|
||||
return;
|
||||
}
|
||||
|
||||
e.Graphics.DrawString(Message, messageFont, Brushes.Black, messageRect, fmt);
|
||||
}
|
||||
|
||||
protected override void OnResize(EventArgs e)
|
||||
{
|
||||
base.OnResize(e);
|
||||
Height = CalculateHeight(Width);
|
||||
}
|
||||
|
||||
public int CalculateHeight(int width)
|
||||
{
|
||||
int padding = 6;
|
||||
int avatarSize = 32;
|
||||
int textLeft = padding * 2 + avatarSize;
|
||||
int textWidth = width - textLeft - padding;
|
||||
|
||||
using (Graphics g = CreateGraphics())
|
||||
{
|
||||
SizeF usernameSize = g.MeasureString(Username, usernameFont, textWidth);
|
||||
SizeF messageSize = g.MeasureString(Message, messageFont, textWidth);
|
||||
|
||||
int totalHeight = padding + (int)usernameSize.Height + 2 + (int)messageSize.Height + padding + 5;
|
||||
return Math.Max(totalHeight, avatarSize + 2 * padding);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ChatMessageControlMinimal : Control
|
||||
{
|
||||
public string Username = "Username";
|
||||
public string Message = "Message";
|
||||
|
||||
private Font usernameFont = new("Segoe UI", 9, FontStyle.Bold);
|
||||
private Font messageFont = new("Segoe UI", 9, FontStyle.Regular);
|
||||
|
||||
public ChatMessageControlMinimal()
|
||||
{
|
||||
DoubleBuffered = true;
|
||||
MinimumSize = new Size(150, 20);
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
|
||||
int padding = 6;
|
||||
|
||||
// first draw the username
|
||||
int textWidth = Width - padding * 2;
|
||||
|
||||
Rectangle usernameRect = new(padding, padding, textWidth, 20);
|
||||
e.Graphics.DrawString(Username, usernameFont, Brushes.Black, usernameRect);
|
||||
|
||||
// finally draw the message
|
||||
int messageTop = usernameRect.Bottom + 2;
|
||||
|
||||
Rectangle messageRect = new(padding, messageTop, textWidth, Height - messageTop - padding);
|
||||
StringFormat fmt = new()
|
||||
{
|
||||
Trimming = StringTrimming.Word,
|
||||
FormatFlags = 0,
|
||||
Alignment = StringAlignment.Near
|
||||
};
|
||||
|
||||
e.Graphics.DrawString(Message, messageFont, Brushes.Black, messageRect, fmt);
|
||||
}
|
||||
|
||||
protected override void OnResize(EventArgs e)
|
||||
{
|
||||
base.OnResize(e);
|
||||
Height = CalculateHeight(Width);
|
||||
}
|
||||
|
||||
public int CalculateHeight(int width)
|
||||
{
|
||||
int padding = 6;
|
||||
int textWidth = width - padding * 2;
|
||||
|
||||
using (Graphics g = CreateGraphics())
|
||||
{
|
||||
SizeF usernameSize = g.MeasureString(Username, usernameFont, textWidth);
|
||||
SizeF messageSize = g.MeasureString(Message, messageFont, textWidth);
|
||||
|
||||
int totalHeight = padding + (int)usernameSize.Height + 2 + (int)messageSize.Height + padding + 5;
|
||||
return totalHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,92 +0,0 @@
|
||||
using Accessibility;
|
||||
using Microsoft.AspNetCore.Mvc.TagHelpers;
|
||||
using qtc_net_client_2.Properties;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace qtc_net_client_2.Controls
|
||||
{
|
||||
public class ContactEntryControl : Control
|
||||
{
|
||||
public Image? Avatar { get; set; }
|
||||
public string Username = "Username";
|
||||
public Color StatusColor = Color.Gray;
|
||||
|
||||
private Font? usernameFont;
|
||||
|
||||
public event EventHandler? ContactDoubleClicked;
|
||||
|
||||
private bool IsHoveredOn;
|
||||
public ContactEntryControl()
|
||||
{
|
||||
// reduce flicker
|
||||
SetStyle(ControlStyles.AllPaintingInWmPaint |
|
||||
ControlStyles.ResizeRedraw |
|
||||
ControlStyles.UserPaint |
|
||||
ControlStyles.OptimizedDoubleBuffer, true);
|
||||
|
||||
Height = 36;
|
||||
}
|
||||
|
||||
protected override void OnPaintBackground(PaintEventArgs pevent) { } // prevent this
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||
|
||||
Rectangle rect = ClientRectangle;
|
||||
|
||||
using var brush = new LinearGradientBrush(rect, StatusColor, BackColor, LinearGradientMode.Horizontal);
|
||||
|
||||
Color usernameForeColor = Color.Black;
|
||||
if(IsHoveredOn)
|
||||
{
|
||||
usernameForeColor = Color.White;
|
||||
usernameFont = new Font("Segoe UI", 9, FontStyle.Bold | FontStyle.Underline);
|
||||
}
|
||||
else
|
||||
{
|
||||
usernameFont = new Font("Segoe UI", 9, FontStyle.Bold);
|
||||
}
|
||||
|
||||
e.Graphics.FillRectangle(brush, rect);
|
||||
|
||||
int margin = 6;
|
||||
int imgSize = 32;
|
||||
|
||||
Rectangle avatarRect = new(margin, (Height - imgSize) / 2, imgSize, imgSize);
|
||||
e.Graphics.DrawImage(Avatar ?? Resources.DefaultPfp, avatarRect);
|
||||
|
||||
int textLeft = avatarRect.Right + margin;
|
||||
|
||||
Rectangle rectText = new(textLeft, 0, Width - textLeft - 8, Height - 16);
|
||||
TextRenderer.DrawText(e.Graphics, Username, usernameFont, rectText, usernameForeColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter);
|
||||
}
|
||||
|
||||
protected override void OnMouseDoubleClick(MouseEventArgs e)
|
||||
{
|
||||
base.OnMouseDoubleClick(e);
|
||||
ContactDoubleClicked?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
protected override void OnMouseHover(EventArgs e)
|
||||
{
|
||||
base.OnMouseHover(e);
|
||||
IsHoveredOn = true;
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
protected override void OnMouseLeave(EventArgs e)
|
||||
{
|
||||
base.OnMouseLeave(e);
|
||||
IsHoveredOn = false;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,95 +0,0 @@
|
||||
using qtc_net_client_2.Properties;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
|
||||
|
||||
namespace qtc_net_client_2.Controls
|
||||
{
|
||||
public class RoomEntryControl : Control
|
||||
{
|
||||
public Image Image = Resources.RoomsChatIcon;
|
||||
public string RoomName = "Room";
|
||||
public bool HideUserCount = false;
|
||||
public int RoomUserCount = 0;
|
||||
|
||||
private Font? nameFont;
|
||||
private Color nameColor;
|
||||
|
||||
private Font userCountFont = new("Segoe UI", 9, FontStyle.Bold);
|
||||
private Color userCountColor = Color.Gray;
|
||||
|
||||
private bool IsHoveredOn = false;
|
||||
|
||||
public event EventHandler? OnRoomDoubleClicked;
|
||||
public RoomEntryControl()
|
||||
{
|
||||
// reduce flicker
|
||||
SetStyle(ControlStyles.AllPaintingInWmPaint |
|
||||
ControlStyles.ResizeRedraw |
|
||||
ControlStyles.UserPaint |
|
||||
ControlStyles.OptimizedDoubleBuffer, true);
|
||||
|
||||
Height = 36;
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
if(IsHoveredOn)
|
||||
{
|
||||
nameFont = new("Segoe UI", 9, FontStyle.Bold | FontStyle.Underline);
|
||||
nameColor = Color.LightGray;
|
||||
} else
|
||||
{
|
||||
nameFont = new("Segoe UI", 9, FontStyle.Bold);
|
||||
nameColor = Color.Black;
|
||||
}
|
||||
|
||||
int margin = 6;
|
||||
int imageSize = 32;
|
||||
|
||||
Rectangle imageRect = new(margin, (Height - imageSize) / 2, imageSize, imageSize);
|
||||
e.Graphics.DrawImage(Image, imageRect);
|
||||
|
||||
int nameLeft = imageRect.Right + margin;
|
||||
|
||||
Rectangle nameRect = new(nameLeft, 6, Width - nameLeft - 8, Height - 16);
|
||||
TextRenderer.DrawText(e.Graphics, RoomName, nameFont, nameRect, nameColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter);
|
||||
|
||||
string userCountText = RoomUserCount.ToString();
|
||||
Size countSize = TextRenderer.MeasureText(e.Graphics, userCountText, userCountFont);
|
||||
|
||||
if(!HideUserCount)
|
||||
{
|
||||
int rightPad = 8;
|
||||
int countX = Width - countSize.Width - rightPad;
|
||||
int countY = (Height - countSize.Height) / 2;
|
||||
Point userCountPoint = new(countX, countY);
|
||||
|
||||
TextRenderer.DrawText(e.Graphics, userCountText, userCountFont, userCountPoint, userCountColor, TextFormatFlags.Left);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnMouseDoubleClick(MouseEventArgs e)
|
||||
{
|
||||
base.OnMouseDoubleClick(e);
|
||||
OnRoomDoubleClicked?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
protected override void OnMouseHover(EventArgs e)
|
||||
{
|
||||
base.OnMouseHover(e);
|
||||
IsHoveredOn = true;
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
protected override void OnMouseLeave(EventArgs e)
|
||||
{
|
||||
base.OnMouseLeave(e);
|
||||
IsHoveredOn = false;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
78
qtc-net-client-2/Forms/ChatRoom.Designer.cs
generated
78
qtc-net-client-2/Forms/ChatRoom.Designer.cs
generated
@ -29,21 +29,23 @@
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
ListViewItem listViewItem1 = new ListViewItem("TestUser", 1);
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChatRoom));
|
||||
ListViewItem listViewItem2 = new ListViewItem("TestUser: the quick brown fox jumped over the lazy dog aaaa", 0);
|
||||
rtxtChatbox = new RichTextBox();
|
||||
btnSend = new Button();
|
||||
lblRoomName = new Label();
|
||||
ilStatusIcons = new ImageList(components);
|
||||
ilProfileImages = new ImageList(components);
|
||||
lvUserList = new ListView();
|
||||
fpnlMessages = new FlowLayoutPanel();
|
||||
ilStatusIcons = new ImageList(components);
|
||||
lvMessages = new ListView();
|
||||
ilProfileImages = new ImageList(components);
|
||||
SuspendLayout();
|
||||
//
|
||||
// rtxtChatbox
|
||||
//
|
||||
rtxtChatbox.Location = new Point(12, 322);
|
||||
rtxtChatbox.Location = new Point(12, 268);
|
||||
rtxtChatbox.Name = "rtxtChatbox";
|
||||
rtxtChatbox.Size = new Size(589, 54);
|
||||
rtxtChatbox.Size = new Size(512, 54);
|
||||
rtxtChatbox.TabIndex = 1;
|
||||
rtxtChatbox.Text = "";
|
||||
rtxtChatbox.KeyDown += rtxtChatbox_KeyDown;
|
||||
@ -53,7 +55,7 @@
|
||||
btnSend.FlatAppearance.BorderSize = 0;
|
||||
btnSend.FlatStyle = FlatStyle.Flat;
|
||||
btnSend.Image = Properties.Resources.SendIcon;
|
||||
btnSend.Location = new Point(607, 322);
|
||||
btnSend.Location = new Point(530, 268);
|
||||
btnSend.Name = "btnSend";
|
||||
btnSend.Size = new Size(75, 54);
|
||||
btnSend.TabIndex = 2;
|
||||
@ -72,6 +74,20 @@
|
||||
lblRoomName.TabIndex = 8;
|
||||
lblRoomName.Text = "Room";
|
||||
//
|
||||
// lvUserList
|
||||
//
|
||||
lvUserList.Alignment = ListViewAlignment.Left;
|
||||
lvUserList.Items.AddRange(new ListViewItem[] { listViewItem1 });
|
||||
lvUserList.Location = new Point(12, 43);
|
||||
lvUserList.MultiSelect = false;
|
||||
lvUserList.Name = "lvUserList";
|
||||
lvUserList.Size = new Size(124, 219);
|
||||
lvUserList.SmallImageList = ilStatusIcons;
|
||||
lvUserList.TabIndex = 9;
|
||||
lvUserList.UseCompatibleStateImageBehavior = false;
|
||||
lvUserList.View = View.SmallIcon;
|
||||
lvUserList.DoubleClick += lvUserList_DoubleClick;
|
||||
//
|
||||
// ilStatusIcons
|
||||
//
|
||||
ilStatusIcons.ColorDepth = ColorDepth.Depth32Bit;
|
||||
@ -82,6 +98,20 @@
|
||||
ilStatusIcons.Images.SetKeyName(2, "Away");
|
||||
ilStatusIcons.Images.SetKeyName(3, "DND");
|
||||
//
|
||||
// lvMessages
|
||||
//
|
||||
lvMessages.Alignment = ListViewAlignment.Left;
|
||||
lvMessages.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point, 0);
|
||||
lvMessages.Items.AddRange(new ListViewItem[] { listViewItem2 });
|
||||
lvMessages.Location = new Point(142, 43);
|
||||
lvMessages.MultiSelect = false;
|
||||
lvMessages.Name = "lvMessages";
|
||||
lvMessages.Size = new Size(463, 219);
|
||||
lvMessages.SmallImageList = ilProfileImages;
|
||||
lvMessages.TabIndex = 10;
|
||||
lvMessages.UseCompatibleStateImageBehavior = false;
|
||||
lvMessages.View = View.SmallIcon;
|
||||
//
|
||||
// ilProfileImages
|
||||
//
|
||||
ilProfileImages.ColorDepth = ColorDepth.Depth32Bit;
|
||||
@ -89,43 +119,17 @@
|
||||
ilProfileImages.TransparentColor = Color.Transparent;
|
||||
ilProfileImages.Images.SetKeyName(0, "DefaultPFP");
|
||||
//
|
||||
// lvUserList
|
||||
//
|
||||
lvUserList.Alignment = ListViewAlignment.Left;
|
||||
lvUserList.Location = new Point(12, 43);
|
||||
lvUserList.MultiSelect = false;
|
||||
lvUserList.Name = "lvUserList";
|
||||
lvUserList.Size = new Size(124, 273);
|
||||
lvUserList.SmallImageList = ilStatusIcons;
|
||||
lvUserList.TabIndex = 9;
|
||||
lvUserList.UseCompatibleStateImageBehavior = false;
|
||||
lvUserList.View = View.SmallIcon;
|
||||
lvUserList.DoubleClick += lvUserList_DoubleClick;
|
||||
//
|
||||
// fpnlMessages
|
||||
//
|
||||
fpnlMessages.AutoScroll = true;
|
||||
fpnlMessages.BackColor = Color.White;
|
||||
fpnlMessages.BorderStyle = BorderStyle.Fixed3D;
|
||||
fpnlMessages.FlowDirection = FlowDirection.TopDown;
|
||||
fpnlMessages.Location = new Point(142, 43);
|
||||
fpnlMessages.Name = "fpnlMessages";
|
||||
fpnlMessages.Size = new Size(540, 273);
|
||||
fpnlMessages.TabIndex = 10;
|
||||
fpnlMessages.WrapContents = false;
|
||||
//
|
||||
// ChatRoom
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
BackColor = Color.DodgerBlue;
|
||||
ClientSize = new Size(694, 388);
|
||||
Controls.Add(fpnlMessages);
|
||||
ClientSize = new Size(617, 334);
|
||||
Controls.Add(lvMessages);
|
||||
Controls.Add(lvUserList);
|
||||
Controls.Add(lblRoomName);
|
||||
Controls.Add(btnSend);
|
||||
Controls.Add(rtxtChatbox);
|
||||
DoubleBuffered = true;
|
||||
FormBorderStyle = FormBorderStyle.FixedSingle;
|
||||
Icon = (Icon)resources.GetObject("$this.Icon");
|
||||
MaximizeBox = false;
|
||||
@ -142,9 +146,9 @@
|
||||
private RichTextBox rtxtChatbox;
|
||||
private Button btnSend;
|
||||
private Label lblRoomName;
|
||||
private ImageList ilStatusIcons;
|
||||
private ImageList ilProfileImages;
|
||||
private ListView lvUserList;
|
||||
private FlowLayoutPanel fpnlMessages;
|
||||
private ImageList ilStatusIcons;
|
||||
private ListView lvMessages;
|
||||
private ImageList ilProfileImages;
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,4 @@
|
||||
using qtc_net_client_2.ClientModel;
|
||||
using qtc_net_client_2.Controls;
|
||||
using qtc_net_client_2.Services;
|
||||
using qtc_net_client_2.Services;
|
||||
using QtCNETAPI.Dtos.User;
|
||||
using QtCNETAPI.Events;
|
||||
using QtCNETAPI.Models;
|
||||
@ -57,7 +55,8 @@ namespace qtc_net_client_2.Forms
|
||||
lblRoomName.Text = Room.Name;
|
||||
|
||||
RoomUserList.Clear();
|
||||
lvUserList.Items.Clear();
|
||||
lvUserList.Clear();
|
||||
lvMessages.Clear();
|
||||
}
|
||||
|
||||
private async void frmChat_FormClosing(object sender, FormClosingEventArgs e)
|
||||
@ -144,7 +143,7 @@ namespace qtc_net_client_2.Forms
|
||||
Invoke(async delegate ()
|
||||
{
|
||||
RoomUserList.Clear();
|
||||
lvUserList.Items.Clear();
|
||||
lvUserList.Clear();
|
||||
foreach (var user in args.UserList)
|
||||
{
|
||||
lvUserList.Items.Add(user.Username, user.Status);
|
||||
@ -152,7 +151,7 @@ namespace qtc_net_client_2.Forms
|
||||
|
||||
// TODO - probably do this only when a message is received (requires response model change)
|
||||
var pfpRes = await _apiService.GetUserProfilePic(user.Id);
|
||||
if (pfpRes != null && pfpRes.Success && pfpRes.Data != null)
|
||||
if(pfpRes != null && pfpRes.Success && pfpRes.Data != null)
|
||||
{
|
||||
using var ms = new MemoryStream(pfpRes.Data);
|
||||
using var bmp = new Bitmap(ms);
|
||||
@ -165,17 +164,17 @@ namespace qtc_net_client_2.Forms
|
||||
private void _gatewayService_OnGuestUserJoin(object? sender, EventArgs e)
|
||||
{
|
||||
var args = (GuestUserJoinEventArgs)e;
|
||||
AddMessage($"Server: Guest User {args.Username} Has Joined {_gatewayService.CurrentRoom?.Name}");
|
||||
AddMessage($"[SERVER] Guest User {args.Username} Has Joined {_gatewayService.CurrentRoom?.Name}");
|
||||
}
|
||||
|
||||
private void _gatewayService_OnRoomDeleted(object? sender, EventArgs e)
|
||||
{
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
if(IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
Invoke(delegate ()
|
||||
{
|
||||
AddMessage($"Server: This Room Was Deleted By An Admin.");
|
||||
lvUserList.Items.Clear();
|
||||
AddMessage($"[SERVER] This Room Was Deleted By An Admin.");
|
||||
lvUserList.Clear();
|
||||
RoomUserList.Clear();
|
||||
|
||||
lvUserList.Enabled = false;
|
||||
@ -188,26 +187,11 @@ namespace qtc_net_client_2.Forms
|
||||
|
||||
private void AddMessage(string message, string? userId = null)
|
||||
{
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
if(IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
Invoke((Delegate)delegate ()
|
||||
Invoke(delegate ()
|
||||
{
|
||||
var ctrl = new ChatMessageControl()
|
||||
{
|
||||
Username = message.Split(':')[0],
|
||||
Message = message.Split(':')[1].Trim(),
|
||||
Width = fpnlMessages.ClientSize.Width - SystemInformation.VerticalScrollBarWidth
|
||||
};
|
||||
|
||||
if(ilProfileImages.Images.ContainsKey(userId))
|
||||
ctrl.Avatar = ilProfileImages.Images[userId];
|
||||
else ctrl.Avatar = null;
|
||||
|
||||
ctrl.Height = ctrl.CalculateHeight(ctrl.Width);
|
||||
|
||||
fpnlMessages.Controls.Add(ctrl);
|
||||
fpnlMessages.VerticalScroll.Value = fpnlMessages.VerticalScroll.Maximum;
|
||||
fpnlMessages.PerformLayout();
|
||||
lvMessages.Items.Add(message, userId ?? "DefaultPfp");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -124,90 +124,91 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAchMAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAEYAQIBGAECARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAuhMAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAEQAQEBEAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B
|
||||
0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB
|
||||
BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD
|
||||
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDZwH+A2cB/gMkAfsDUwH0A2IB
|
||||
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBQwGAAUMB/gFDAYABQwH+ASEBXgEhAfsD
|
||||
UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7AUMCgAH+AUMCgAH+ASECXgH7A1MB
|
||||
9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wJDAYAB/gJDAYAB/gIhAV4B+wNTAfQD
|
||||
YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNrAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B
|
||||
8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBQwGAAUMB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB
|
||||
AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBQwKAAf4B
|
||||
AAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMIAAMbASUD
|
||||
WAG9A1oB8gJDAYAB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB
|
||||
sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A2cB
|
||||
/gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYBAAH/AQAB
|
||||
zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/AUMBgAFDAf4DYgHuA1AB
|
||||
mgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQACywH/AQAC
|
||||
swH/AQACiAH/AQACVwH/AUMCgAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB
|
||||
/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wJDAYAB/gNiAe4DUAGaAwMB
|
||||
BAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B
|
||||
3QMqAT8DLQFEAWABaQFgAegBQwGAAUMB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB
|
||||
+wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0DKgE/Ay0B
|
||||
RAFgAmkB6AFDAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB
|
||||
/wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCQwGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C
|
||||
AAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8DTgGVA3cB
|
||||
+AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfIDSgGLA04B
|
||||
lQFcAXwBXAH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH+AQAB/wEAAfYBAAH/AQAB1QEAAf8BAAGLAQAB/wEAAUEBAAH/A1oB8gNKAYsDTgGVAVwC
|
||||
fAH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC1QH/AQAC
|
||||
iwH/AQACQQH/A1oB8gNKAYsDTgGVAlwBfAH4AgAB5QH/AgAB7wH/AgAB+AH/AgAB/QH/AgAC/wIAAv8C
|
||||
AAL/AgAB/gH/AgAB9gH/AgAB1QH/AgABiwH/AgABQQH/A1oB8gNKAYsDXwHTA34B/AOTAf8DjgH/A40B
|
||||
/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOFAf8DZwH/AzQB/wNBAfkDWgHEAVsBXwFbAdMBKwF+ASsB
|
||||
/AEOAfsBDgH/AQMB/QEDAf8BAAH+AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB/wNBAfkDWgHEAVsCXwHTASsCfgH8AQ4C
|
||||
+wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8BAAJdAf8D
|
||||
QQH5A1oBxAJbAV8B0wIrAX4B/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB
|
||||
/QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B
|
||||
/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBZwGAAWcB/gEnAf8BJwH/AQsB
|
||||
/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AWcCgAH+AScD/wELA/8BAQP/AQAD
|
||||
/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCZwGAAf4C
|
||||
JwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8DQAH9A2IB
|
||||
4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB
|
||||
/QNeAeIBSAFjAUgB9gOAAf4BQgH/AUIB/wEZAf8BGQH/AQQB/wEEAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB/wEAAeQBAAH/AQABmAEAAf8DQAH9A14B
|
||||
4gFIAmMB9gOAAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALkAf8B
|
||||
AAKYAf8DQAH9A14B4gJIAWMB9gOAAf4CQgL/AhkC/wIEAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8C
|
||||
AAH9Af8CAAHkAf8CAAGYAf8DQAH9A14B4gNhAdYDfgH8A7gB/wOjAf8DkwH/A44B/wOOAf8DjgH/A44B
|
||||
/wOOAf8DjgH/A40B/wOCAf8DXAH/A00B+gNaAccBXAFhAVwB1gFkAX4BZAH8AV8B/wFfAf8BLwH/AS8B
|
||||
/wEMAf8BDAH/AQEB/wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/gEAAf8BAAHqAQAB/wEAAaUBAAH/A00B+gNaAccBXAJhAdYBZAJ+AfwBXwP/AS8D/wEMA/8BAQP/AQAD
|
||||
/wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8DTQH6A1oBxwJcAWEB1gJkAX4B/AJfAv8C
|
||||
LwL/AgwC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB/wIAAaUB/wNNAfoDWgHHA1AB
|
||||
mgNqAfkDxQH/A7IB/wOcAf8DkQH/A44B/wOOAf8DjgH/A44B/wOPAf8DjgH/A4MB/wNgAf8DWgHyA0wB
|
||||
kANQAZoDagH5AXwB/wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB/wEHAf8BAQH/AQEB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVoBawFaAfIDTAGQA1AB
|
||||
mgNqAfkBfAP/AVED/wEfA/8BBwP/AQED/wEAA/8BAAP/AQAD/wECA/8BAgL+Af8BAALrAf8BAAKtAf8B
|
||||
WgJrAfIDTAGQA1ABmgNqAfkCfAL/AlEC/wIfAv8CBwL/AgEC/wIAAv8CAAL/AgAC/wICAv8CAgH+Af8C
|
||||
AAHrAf8CAAGtAf8CWgFrAfIDTAGQAy8BSQNsAesDgAH+A8YB/wOuAf8DnAH/A5MB/wOQAf8DjwH/A5AB
|
||||
/wOTAf8DkwH/A4UB/wNAAf0DYAHgAy0BRQMvAUkDbAHrA4AB/gF/Af8BfwH/AUkB/wFJAf8BHwH/AR8B
|
||||
/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB/wEFAf8BBQH/AQoB/wEKAf8BCgH+AQoB/wEBAe0BAQH/AUAB
|
||||
tgFAAf0BYAFmAWAB4AMtAUUDLwFJA2wB6wOAAf4BfwP/AUkD/wEfA/8BDAP/AQUD/wEDA/8BBQP/AQoD
|
||||
/wEKAv4B/wEBAu0B/wFAArYB/QFgAmYB4AMtAUUDLwFJA2wB6wOAAf4CfwL/AkkC/wIfAv8CDAL/AgUC
|
||||
/wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B/wJAAbYB/QJgAWYB4AMtAUUDAwEEA1YBrgNuAfUD2QH/A8sB
|
||||
/wO3Af8DpwH/A50B/wOaAf8DnAH/A58B/wObAf8DiQH/A2gB8ANSAaMDAwEEAwMBBANWAa4DbgH1AagB
|
||||
/wGoAf8BiQH/AYkB/wFcAf8BXAH/ATcB/wE3Af8BIgH/ASIB/wEbAf8BGwH/AR8B/wEfAf8BJgH/ASYB
|
||||
/wEdAf8BHQH/AQUB8wEFAf8BXgFoAV4B8ANSAaMDAwEEAwMBBANWAa4DbgH1AagD/wGJA/8BXAP/ATcD
|
||||
/wEiA/8BGwP/AR8D/wEmA/8BHQP/AQUC8wH/AV4CaAHwA1IBowMDAQQDAwEEA1YBrgNuAfUCqAL/AokC
|
||||
/wJcAv8CNwL/AiIC/wIbAv8CHwL/AiYC/wIdAv8CBQHzAf8CXgFoAfADUgGjAwMBBAQAAxwBJwNdAccD
|
||||
YwH2A4AB/gPXAf8DzAH/A8IB/wO7Af8DtwH/A7EB/wOAAf4DaAH0A1kBvAMbASYIAAMcAScDXQHHA2MB
|
||||
9gOAAf4BpQH/AaUB/wGLAf8BiwH/AXQB/wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BcwGAAXMB
|
||||
/gFTAWgBUwH0AVcBWQFXAbwDGwEmCAADHAEnA10BxwNjAfYDgAH+AaUD/wGLA/8BdAP/AWYD/wFcA/8B
|
||||
TgP/AXMCgAH+AVMCaAH0AVcCWQG8AxsBJggAAxwBJwNdAccDYwH2A4AB/gKlAv8CiwL/AnQC/wJmAv8C
|
||||
XAL/Ak4C/wJzAYAB/gJTAWgB9AJXAVkBvAMbASYMAAMhATADWQG2A2IB7gN9AfoDvgH9A9QB/wPMAf8D
|
||||
vgH9A2oB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB
|
||||
/wFAAb4BQAH9AWgBagFoAfkBYQFsAWEB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4DfQH6Aa4CvgH9AZ8D
|
||||
/wGMA/8BQAK+Af0BaAJqAfkBYQJsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B+gKuAb4B/QKfAv8C
|
||||
jAL/AkABvgH9AmgBagH5AmEBbAHrA1UBrAMfASwUAAMGAQcDNgFYA1UBrANmAeUDfgH8A18B+wNlAeID
|
||||
UwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUDfgH8AV8BZwFfAfsDZQHiA1MBpwMzAVEDBgEHGAAD
|
||||
BgEHAzYBWANVAawDZgHlA34B/AFfAmcB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUD
|
||||
fgH8Al8BZwH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgAB
|
||||
ARYAA/+BAAHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAVAAAYAB
|
||||
AQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw==
|
||||
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDRgH+A0YB/gMkAfsDUwH0A2IB
|
||||
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBWQFaAVkB9QEhAV4BIQH7ASIBYgEiAf4BIgFiASIB/gEhAV4B
|
||||
IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAVkCWgH1ASECXgH7ASICYgH+ASICYgH+ASEC
|
||||
XgH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAlkBWgH1AiEBXgH7AiIBYgH+AiIBYgH+AiEB
|
||||
XgH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyA0oB/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB
|
||||
/wNAAf0DXgHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEiAWoBIgH+AQABVwEAAf8BAAFnAQAB/wEAAWwB
|
||||
AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/A0AB/QNeAfADVgGyARkBGgEZASMIAAMbASUDWAG9A1oB
|
||||
8gEiAmoB/gEAAlcB/wEAAmcB/wEAAmwB/wEAAmEB/wEAAkwB/wEAAkAB/wNAAf0DXgHwA1YBsgEZAhoB
|
||||
IwgAAxsBJQNYAb0DWgHyAiIBagH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgABTAH/AgABQAH/A0AB
|
||||
/QNeAfADVgGyAhkBGgEjBAADAwEEA1IBpQNgAfMDSQH/A1UB/wNlAf8DcQH/A3UB/wNxAf8DZAH/A0wB
|
||||
/wMxAf8DRgH+A2IB7gNQAZoDAwEEAwMBBAFSAVMBUgGlAWABbwFgAfMBAAGCAQAB/wEAAZkBAAH/AQAB
|
||||
tgEAAf8BAAHMAQAB/wEAAdMBAAH/AQABywEAAf8BAAGzAQAB/wEAAYgBAAH/AQABVwEAAf8BIgFiASIB
|
||||
/gNiAe4DUAGaAwMBBAMDAQQBUgJTAaUBYAJvAfMBAAKCAf8BAAKZAf8BAAK2Af8BAALMAf8BAALTAf8B
|
||||
AALLAf8BAAKzAf8BAAKIAf8BAAJXAf8BIgJiAf4DYgHuA1ABmgMDAQQDAwEEAlIBUwGlAmABbwHzAgAB
|
||||
ggH/AgABmQH/AgABtgH/AgABzAH/AgAB0wH/AgABywH/AgABswH/AgABiAH/AgABVwH/AiIBYgH+A2IB
|
||||
7gNQAZoDAwEEAy0BRANgAegDgAH+A24B/wN7Af8DhQH/A4oB/wOMAf8DigH/A4UB/wN2Af8DVwH/AzIB
|
||||
/wNAAf0DXgHdAyoBPwMtAUQBYAFpAWAB6AEiAYABIgH+AQABxgEAAf8BAAHcAQAB/wEAAe4BAAH/AQAB
|
||||
+AEAAf8BAAH7AQAB/wEAAfkBAAH/AQAB7wEAAf8BAAHUAQAB/wEAAZwBAAH/AQABWgEAAf8DQAH9A14B
|
||||
3QMqAT8DLQFEAWACaQHoASICgAH+AQACxgH/AQAC3AH/AQAC7gH/AQAC+AH/AQAC+wH/AQAC+QH/AQAC
|
||||
7wH/AQAC1AH/AQACnAH/AQACWgH/A0AB/QNeAd0DKgE/Ay0BRAJgAWkB6AIiAYAB/gIAAcYB/wIAAdwB
|
||||
/wIAAe4B/wIAAfgB/wIAAfsB/wIAAfkB/wIAAe8B/wIAAdQB/wIAAZwB/wIAAVoB/wNAAf0DXgHdAyoB
|
||||
PwNOAZUDdwH4A38B/wOFAf8DigH/A40B/wOOAf8DjgH/A44B/wONAf8DiQH/A3cB/wNNAf8DJQH/A1oB
|
||||
8gNKAYsDTgGVAU8BfAFPAfgBAAHlAQAB/wEAAe8BAAH/AQAB+AEAAf8BAAH9AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf4BAAH/AQAB9gEAAf8BAAHVAQAB/wEAAYsBAAH/AQABQQEAAf8DWgHyA0oB
|
||||
iwNOAZUBTwJ8AfgBAALlAf8BAALvAf8BAAL4Af8BAAL9Af8BAAP/AQAD/wEAA/8BAAL+Af8BAAL2Af8B
|
||||
AALVAf8BAAKLAf8BAAJBAf8DWgHyA0oBiwNOAZUCTwF8AfgCAAHlAf8CAAHvAf8CAAH4Af8CAAH9Af8C
|
||||
AAL/AgAC/wIAAv8CAAH+Af8CAAH2Af8CAAHVAf8CAAGLAf8CAAFBAf8DWgHyA0oBiwNfAdMDfgH8A5MB
|
||||
/wOOAf8DjQH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A4UB/wNnAf8DNAH/A0EB+QNaAcQBWwFfAVsB
|
||||
0wErAZUBKwH8AQ4B+wEOAf8BAwH9AQMB/wEAAf4BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf0BAAH/AQAB7wEAAf8BAAG5AQAB/wEAAV0BAAH/A0EB+QNaAcQBWwJfAdMB
|
||||
KwKVAfwBDgL7Af8BAwL9Af8BAAL+Af8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB
|
||||
/wEAAl0B/wNBAfkDWgHEAlsBXwHTAisBlQH8Ag4B+wH/AgMB/QH/AgAB/gH/AgAC/wIAAv8CAAL/AgAC
|
||||
/wIAAv8CAAH9Af8CAAHvAf8CAAG5Af8CAAFdAf8DQQH5A1oBxANuAfUDgAH+A58B/wOTAf8DjwH/A44B
|
||||
/wOOAf8DjgH/A44B/wOOAf8DjgH/A4sB/wN3Af8DSAH/A0AB/QNiAeEBWgFuAVoB9QFGAbsBRgH+AScB
|
||||
/wEnAf8BCwH/AQsB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB+QEAAf8BAAHWAQAB/wEAAYEBAAH/A0AB/QNiAeEBWgJuAfUBRgK7Af4BJwP/AQsD
|
||||
/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL5Af8BAALWAf8BAAKBAf8DQAH9A2IB4QJaAW4B
|
||||
9QJGAbsB/gInAv8CCwL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAfkB/wIAAdYB/wIAAYEB
|
||||
/wNAAf0DYgHhA2MB9gOAAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A38B
|
||||
/wNVAf8DQAH9A14B4gFIAW8BSAH2AWkBuwFpAf4BQgH/AUIB/wEZAf8BGQH/AQQB/wEEAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB/wEAAeQBAAH/AQAB
|
||||
mAEAAf8DQAH9A14B4gFIAm8B9gFpArsB/gFCA/8BGQP/AQQD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD
|
||||
/wEAAv0B/wEAAuQB/wEAApgB/wNAAf0DXgHiAkgBbwH2AmkBuwH+AkIC/wIZAv8CBAL/AgAC/wIAAv8C
|
||||
AAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/A0AB/QNeAeIDYQHWA34B/AO4Af8DowH/A5MB
|
||||
/wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wONAf8DggH/A1wB/wNNAfoDWgHHAVwBYQFcAdYBZAGbAWQB
|
||||
/AFfAf8BXwH/AS8B/wEvAf8BDAH/AQwB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf4BAAH/AQAB6gEAAf8BAAGlAQAB/wE4AU0BOAH6A1oBxwFcAmEB1gFkApsB
|
||||
/AFfA/8BLwP/AQwD/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv4B/wEAAuoB/wEAAqUB/wE4Ak0B
|
||||
+gNaAccCXAFhAdYCZAGbAfwCXwL/Ai8C/wIMAv8CAQL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH+Af8C
|
||||
AAHqAf8CAAGlAf8COAFNAfoDWgHHA1ABmgN9AfkDxQH/A7IB/wOcAf8DkQH/A44B/wOOAf8DjgH/A44B
|
||||
/wOPAf8DjgH/A4MB/wNgAf8DWgHyA0wBkANQAZoBagGHAWoB+QF8Af8BfAH/AVEB/wFRAf8BHwH/AR8B
|
||||
/wEHAf8BBwH/AQEB/wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAgH/AQIB/wECAf4BAgH/AQAB
|
||||
6wEAAf8BAAGtAQAB/wFaAWsBWgHyA0wBkANQAZoBagKHAfkBfAP/AVED/wEfA/8BBwP/AQED/wEAA/8B
|
||||
AAP/AQAD/wECA/8BAgL+Af8BAALrAf8BAAKtAf8BWgJrAfIDTAGQA1ABmgJqAYcB+QJ8Av8CUQL/Ah8C
|
||||
/wIHAv8CAQL/AgAC/wIAAv8CAAL/AgIC/wICAf4B/wIAAesB/wIAAa0B/wJaAWsB8gNMAZADLwFJA2wB
|
||||
6wOMAf4DxgH/A64B/wOcAf8DkwH/A5AB/wOPAf8DkAH/A5MB/wOTAf8DhQH/A0QB/QNgAeADLQFFAy8B
|
||||
SQNsAesBgAG7AYAB/gF/Af8BfwH/AUkB/wFJAf8BHwH/AR8B/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB
|
||||
/wEFAf8BBQH/AQoB/wEKAf8BCgH+AQoB/wEBAe0BAQH/AUABtgFAAf0BYAFmAWAB4AMtAUUDLwFJA2wB
|
||||
6wGAArsB/gF/A/8BSQP/AR8D/wEMA/8BBQP/AQMD/wEFA/8BCgP/AQoC/gH/AQEC7QH/AUACtgH9AWAC
|
||||
ZgHgAy0BRQMvAUkDbAHrAoABuwH+An8C/wJJAv8CHwL/AgwC/wIFAv8CAwL/AgUC/wIKAv8CCgH+Af8C
|
||||
AQHtAf8CQAG2Af0CYAFmAeADLQFFAwMBBANWAa4DbgH1A9kB/wPLAf8DtwH/A6cB/wOdAf8DmgH/A5wB
|
||||
/wOfAf8DmwH/A4kB/wNoAfADUgGjAwMBBAMDAQQDVgGuA24B9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB
|
||||
/wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB/wEfAf8BHwH/ASYB/wEmAf8BHQH/AR0B/wEFAfMBBQH/AV4B
|
||||
aAFeAfADUgGjAwMBBAMDAQQDVgGuA24B9QGoA/8BiQP/AVwD/wE3A/8BIgP/ARsD/wEfA/8BJgP/AR0D
|
||||
/wEFAvMB/wFeAmgB8ANSAaMDAwEEAwMBBANWAa4DbgH1AqgC/wKJAv8CXAL/AjcC/wIiAv8CGwL/Ah8C
|
||||
/wImAv8CHQL/AgUB8wH/Al4BaAHwA1IBowMDAQQEAAMcAScDXQHHA2kB9gObAf4D1wH/A8wB/wPCAf8D
|
||||
uwH/A7cB/wOxAf8DgAH+A2gB9ANZAbwDGwEmCAADHAEnA10BxwFjAW8BYwH2AYABuwGAAf4BpQH/AaUB
|
||||
/wGLAf8BiwH/AXQB/wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BUgG7AVIB/gFTAWgBUwH0AVcB
|
||||
WQFXAbwDGwEmCAADHAEnA10BxwFjAm8B9gGAArsB/gGlA/8BiwP/AXQD/wFmA/8BXAP/AU4D/wFSArsB
|
||||
/gFTAmgB9AFXAlkBvAMbASYIAAMcAScDXQHHAmMBbwH2AoABuwH+AqUC/wKLAv8CdAL/AmYC/wJcAv8C
|
||||
TgL/AlIBuwH+AlMBaAH0AlcBWQG8AxsBJgwAAyEBMANZAbYDYgHuA30B+gO+Af0D1AH/A8wB/wO+Af0D
|
||||
dQH5A2wB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4BfQGEAX0B+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB
|
||||
/wFUAb4BVAH9AWgBhwFoAfkBYQFsAWEB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4BfQKEAfoBrgK+Af0B
|
||||
nwP/AYwD/wFUAr4B/QFoAocB+QFhAmwB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4CfQGEAfoCrgG+Af0C
|
||||
nwL/AowC/wJUAb4B/QJoAYcB+QJhAWwB6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA4IB/AOJAfsD
|
||||
ZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAX4BmwF+AfwBXwGUAV8B+wNlAeIDUwGnAzMB
|
||||
UQMGAQcYAAMGAQcDNgFYA1UBrANmAeUBfgKbAfwBXwKUAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB
|
||||
WANVAawDZgHlAn4BmwH8Al8BlAH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwAB
|
||||
IAMAAQEBAAEBBgABARYAA/+BAAHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEB
|
||||
gAEBAYABAVAAAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ilProfileImages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@ -218,7 +219,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAlhsAAAJNU0Z0AUkBTAMBAQAB
|
||||
QAEBAUABAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAC
|
||||
OAEAATgBAAEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAC
|
||||
RwFGAYACRwFGAYACRwFGAYABRwJGAYABRwJGAYACRwFGAYACRwFGAYABRwJGAYABRwJGAYABRwJGAYAD
|
||||
RgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcB
|
||||
RgGAAkcBRgGAA0YBgAFHAkYBgAFHAkYBgAFHAkYBgAFHAkYBgAFHAkYBgAJHAUYBgAJHAUYBgAJHAUYB
|
||||
|
||||
26
qtc-net-client-2/Forms/DirectMessage.Designer.cs
generated
26
qtc-net-client-2/Forms/DirectMessage.Designer.cs
generated
@ -33,7 +33,7 @@
|
||||
rtxtChatbox = new RichTextBox();
|
||||
lblUsername = new Label();
|
||||
pbPfp = new PictureBox();
|
||||
fpnlMessages = new FlowLayoutPanel();
|
||||
lvChat = new ListView();
|
||||
((System.ComponentModel.ISupportInitialize)pbPfp).BeginInit();
|
||||
SuspendLayout();
|
||||
//
|
||||
@ -82,17 +82,17 @@
|
||||
pbPfp.TabIndex = 9;
|
||||
pbPfp.TabStop = false;
|
||||
//
|
||||
// fpnlMessages
|
||||
// lvChat
|
||||
//
|
||||
fpnlMessages.AutoScroll = true;
|
||||
fpnlMessages.BackColor = Color.White;
|
||||
fpnlMessages.BorderStyle = BorderStyle.Fixed3D;
|
||||
fpnlMessages.FlowDirection = FlowDirection.TopDown;
|
||||
fpnlMessages.Location = new Point(14, 49);
|
||||
fpnlMessages.Name = "fpnlMessages";
|
||||
fpnlMessages.Size = new Size(591, 324);
|
||||
fpnlMessages.TabIndex = 11;
|
||||
fpnlMessages.WrapContents = false;
|
||||
lvChat.Alignment = ListViewAlignment.Left;
|
||||
lvChat.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point, 0);
|
||||
lvChat.Location = new Point(12, 48);
|
||||
lvChat.MultiSelect = false;
|
||||
lvChat.Name = "lvChat";
|
||||
lvChat.Size = new Size(593, 325);
|
||||
lvChat.TabIndex = 10;
|
||||
lvChat.UseCompatibleStateImageBehavior = false;
|
||||
lvChat.View = View.SmallIcon;
|
||||
//
|
||||
// DirectMessage
|
||||
//
|
||||
@ -100,7 +100,7 @@
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
BackColor = Color.DodgerBlue;
|
||||
ClientSize = new Size(618, 443);
|
||||
Controls.Add(fpnlMessages);
|
||||
Controls.Add(lvChat);
|
||||
Controls.Add(pbPfp);
|
||||
Controls.Add(lblUsername);
|
||||
Controls.Add(btnSend);
|
||||
@ -125,6 +125,6 @@
|
||||
private RichTextBox rtxtChatbox;
|
||||
private Label lblUsername;
|
||||
private PictureBox pbPfp;
|
||||
private FlowLayoutPanel fpnlMessages;
|
||||
private ListView lvChat;
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,4 @@
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
||||
using qtc_net_client_2.Controls;
|
||||
using qtc_net_client_2.Services;
|
||||
using QtCNETAPI.Dtos.User;
|
||||
using QtCNETAPI.Events;
|
||||
@ -101,36 +100,14 @@ namespace qtc_net_client_2.Forms
|
||||
Invoke(delegate ()
|
||||
{
|
||||
var msg = e.NewItems.Cast<string>().FirstOrDefault();
|
||||
|
||||
var ctrl = new ChatMessageControlMinimal()
|
||||
{
|
||||
Username = msg!.Split(':')[0],
|
||||
Message = msg!.Split(":")[1].Trim(),
|
||||
};
|
||||
ctrl.Height = ctrl.CalculateHeight(ctrl.Width);
|
||||
|
||||
fpnlMessages.Controls.Add(ctrl);
|
||||
fpnlMessages.VerticalScroll.Value = fpnlMessages.VerticalScroll.Maximum;
|
||||
fpnlMessages.PerformLayout();
|
||||
|
||||
lvChat.Items.Add(msg);
|
||||
if (!msg!.Contains(_apiService.CurrentUser.Username)) AudioService.PlaySoundEffect("sndMessage");
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = e.NewItems.Cast<string>().FirstOrDefault();
|
||||
|
||||
var ctrl = new ChatMessageControlMinimal()
|
||||
{
|
||||
Username = msg!.Split(':')[0],
|
||||
Message = msg!.Split(":")[1].Trim(),
|
||||
};
|
||||
ctrl.Height = ctrl.CalculateHeight(ctrl.Width);
|
||||
|
||||
fpnlMessages.Controls.Add(ctrl);
|
||||
fpnlMessages.VerticalScroll.Value = fpnlMessages.VerticalScroll.Maximum;
|
||||
fpnlMessages.PerformLayout();
|
||||
|
||||
lvChat.Items.Add(msg);
|
||||
if (!msg!.Contains(_apiService.CurrentUser.Username)) AudioService.PlaySoundEffect("sndMessage");
|
||||
}
|
||||
}
|
||||
|
||||
95
qtc-net-client-2/Forms/Main.Designer.cs
generated
95
qtc-net-client-2/Forms/Main.Designer.cs
generated
@ -30,16 +30,17 @@
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
|
||||
ListViewItem listViewItem4 = new ListViewItem("Stock Market", 0);
|
||||
ListViewItem listViewItem5 = new ListViewItem("Guess The Number", 1);
|
||||
ListViewItem listViewItem6 = new ListViewItem("Tic-Tac-Toe (Multiplayer)", "Tic-tac-toe.png");
|
||||
ListViewItem listViewItem1 = new ListViewItem("Stock Market", 0);
|
||||
ListViewItem listViewItem2 = new ListViewItem("Guess The Number", 1);
|
||||
ListViewItem listViewItem3 = new ListViewItem("Tic-Tac-Toe (Multiplayer)", "Tic-tac-toe.png");
|
||||
tbcMain = new TabControl();
|
||||
tbpContacts = new TabPage();
|
||||
flpContacts = new FlowLayoutPanel();
|
||||
lvContacts = new ListView();
|
||||
ctxmRefresh = new ContextMenuStrip(components);
|
||||
refreshToolStripMenuItem = new ToolStripMenuItem();
|
||||
ilProfilePics = new ImageList(components);
|
||||
tbpRooms = new TabPage();
|
||||
flpRooms = new FlowLayoutPanel();
|
||||
lbRooms = new ListBox();
|
||||
tbpUsers = new TabPage();
|
||||
lvUserDirectory = new ListView();
|
||||
ilStatusIcons = new ImageList(components);
|
||||
@ -50,7 +51,6 @@
|
||||
lvStoreItems = new ListView();
|
||||
ilStoreThumbnails = new ImageList(components);
|
||||
ilTabIcons = new ImageList(components);
|
||||
ilProfilePics = new ImageList(components);
|
||||
ctxmChangeStatus = new ContextMenuStrip(components);
|
||||
onlineToolStripMenuItem = new ToolStripMenuItem();
|
||||
awayToolStripMenuItem = new ToolStripMenuItem();
|
||||
@ -113,10 +113,11 @@
|
||||
tbcMain.SelectedIndex = 0;
|
||||
tbcMain.Size = new Size(352, 499);
|
||||
tbcMain.TabIndex = 0;
|
||||
tbcMain.SelectedIndexChanged += tbcMain_SelectedIndexChanged;
|
||||
//
|
||||
// tbpContacts
|
||||
//
|
||||
tbpContacts.Controls.Add(flpContacts);
|
||||
tbpContacts.Controls.Add(lvContacts);
|
||||
tbpContacts.ImageKey = "ContactsIcon.png";
|
||||
tbpContacts.Location = new Point(4, 24);
|
||||
tbpContacts.Name = "tbpContacts";
|
||||
@ -126,19 +127,21 @@
|
||||
tbpContacts.Text = "Contacts";
|
||||
tbpContacts.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// flpContacts
|
||||
// lvContacts
|
||||
//
|
||||
flpContacts.AutoScroll = true;
|
||||
flpContacts.BackColor = Color.White;
|
||||
flpContacts.BorderStyle = BorderStyle.Fixed3D;
|
||||
flpContacts.ContextMenuStrip = ctxmRefresh;
|
||||
flpContacts.Dock = DockStyle.Fill;
|
||||
flpContacts.FlowDirection = FlowDirection.TopDown;
|
||||
flpContacts.Location = new Point(3, 3);
|
||||
flpContacts.Name = "flpContacts";
|
||||
flpContacts.Size = new Size(338, 465);
|
||||
flpContacts.TabIndex = 0;
|
||||
flpContacts.WrapContents = false;
|
||||
lvContacts.Alignment = ListViewAlignment.Left;
|
||||
lvContacts.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
lvContacts.ContextMenuStrip = ctxmRefresh;
|
||||
lvContacts.LargeImageList = ilProfilePics;
|
||||
lvContacts.Location = new Point(0, 0);
|
||||
lvContacts.MultiSelect = false;
|
||||
lvContacts.Name = "lvContacts";
|
||||
lvContacts.Size = new Size(344, 478);
|
||||
lvContacts.SmallImageList = ilProfilePics;
|
||||
lvContacts.TabIndex = 1;
|
||||
lvContacts.UseCompatibleStateImageBehavior = false;
|
||||
lvContacts.View = View.SmallIcon;
|
||||
lvContacts.DoubleClick += lvContacts_DoubleClick;
|
||||
//
|
||||
// ctxmRefresh
|
||||
//
|
||||
@ -153,9 +156,16 @@
|
||||
refreshToolStripMenuItem.Text = "Refresh";
|
||||
refreshToolStripMenuItem.Click += refreshToolStripMenuItem_Click;
|
||||
//
|
||||
// ilProfilePics
|
||||
//
|
||||
ilProfilePics.ColorDepth = ColorDepth.Depth32Bit;
|
||||
ilProfilePics.ImageStream = (ImageListStreamer)resources.GetObject("ilProfilePics.ImageStream");
|
||||
ilProfilePics.TransparentColor = Color.Transparent;
|
||||
ilProfilePics.Images.SetKeyName(0, "DEFAULT");
|
||||
//
|
||||
// tbpRooms
|
||||
//
|
||||
tbpRooms.Controls.Add(flpRooms);
|
||||
tbpRooms.Controls.Add(lbRooms);
|
||||
tbpRooms.ImageKey = "RoomsChatIcon.png";
|
||||
tbpRooms.Location = new Point(4, 24);
|
||||
tbpRooms.Name = "tbpRooms";
|
||||
@ -165,19 +175,17 @@
|
||||
tbpRooms.Text = "Rooms";
|
||||
tbpRooms.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// flpRooms
|
||||
// lbRooms
|
||||
//
|
||||
flpRooms.AutoScroll = true;
|
||||
flpRooms.BackColor = Color.White;
|
||||
flpRooms.BorderStyle = BorderStyle.Fixed3D;
|
||||
flpRooms.ContextMenuStrip = ctxmRefresh;
|
||||
flpRooms.Dock = DockStyle.Fill;
|
||||
flpRooms.FlowDirection = FlowDirection.TopDown;
|
||||
flpRooms.Location = new Point(3, 3);
|
||||
flpRooms.Name = "flpRooms";
|
||||
flpRooms.Size = new Size(338, 465);
|
||||
flpRooms.TabIndex = 1;
|
||||
flpRooms.WrapContents = false;
|
||||
lbRooms.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
lbRooms.ContextMenuStrip = ctxmRefresh;
|
||||
lbRooms.FormattingEnabled = true;
|
||||
lbRooms.ItemHeight = 15;
|
||||
lbRooms.Location = new Point(0, 0);
|
||||
lbRooms.Name = "lbRooms";
|
||||
lbRooms.Size = new Size(344, 484);
|
||||
lbRooms.TabIndex = 0;
|
||||
lbRooms.DoubleClick += lbRooms_DoubleClick;
|
||||
//
|
||||
// tbpUsers
|
||||
//
|
||||
@ -230,10 +238,10 @@
|
||||
// lvGames
|
||||
//
|
||||
lvGames.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
listViewItem4.Tag = "StockMarketGame";
|
||||
listViewItem5.Tag = "GuessTheNumberGame";
|
||||
listViewItem6.Tag = "TicTacToeGame";
|
||||
lvGames.Items.AddRange(new ListViewItem[] { listViewItem4, listViewItem5, listViewItem6 });
|
||||
listViewItem1.Tag = "StockMarketGame";
|
||||
listViewItem2.Tag = "GuessTheNumberGame";
|
||||
listViewItem3.Tag = "TicTacToeGame";
|
||||
lvGames.Items.AddRange(new ListViewItem[] { listViewItem1, listViewItem2, listViewItem3 });
|
||||
lvGames.LargeImageList = ilGames;
|
||||
lvGames.Location = new Point(0, 0);
|
||||
lvGames.MultiSelect = false;
|
||||
@ -293,13 +301,6 @@
|
||||
ilTabIcons.Images.SetKeyName(2, "RoomsChatIcon.png");
|
||||
ilTabIcons.Images.SetKeyName(3, "CurrencyIcon.png");
|
||||
//
|
||||
// ilProfilePics
|
||||
//
|
||||
ilProfilePics.ColorDepth = ColorDepth.Depth32Bit;
|
||||
ilProfilePics.ImageStream = (ImageListStreamer)resources.GetObject("ilProfilePics.ImageStream");
|
||||
ilProfilePics.TransparentColor = Color.Transparent;
|
||||
ilProfilePics.Images.SetKeyName(0, "DEFAULT");
|
||||
//
|
||||
// ctxmChangeStatus
|
||||
//
|
||||
ctxmChangeStatus.Items.AddRange(new ToolStripItem[] { onlineToolStripMenuItem, awayToolStripMenuItem, doNotDisturbToolStripMenuItem, invisibleToolStripMenuItem });
|
||||
@ -538,6 +539,7 @@
|
||||
ctxmAdminRoomList.Items.AddRange(new ToolStripItem[] { toolStripMenuItem1, toolStripSeparator2, addRoomToolStripMenuItem, deleteRoomToolStripMenuItem });
|
||||
ctxmAdminRoomList.Name = "contextMenuStrip1";
|
||||
ctxmAdminRoomList.Size = new Size(143, 76);
|
||||
ctxmAdminRoomList.Opening += ctxmAdminRoomList_Opening;
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
@ -563,6 +565,7 @@
|
||||
deleteRoomToolStripMenuItem.Name = "deleteRoomToolStripMenuItem";
|
||||
deleteRoomToolStripMenuItem.Size = new Size(142, 22);
|
||||
deleteRoomToolStripMenuItem.Text = "Delete Room";
|
||||
deleteRoomToolStripMenuItem.Click += deleteRoomToolStripMenuItem_Click;
|
||||
//
|
||||
// lblConnectionLost
|
||||
//
|
||||
@ -623,7 +626,9 @@
|
||||
private TabControl tbcMain;
|
||||
private TabPage tbpContacts;
|
||||
private TabPage tbpRooms;
|
||||
private ListBox lbRooms;
|
||||
private Label lblRequestNotif;
|
||||
private ListView lvContacts;
|
||||
private System.Windows.Forms.ImageList ilProfilePics;
|
||||
private NotifyIcon niMain;
|
||||
private ImageList ilTabIcons;
|
||||
@ -649,6 +654,7 @@
|
||||
private ToolStripMenuItem refreshToolStripMenuItem;
|
||||
private ImageList ilStatusIcons;
|
||||
private TabPage tbpUsers;
|
||||
private ListView lvUserDirectory;
|
||||
private PictureBox pbDonate;
|
||||
private TabPage tbpStore;
|
||||
private ListView lvStoreItems;
|
||||
@ -665,8 +671,5 @@
|
||||
private ToolStripMenuItem addRoomToolStripMenuItem;
|
||||
private ToolStripMenuItem deleteRoomToolStripMenuItem;
|
||||
private Label lblConnectionLost;
|
||||
private FlowLayoutPanel flpContacts;
|
||||
private ListView lvUserDirectory;
|
||||
private FlowLayoutPanel flpRooms;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
using Microsoft.AspNetCore.Mvc.Routing;
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using qtc_net_client_2.ClientModel;
|
||||
using qtc_net_client_2.Controls;
|
||||
using qtc_net_client_2.Forms;
|
||||
using qtc_net_client_2.Properties;
|
||||
using qtc_net_client_2.Services;
|
||||
using QtCNETAPI.Dtos.User;
|
||||
using QtCNETAPI.Events;
|
||||
@ -22,7 +19,7 @@ namespace qtc_net_client_2
|
||||
private IGatewayService _gatewayService;
|
||||
|
||||
private Config _config;
|
||||
private ServerConfig? _serverConfig;
|
||||
private ServerConfig _serverConfig;
|
||||
private AudioService AudioService = new();
|
||||
private ImageFactory _imgFactory = new();
|
||||
private CredentialService _credService = new();
|
||||
@ -45,8 +42,6 @@ namespace qtc_net_client_2
|
||||
|
||||
private async void frmMain_Load(object sender, EventArgs e)
|
||||
{
|
||||
flpContacts.Padding = new Padding(8);
|
||||
|
||||
LoggingService.LogString("Main Form Loaded");
|
||||
|
||||
// start request notif blink task
|
||||
@ -75,30 +70,31 @@ namespace qtc_net_client_2
|
||||
await OnSuccessfulLogin();
|
||||
}
|
||||
|
||||
private async void OnRoomDoubleClicked(object? sender, EventArgs e)
|
||||
private async void lbRooms_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
RoomEntryControl? ctrl = sender as RoomEntryControl;
|
||||
|
||||
string? selectedRoom = ctrl?.RoomName;
|
||||
if (selectedRoom != null)
|
||||
if (lbRooms.SelectedItems.Count > 0)
|
||||
{
|
||||
if (selectedRoom == "Lobby")
|
||||
string? selectedRoom = (string?)lbRooms.SelectedItems[lbRooms.SelectedItems.Count - 1];
|
||||
if (selectedRoom != null)
|
||||
{
|
||||
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService);
|
||||
frmChat.Show();
|
||||
if (selectedRoom == "Lobby")
|
||||
{
|
||||
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService);
|
||||
frmChat.Show();
|
||||
|
||||
LoggingService.LogString("User Has Joined Lobby Room");
|
||||
return;
|
||||
}
|
||||
LoggingService.LogString("User Has Joined Lobby Room");
|
||||
return;
|
||||
}
|
||||
|
||||
// join the room
|
||||
Room? room = RoomList.FirstOrDefault(e => e.Name == selectedRoom);
|
||||
if (room != null)
|
||||
{
|
||||
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService, room);
|
||||
frmChat.Show();
|
||||
// join the room
|
||||
Room? room = RoomList.FirstOrDefault(e => e.Name == selectedRoom);
|
||||
if (room != null)
|
||||
{
|
||||
ChatRoom frmChat = new ChatRoom(_gatewayService, _apiService, room);
|
||||
frmChat.Show();
|
||||
|
||||
LoggingService.LogString($"User Has Joined {room.Name}");
|
||||
LoggingService.LogString($"User Has Joined {room.Name}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -202,6 +198,51 @@ namespace qtc_net_client_2
|
||||
}
|
||||
}
|
||||
|
||||
private async void lvContacts_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (lvContacts.SelectedItems.Count > 0)
|
||||
{
|
||||
string? selectedUser = (string?)lvContacts.SelectedItems[lvContacts.SelectedItems.Count - 1].Text;
|
||||
|
||||
if (selectedUser != null)
|
||||
{
|
||||
// split from [ if it exists
|
||||
if (selectedUser.Contains('[')) selectedUser = selectedUser.Split('[', options: StringSplitOptions.TrimEntries)[0];
|
||||
|
||||
// get user info and open profile dialog
|
||||
var user = UserDirectory.FirstOrDefault(e => e.Username == selectedUser);
|
||||
var res = await _apiService.GetUserInformationAsync(user!.Id);
|
||||
var pfpRes = await _apiService.GetUserProfilePic(user!.Id);
|
||||
|
||||
// get cosmetic
|
||||
byte[]? cosmeticData = null;
|
||||
if (user.ProfileCosmeticId != 0)
|
||||
{
|
||||
var storeRes = await _apiService.GetStoreItem(user.ProfileCosmeticId);
|
||||
if (storeRes != null && storeRes.Success && storeRes.Data != null)
|
||||
{
|
||||
using var client = new HttpClient();
|
||||
using var response = await client.GetAsync(storeRes.Data.AssetUrl);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
cosmeticData = await response.Content.ReadAsByteArrayAsync();
|
||||
}
|
||||
else LoggingService.LogString($"Could Not Get User Cosmetic.\nStatus Code: {response.StatusCode}");
|
||||
}
|
||||
}
|
||||
|
||||
if (pfpRes != null && !pfpRes.Success) LoggingService.LogString($"User Has No Profile Picture Or It Could Not Be Loaded.\n{pfpRes.Message}");
|
||||
|
||||
if (res.Data != null && res.Success)
|
||||
{
|
||||
LoggingService.LogString($"Opening Profile For User '{res.Data.Username}'");
|
||||
Profile frmProfile = new Profile(res.Data, pfpRes, Contacts, _apiService, _gatewayService, cosmeticData);
|
||||
frmProfile.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void frmMain_Resize(object sender, EventArgs e)
|
||||
{
|
||||
if (WindowState == FormWindowState.Minimized && _config.MinimizeToTray)
|
||||
@ -367,67 +408,27 @@ namespace qtc_net_client_2
|
||||
donationWindow.Show();
|
||||
}
|
||||
|
||||
private async Task RefreshStore()
|
||||
private async void tbcMain_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// get store items
|
||||
var storeItems = await _apiService.GetStoreItems();
|
||||
if (storeItems != null && storeItems.Success && storeItems.Data != null)
|
||||
if (tbcMain.SelectedIndex == 4)
|
||||
{
|
||||
if (lvStoreItems.Items.Count == storeItems.Data.Count) return;
|
||||
|
||||
if (!IsHandleCreated || IsDisposed)
|
||||
return;
|
||||
|
||||
if (InvokeRequired)
|
||||
// get store items
|
||||
var storeItems = await _apiService.GetStoreItems();
|
||||
if (storeItems != null && storeItems.Success && storeItems.Data != null)
|
||||
{
|
||||
Invoke(() => ApplyStoreItems(storeItems.Data));
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplyStoreItems(storeItems.Data);
|
||||
if (lvStoreItems.Items.Count == storeItems.Data.Count) return;
|
||||
|
||||
ilStoreThumbnails.Images.Clear();
|
||||
foreach (var item in storeItems.Data)
|
||||
{
|
||||
await GetAndAddStoreThumbnail(item);
|
||||
var lvitem = lvStoreItems.Items.Add(new ListViewItem { Text = item.Name, Name = item.Id.ToString() });
|
||||
lvitem.ImageKey = item.Id.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async void ApplyStoreItems(IEnumerable<StoreItem> storeItems)
|
||||
{
|
||||
ilStoreThumbnails.Images.Clear();
|
||||
lvStoreItems.Items.Clear();
|
||||
|
||||
var items = await BuildListViewItemsAsync(storeItems);
|
||||
|
||||
lvStoreItems.BeginUpdate();
|
||||
try
|
||||
{
|
||||
lvStoreItems.Items.AddRange([.. items]);
|
||||
}
|
||||
finally
|
||||
{
|
||||
lvStoreItems.EndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<List<ListViewItem>> BuildListViewItemsAsync(IEnumerable<StoreItem> storeItems)
|
||||
{
|
||||
var items = new List<ListViewItem>();
|
||||
|
||||
foreach (var item in storeItems)
|
||||
{
|
||||
await GetAndAddStoreThumbnail(item);
|
||||
|
||||
var lvItem = new ListViewItem
|
||||
{
|
||||
Text = item.Name,
|
||||
Name = item.Id.ToString(),
|
||||
ImageKey = item.Id.ToString()
|
||||
};
|
||||
|
||||
items.Add(lvItem);
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
private async void lvStoreItems_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (lvStoreItems.SelectedItems.Count > 0)
|
||||
@ -481,13 +482,12 @@ namespace qtc_net_client_2
|
||||
createRoom.ShowDialog();
|
||||
}
|
||||
|
||||
// TODO - redo this
|
||||
//private void ctxmAdminRoomList_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
//{
|
||||
// if (lbRooms.SelectedItem == null)
|
||||
// deleteRoomToolStripMenuItem.Enabled = false;
|
||||
// else deleteRoomToolStripMenuItem.Enabled = true;
|
||||
//}
|
||||
private void ctxmAdminRoomList_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
if (lbRooms.SelectedItem == null)
|
||||
deleteRoomToolStripMenuItem.Enabled = false;
|
||||
else deleteRoomToolStripMenuItem.Enabled = true;
|
||||
}
|
||||
|
||||
private void ctxmAdminUserList_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
@ -537,36 +537,35 @@ namespace qtc_net_client_2
|
||||
}
|
||||
}
|
||||
|
||||
// TODO - i have no idea on how to mark a control as selected
|
||||
//private async void deleteRoomToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
//{
|
||||
// if (lbRooms.SelectedItems.Count > 0)
|
||||
// {
|
||||
// string? itemSelected = (string?)lbRooms.SelectedItems[lbRooms.SelectedItems.Count - 1];
|
||||
// if (itemSelected != null)
|
||||
// {
|
||||
// var dialogResult = MessageBox.Show("Are You Sure You Want To Delete This Room?\nThis will kick everyone currently in the room out.",
|
||||
// "are you sure..?",
|
||||
// MessageBoxButtons.YesNo,
|
||||
// MessageBoxIcon.Question);
|
||||
private async void deleteRoomToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lbRooms.SelectedItems.Count > 0)
|
||||
{
|
||||
string? itemSelected = (string?)lbRooms.SelectedItems[lbRooms.SelectedItems.Count - 1];
|
||||
if (itemSelected != null)
|
||||
{
|
||||
var dialogResult = MessageBox.Show("Are You Sure You Want To Delete This Room?\nThis will kick everyone currently in the room out.",
|
||||
"are you sure..?",
|
||||
MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Question);
|
||||
|
||||
// if (dialogResult == DialogResult.Yes)
|
||||
// {
|
||||
// // get the room
|
||||
// var room = RoomList.FirstOrDefault(e => e.Name == itemSelected);
|
||||
// if (room != null)
|
||||
// {
|
||||
// var apiResult = await _apiService.DeleteRoomAsync(room.Id);
|
||||
// if (apiResult != null && apiResult.Success)
|
||||
// MessageBox.Show("Deleted!");
|
||||
// else
|
||||
// MessageBox.Show("There was an error deleting the room. Try Again?", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
// }
|
||||
// else MessageBox.Show("This room is unknown. It may have already been deleted.");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
if (dialogResult == DialogResult.Yes)
|
||||
{
|
||||
// get the room
|
||||
var room = RoomList.FirstOrDefault(e => e.Name == itemSelected);
|
||||
if (room != null)
|
||||
{
|
||||
var apiResult = await _apiService.DeleteRoomAsync(room.Id);
|
||||
if (apiResult != null && apiResult.Success)
|
||||
MessageBox.Show("Deleted!");
|
||||
else
|
||||
MessageBox.Show("There was an error deleting the room. Try Again?", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
else MessageBox.Show("This room is unknown. It may have already been deleted.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
@ -632,6 +631,9 @@ namespace qtc_net_client_2
|
||||
LoggingService.LogString($"Logged In As '{_apiService.CurrentUser.Username}'");
|
||||
LoggingService.LogString("Starting SignalR Connection...");
|
||||
|
||||
// start gateway connection
|
||||
await _gatewayService.StartAsync();
|
||||
|
||||
// subscribe to gateway events
|
||||
_gatewayService.OnServerReconnecting += _gatewayService_OnServerReconnecting;
|
||||
_gatewayService.OnServerReconnected += _gatewayService_OnServerReconnected;
|
||||
@ -645,9 +647,6 @@ namespace qtc_net_client_2
|
||||
|
||||
_apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate;
|
||||
|
||||
// start gateway connection
|
||||
await _gatewayService.StartAsync();
|
||||
|
||||
if (_gatewayService.HubConnection != null && _gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected)
|
||||
{
|
||||
LoggingService.LogString("Connected To SignalR Succesfully.");
|
||||
@ -663,8 +662,6 @@ namespace qtc_net_client_2
|
||||
llblEditProfile.Visible = true;
|
||||
tbcMain.Enabled = true;
|
||||
|
||||
await RefreshStore();
|
||||
|
||||
var pfpRes = await _apiService.GetUserProfilePic(_apiService.CurrentUser.Id);
|
||||
var cosmeticRes = await GetCosmeticImage(_apiService.CurrentUser.ActiveProfileCosmetic);
|
||||
|
||||
@ -691,6 +688,12 @@ namespace qtc_net_client_2
|
||||
pbUserPfp.Image = _imgFactory.CreateProfileImage(null, null, cosmetic);
|
||||
}
|
||||
|
||||
if (lvUserDirectory.Items.Count <= 0)
|
||||
await RefreshUsers(); // prevent edge case where the refresh event never gets sent to connecting client
|
||||
|
||||
await RefreshContactsList();
|
||||
await RefreshRoomsList();
|
||||
|
||||
// set status context menu checked
|
||||
// TODO - figure out more efficient way to do this
|
||||
UserStatus cuStatus = (UserStatus)_apiService.CurrentUser.Status;
|
||||
@ -732,7 +735,7 @@ namespace qtc_net_client_2
|
||||
{
|
||||
LoggingService.LogString("Current User Is An Admin. Using Admin Context Menu Strips...");
|
||||
lvUserDirectory.ContextMenuStrip = ctxmAdminUserList;
|
||||
flpRooms.ContextMenuStrip = ctxmAdminRoomList;
|
||||
lbRooms.ContextMenuStrip = ctxmAdminRoomList;
|
||||
}
|
||||
|
||||
LoggingService.LogString("Client Ready");
|
||||
@ -771,243 +774,111 @@ namespace qtc_net_client_2
|
||||
}
|
||||
}
|
||||
|
||||
private readonly SemaphoreSlim _roomsRefreshLock = new(1, 1);
|
||||
private async Task RefreshRoomsList()
|
||||
{
|
||||
LoggingService.LogString("Refreshing Rooms List...");
|
||||
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
if (!await _roomsRefreshLock.WaitAsync(0))
|
||||
return;
|
||||
|
||||
try
|
||||
await Invoke(async delegate ()
|
||||
{
|
||||
lbRooms.Items.Clear();
|
||||
var roomsRes = await _apiService.GetAllRoomsAsync();
|
||||
|
||||
if (!roomsRes.Success || roomsRes.Data == null)
|
||||
return;
|
||||
|
||||
roomsRes.Data.Add(new Room
|
||||
if (roomsRes.Success && roomsRes.Data != null)
|
||||
{
|
||||
Id = "LOBBY",
|
||||
Name = "Lobby"
|
||||
});
|
||||
|
||||
var uniqueRooms = roomsRes.Data
|
||||
.GroupBy(r => r.Id)
|
||||
.Select(g => g.First())
|
||||
.ToList();
|
||||
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(() => ApplyRooms(uniqueRooms));
|
||||
foreach (var room in roomsRes.Data)
|
||||
{
|
||||
lbRooms.Items.Add(room.Name);
|
||||
}
|
||||
RoomList = roomsRes.Data;
|
||||
if (System.Diagnostics.Debugger.IsAttached || _config.EnableDebugLogs)
|
||||
LoggingService.LogModel(roomsRes.Data);
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplyRooms(uniqueRooms);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_roomsRefreshLock.Release();
|
||||
}
|
||||
|
||||
// always add lobby room to rooms list
|
||||
lbRooms.Items.Add("Lobby");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplyRooms(List<Room> newRooms)
|
||||
{
|
||||
RoomList.Clear();
|
||||
RoomList.AddRange(newRooms.DistinctBy(r => r.Id));
|
||||
|
||||
var roomsSnap = RoomList.ToList();
|
||||
|
||||
flpRooms.SuspendLayout();
|
||||
flpRooms.Controls.Clear();
|
||||
|
||||
foreach (var room in roomsSnap)
|
||||
{
|
||||
var ctrl = new RoomEntryControl
|
||||
{
|
||||
RoomName = room.Name,
|
||||
RoomUserCount = room.UserCount,
|
||||
};
|
||||
|
||||
if(room.Id == "LOBBY")
|
||||
ctrl.HideUserCount = true; // TODO - probably make this work with the lobby room (might need backend work)
|
||||
|
||||
ctrl.Margin = new Padding(0, 4, 0, 4);
|
||||
ctrl.Width = flpRooms.ClientSize.Width - flpRooms.Padding.Horizontal;
|
||||
ctrl.OnRoomDoubleClicked += OnRoomDoubleClicked;
|
||||
|
||||
flpRooms.Controls.Add(ctrl);
|
||||
}
|
||||
|
||||
flpRooms.ResumeLayout(true);
|
||||
}
|
||||
|
||||
private readonly SemaphoreSlim _contactsRefreshLock = new(1, 1);
|
||||
private async Task RefreshContactsList()
|
||||
{
|
||||
if (!await _contactsRefreshLock.WaitAsync(0))
|
||||
return; // already refreshing, skip
|
||||
LoggingService.LogString("Refreshing Contacts List...");
|
||||
|
||||
try
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
var contactsRes = await _apiService.GetCurrentUserContacts();
|
||||
if (!contactsRes.Success || contactsRes.Data == null)
|
||||
return;
|
||||
|
||||
if (InvokeRequired)
|
||||
Invoke(() => ApplyContacts(contactsRes.Data));
|
||||
else
|
||||
ApplyContacts(contactsRes.Data);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_contactsRefreshLock.Release();
|
||||
}
|
||||
}
|
||||
|
||||
private async void ApplyContacts(List<Contact> newContacts)
|
||||
{
|
||||
lblRequestNotif.Visible =
|
||||
newContacts.Any(e =>
|
||||
e.UserId == _apiService.CurrentUser!.Id &&
|
||||
e.UserStatus == Contact.ContactStatus.AwaitingApprovalFromSelf);
|
||||
|
||||
Contacts.Clear();
|
||||
Contacts.AddRange(newContacts.DistinctBy(c => c.Id));
|
||||
|
||||
flpContacts.SuspendLayout();
|
||||
flpContacts.Controls.Clear();
|
||||
|
||||
var contactsSnap = Contacts.ToList();
|
||||
|
||||
foreach (var contact in contactsSnap)
|
||||
{
|
||||
var ctrl = await BuildContactControl(contact);
|
||||
if (ctrl != null)
|
||||
flpContacts.Controls.Add(ctrl);
|
||||
}
|
||||
|
||||
flpContacts.ResumeLayout(true);
|
||||
}
|
||||
|
||||
private async Task<ContactEntryControl?> BuildContactControl(Contact contact)
|
||||
{
|
||||
ServiceResponse<UserInformationDto> user = null!;
|
||||
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
||||
user = await _apiService.GetUserInformationAsync(contact.UserId);
|
||||
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
||||
user = await _apiService.GetUserInformationAsync(contact.OwnerId);
|
||||
|
||||
var ctrl = new ContactEntryControl();
|
||||
|
||||
if (user.Data != null)
|
||||
{
|
||||
switch (user.Data.Status)
|
||||
await Invoke(async delegate ()
|
||||
{
|
||||
case 0:
|
||||
ctrl.StatusColor = Color.Gray;
|
||||
break;
|
||||
case 1:
|
||||
ctrl.StatusColor = Color.LightGreen;
|
||||
break;
|
||||
case 2:
|
||||
ctrl.StatusColor = Color.Gold;
|
||||
break;
|
||||
case 3:
|
||||
ctrl.StatusColor = Color.Red;
|
||||
break;
|
||||
}
|
||||
|
||||
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
||||
{
|
||||
switch (contact.OwnerStatus)
|
||||
lvContacts.Items.Clear();
|
||||
Contacts.Clear();
|
||||
lblRequestNotif.Visible = false;
|
||||
var contactsRes = await _apiService.GetCurrentUserContacts();
|
||||
if (contactsRes.Success && contactsRes.Data != null)
|
||||
{
|
||||
case Contact.ContactStatus.AwaitingApprovalFromOther:
|
||||
ctrl.Username = $"{user.Data.Username} [Request Sent]";
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||
break;
|
||||
case Contact.ContactStatus.Accepted:
|
||||
ctrl.Username = user.Data.Username;
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
||||
{
|
||||
switch (contact.UserStatus)
|
||||
{
|
||||
case Contact.ContactStatus.AwaitingApprovalFromSelf:
|
||||
ctrl.Username = $"{user.Data.Username} [Contact Request]";
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||
AudioService.PlaySoundEffect("sndContactRequest");
|
||||
break;
|
||||
case Contact.ContactStatus.Accepted:
|
||||
ctrl.Username = user.Data.Username;
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
ctrl.Avatar = ilProfilePics.Images[user.Data.Id] ?? ilProfilePics.Images[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (contactsRes.Data.Where(e => e.UserId == _apiService.CurrentUser!.Id && e.UserStatus == Contact.ContactStatus.AwaitingApprovalFromSelf).Count() >= 1)
|
||||
lblRequestNotif.Visible = true;
|
||||
else
|
||||
lblRequestNotif.Visible = false;
|
||||
|
||||
// add the control to the flow panel
|
||||
ctrl.Margin = new Padding(0, 4, 0, 4);
|
||||
ctrl.Width = flpContacts.ClientSize.Width - flpContacts.Padding.Horizontal;
|
||||
ctrl.ContactDoubleClicked += Ctrl_ContactDoubleClicked;
|
||||
|
||||
// return the control
|
||||
return ctrl;
|
||||
}
|
||||
else return default;
|
||||
}
|
||||
|
||||
private async void Ctrl_ContactDoubleClicked(object? sender, EventArgs e)
|
||||
{
|
||||
var ctrl = sender as ContactEntryControl;
|
||||
|
||||
string? selectedUser = ctrl?.Username;
|
||||
|
||||
if (selectedUser != null)
|
||||
{
|
||||
// split from [ if it exists
|
||||
if (selectedUser.Contains('[')) selectedUser = selectedUser.Split('[', options: StringSplitOptions.TrimEntries)[0];
|
||||
|
||||
// get user info and open profile dialog
|
||||
var user = UserDirectory.FirstOrDefault(e => e.Username == selectedUser);
|
||||
var res = await _apiService.GetUserInformationAsync(user!.Id);
|
||||
var pfpRes = await _apiService.GetUserProfilePic(user!.Id);
|
||||
|
||||
// get cosmetic
|
||||
byte[]? cosmeticData = null;
|
||||
if (user.ProfileCosmeticId != 0)
|
||||
{
|
||||
var storeRes = await _apiService.GetStoreItem(user.ProfileCosmeticId);
|
||||
if (storeRes != null && storeRes.Success && storeRes.Data != null)
|
||||
{
|
||||
using var client = new HttpClient();
|
||||
using var response = await client.GetAsync(storeRes.Data.AssetUrl);
|
||||
if (response.IsSuccessStatusCode)
|
||||
foreach (var contact in contactsRes.Data)
|
||||
{
|
||||
cosmeticData = await response.Content.ReadAsByteArrayAsync();
|
||||
ServiceResponse<UserInformationDto> user = null!;
|
||||
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
||||
user = await _apiService.GetUserInformationAsync(contact.UserId);
|
||||
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
||||
user = await _apiService.GetUserInformationAsync(contact.OwnerId);
|
||||
|
||||
if (user.Data != null)
|
||||
{
|
||||
Contacts.Add(contact);
|
||||
if (contact.OwnerId == _apiService.CurrentUser!.Id)
|
||||
{
|
||||
switch (contact.OwnerStatus)
|
||||
{
|
||||
case Contact.ContactStatus.AwaitingApprovalFromOther:
|
||||
var lvi = lvContacts.Items.Add($"{user.Data.Username} [Request Sent]");
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
if (ilProfilePics.Images.ContainsKey(user.Data.Id))
|
||||
lvi.ImageKey = user.Data.Id;
|
||||
else lvi.ImageKey = "DEFAULT";
|
||||
break;
|
||||
case Contact.ContactStatus.Accepted:
|
||||
var lvi2 = lvContacts.Items.Add($"{user.Data.Username}");
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
if (ilProfilePics.Images.ContainsKey(user.Data.Id))
|
||||
lvi2.ImageKey = user.Data.Id;
|
||||
else lvi2.ImageKey = "DEFAULT";
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (contact.UserId == _apiService.CurrentUser!.Id)
|
||||
{
|
||||
switch (contact.UserStatus)
|
||||
{
|
||||
case Contact.ContactStatus.AwaitingApprovalFromSelf:
|
||||
var lvi = lvContacts.Items.Add($"{user.Data.Username} [Contact Request]");
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
if (ilProfilePics.Images.ContainsKey(user.Data.Id))
|
||||
lvi.ImageKey = user.Data.Id;
|
||||
else lvi.ImageKey = "DEFAULT";
|
||||
AudioService.PlaySoundEffect("sndContactRequest");
|
||||
break;
|
||||
case Contact.ContactStatus.Accepted:
|
||||
var lvi2 = lvContacts.Items.Add($"{user.Data.Username}");
|
||||
await AddProfilePicToList(user.Data.Id);
|
||||
if (ilProfilePics.Images.ContainsKey(user.Data.Id))
|
||||
lvi2.ImageKey = user.Data.Id;
|
||||
else lvi2.ImageKey = "DEFAULT";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else LoggingService.LogString($"Could Not Get User Cosmetic.\nStatus Code: {response.StatusCode}");
|
||||
|
||||
if (System.Diagnostics.Debugger.IsAttached || _config.EnableDebugLogs)
|
||||
LoggingService.LogModel(contactsRes.Data);
|
||||
}
|
||||
}
|
||||
|
||||
if (pfpRes != null && !pfpRes.Success) LoggingService.LogString($"User Has No Profile Picture Or It Could Not Be Loaded.\n{pfpRes.Message}");
|
||||
|
||||
if (res.Data != null && res.Success)
|
||||
{
|
||||
LoggingService.LogString($"Opening Profile For User '{res.Data.Username}'");
|
||||
Profile frmProfile = new Profile(res.Data, pfpRes, Contacts, _apiService, _gatewayService, cosmeticData);
|
||||
frmProfile.Show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -120,94 +120,73 @@
|
||||
<metadata name="ctxmRefresh.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>356, 21</value>
|
||||
</metadata>
|
||||
<metadata name="ilTabIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>20, 44</value>
|
||||
<metadata name="ilProfilePics.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="ilTabIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<data name="ilProfilePics.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshIAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAGoAQMBqAEDARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ACIAA2cB7wJnAVkB7wFnAV0BWQHvAWcBWwFZAe8B
|
||||
ZwFbAVkB7wFnAlkB7wFnAWQBWQHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvAwcB
|
||||
CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB
|
||||
OjgAAzMBUQNuAfUIAAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8D
|
||||
VQGsAzABSwgAA/gB/wG5AZUBPAH/AYMBfQFuAf8BhAF9AWwB/wGqAYQBJwH/AawBewEAAf8BzAG8AZQB
|
||||
/wN+Af8DfgH/A34B/wN+Af8DfgH/A34B/wN+Af8DfgH/A44B/wNDAXUDXQHMA3wB+AOBAf8DgQH/A4EB
|
||||
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A3wB+ANUAag4AAMSARgDPwFtBAADOwFiA10B
|
||||
xQNoAfQBnwFlATEB/wGXAVMBFwH/AZYBSwEJAf8BkwFGAQEB/wGMAUMBAwH/AX0BQAELAf8BawFAARoB
|
||||
/wFuAVABNgH/A2gB8ANaAbcDNAFUBAAE/wGXAYsBbQH/AoEBgAH/AYIBgQGAAf8BmAGIAWAB/wHKAZAB
|
||||
AAH/Ad0BzAGfAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DagHtA30B+gOBAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvNAADXwHTAz0B
|
||||
ZwQAAzUBVQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckBXwEAAf8B2AFlAQAB/wHcAWcBAAH/AdYB
|
||||
ZAEAAf8BwwFcAQAB/wGiAUwBAAH/AXwBOwEDAf8BbgFGASMB/wNoAfADWgG3AzABSgT/AYYBhAF9Af8D
|
||||
gQH/A4EB/wGHAYMBegH/Ac8BlAEAAf8B3gHMAZ8B/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D
|
||||
4AH/A7wB/wNjAd8DbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||
gQH/A4EB/wNVAa80AANaAcIDNAFTBAADXAHEAnwBXAH4AdQBcQEYAf8B1wFlAQAB/wHlAWwBAAH/AfIB
|
||||
cgEAAf8B+gF1AQAB/wH8AXYBAAH/AfoBdgEAAf8B8wFyAQAB/wHiAWsBAAH/Ab0BWQEAAf8BhwFAAQAB
|
||||
/wFxAUgBIwH/A2gB8ANWAasE/wGLAYYBegH/A4EB/wOBAf8BjgGGAXEB/wHPAZQBAAH/Ad4BzAGfIf8D
|
||||
ygH/AzYBWANbAcADbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||
aAH0A1IBpBAAAw0BEQM/AWwDUwGnAVwCWQG+AVgCVgGzAUgCRwGDAyEBMAQAA28B8wM6AWAIAAH+Ad0B
|
||||
wQH/Ae0BgAEgAf8B7QFxAQIB/wHzAXMBAAH/AfoBdgEAAf8B/gF4AQAC/wF7AQgC/wGIAScC/wGiAVMB
|
||||
/wH+AYEBFwH/AfwBeAEEAf8B7AFvAQAB/wHBAVsBAAH/AYYBQQEDAf8BeAFWATYB/wNjAd8E/wGsAZYB
|
||||
YAH/AYMBggF/Af8BhQGCAX0B/wGzAZMBRAH/Ac8BlAEAAf8B3gHMAZ8B/wOwAf8DsAH/A7AB/wOwAf8D
|
||||
sAH/A7AB/wOwAf8DsAH/A6gB/wMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D
|
||||
gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAIAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0B
|
||||
AAH/AagBeAEAAf8BlQFqAQAB/wKAAXUB/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB
|
||||
dwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcB
|
||||
AAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwB
|
||||
ogEUAf8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/RAAD
|
||||
IAEtAmMBWgHpAb8BiAEAAf8BzQGVAQoB/wGwAYgBJwH/AXMBZAE/Af8BTQFLAUcB/wFOAUsBQgH/AWYB
|
||||
VwExAf8BmgF0ARcB/wGkAXYBAwH/AXABTwEAAf8DQwF2BAEEAAH/AZoBQgL/AYMBFQH/Af4BegEEAv8B
|
||||
eAEAAv8BeAEAAv8BlQE/Av8BygGuAv8B2gHGAv8B7QHlAv8BlgFJAv8BfAENAf8B/gF4AQAB/wH0AXMB
|
||||
AAH/AdABYgEAAf8BmgFOAQoB/wFjAl0B3wT/AeEBrgExAf8BvQGXATsB/wHAAZgBNQH/AeMBpQEKAf8B
|
||||
zwGUAQAB/wHeAcwBnwH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DrwH/CAADAgEDAwgB
|
||||
CgMhAS8DMQFOAz0BaANDAXYDRAF6A0MBdQM9AWcDMQFNAyABLgMHAQkEAggAAmMBWgHpAdkBmgEAAf8B
|
||||
2gGjARwB/wKOAYwB/wOKAf8DlwH/A5sB/wORAf8DdAH/A0gB/wFDAUIBPwH/AbUBgwEHAf8BegFXAQAB
|
||||
/wM2AVgEAAH/AZUBNwL/AYkBHwL/AX0BCAL/AXgBAAL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgB
|
||||
xQL/AbkBlAL/AYcBIwL/AXgBAAH/AfsBdgEAAf8B4gFqAQAB/wGvAVQBAwH/AWMCXQHfBP8BuwGdAVMB
|
||||
/wGIAYQBeQH/AYwBhQF0Af8BxAGZATAB/wHPAZQBAAH/Ad4BzAGfIf8DygH/BAADEwEaAzkBXQNZAbwD
|
||||
ZAHbA2oB7QNjAfYDXwH7A4EB/QNfAfsDYwH2A2UB7ANjAdoDWgG6AzgBXAMTARoDQwF2AekBpwECAf8B
|
||||
6QGrARIB/wHQAcoBuwH/A6wB/wNdAf8DTAH/A0sB/wNEAf8DDwH/A7MB/wNmAf8BVAFMAToB/wGuAX0B
|
||||
BAH/A10BzAQAAf8BoAFJAv8BkgExAv8BgQERAv8BeQEDAv8BeAEAAv8BqAFcAv8B4AHNAv8BoQFmAv8B
|
||||
2AHFAv8BwAGfAv8BiQEnAv8BeAEAAf8B/gF4AQAB/wHsAW8BAAH/Ab8BWgECAf8BYwJdAd8E/wGUAYoB
|
||||
cwH/A4EB/wOBAf8BmgGKAWMB/wHPAZQBAAH/Ad4BzAGfAf8D0AH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D
|
||||
0AH/A9AB/wO1Af8DGgEkA1YBrgNoAfQDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||
gQH/A4EB/wNrAfIDUgGhAmoBYQHmAe0BrQEQAf8B9AHQAXYB/wP6Af8D+gH/A30B/wN/Af8DgAH/A4AB
|
||||
/wN+Af8DhAH/A7sB/wNqAf8BqAGAARwB/wJjAUgB9gQAAf8BswFvAv8BngFIAv8BiAEeAv8BfAEHAv8B
|
||||
eAEAAv8BmAFDAv8BzgG0Av8B1wHAAv8B6gHgAv8BnQFXAv8BfgERAv8BeAEAAv8BeAEAAf8B8AFxAQAB
|
||||
/wHLAWQBCQH/AWMBYQFdAd8E/wGGAYMBfgH/A4EB/wOBAf8BhgGDAXsB/wHPAZQBAAH/Ad4BzAGfAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DVwGyA2UB5wOBAf8DgQH/A4EB/wOBAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA2IB7gHvAbQBIQH/AfcB3AGXCf8D
|
||||
kQH/A4gB/wOHAf8DhwH/A4EB/wNXAf8D5gH/A6MB/wG2AZEBNgH/AmoBQQH5BAAB/wHMAZ8C/wGsAWMC
|
||||
/wGTATMC/wGBAREC/wF5AQIC/wGCARYC/wGaAUsC/wGuAXgC/wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC
|
||||
/wF4AQAB/wHwAXEBAAH/AdUBcQEXAf8CYwFdAd8E/wGLAYYBeQH/A4EB/wOBAf8BjgGGAXEB/wHPAZQB
|
||||
AAH/Ad4BzAGfAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DbwHzA18B+wOBAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA0sBjQHwAb4B
|
||||
PwH/AfQBzQFsIf8D+wH/A9AB/wHXAacBMQH/AmEBXQHRBAAB/wHpAdUC/wG8AYEC/wGkAVQC/wGOASoC
|
||||
/wF/AQ0C/wF5AQIC/wF7AQkC/wGCAR0C/wF4AQAC/wF4AQAC/wF4AQEC/wF6AQQC/wF6AQMB/wHzAXQB
|
||||
AwH/AeIBhAEyAf8DYwHfBP8BpwGUAWcB/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeAB
|
||||
zgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DZAHbA2gB9AOBAf8DgQH/A4EB
|
||||
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAwcBCQNiAe4B8QG8ATsB
|
||||
/wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANeAdID
|
||||
agH5Af8BuwF9Av8BowFSAv8BkAEsAv8BggETAv8BfQEIAv8BegEEAv8BeQECAv8BegEEAv8BfQEJAv8B
|
||||
gAEPAv8BfwENAf8B+AGGASAB/wNoAfQDWAG4BP8B1wGxAVIB/wGaAY8BdAH/AaABkgFtAf8B4AGvATcB
|
||||
/wHnAakBEAH/AesB1QGgAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DPAFkA18B
|
||||
yQN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDVQGqBAAD
|
||||
MwFRA2gB8AHzAcYBWAH/AfoB5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAADPAFmA2MB
|
||||
1QN8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC/wGGARoC/wGDARUC/wGFARkC/wGKASIC/wGNASgC
|
||||
/wGTATMB/wJuAWgB9QNdAcUDNgFZBP8B9AHNAWwB/wH0AcsBZgH/AfQBywFlAf8B9AHLAWUB/wHxAcEB
|
||||
SQH/AfkB4wGsAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOaAf8DBgEIAzEBTANQAZsD
|
||||
ZQHsA30B+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A2oB7QNQAZsDLwFJCAADIgExA18B
|
||||
yQJ9AWcB+gHzAcoBZQH/AfkB4QGmAf8B+wHtAcwB/wH7AewByAH/AfgB3QGbAf8DgAH+AmUBXgHiAz0B
|
||||
aAQBDAADQgFyA2MB1QNqAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC
|
||||
/wGnAVgB/wN8AfgDXQHHAzsBYgQAQP8IAAMFAQYDEgEXAzoBYANRAZ8DXwHTA2cB7wNjAfYDYgHuA14B
|
||||
0gNRAZ4DOQFfAxEBFgMFAQYUAAMPARMDRwGCA2QB2wJ+AW8B/ANnAeoDVAGoAygBOxwAAzwBZQNeAdIB
|
||||
/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAAB
|
||||
QgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4UAAf8B/AHAAQMEAAH/AfwBgAEBBAAB
|
||||
/wH5BgAB/wH5BgAB8AETBgABwAEDBAAC/wGAAQEEAAHAAQEBgAEBBAABgAIAAQEHAAEBBwABAQcAAQEH
|
||||
AAEBBgABgAEBBgABwAEDAYABAQIAAcABAQHwAR8BwAEDCw==
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA0A0AAAJNU0Z0AUkBTAMBAQAB
|
||||
qAEBAagBAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD
|
||||
rQH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D2gX/A/wB/wP+Df8D/QH/A/wR/wP8Af8D/g3/A/0B/wPZAf8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oJ/wP9Af8D
|
||||
/g3/A/0B/wP9Ef8D/AH/A/4N/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA6IB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A9oN/wP8Af8D/iX/A/wN/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//
|
||||
AIEAA6UB/wO6Af8DugH/A7oB/wO6Af8DugH/A9kR/wP+Ff8D/R3/A9oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB//8AgQADpAH/A7kB/wO6Af8DugH/A7oB/wO6Af8D2QH/A/wV/wP+Df8D/QH/A/0R/wP+Af8D
|
||||
/gH/A9oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB//8AgQADoQH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
2gH/A/4B/wP9Ef8D/AH/A/4N/wP9Af8D/RH/A/wB/wPZAf8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af//
|
||||
AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oF/wP9Af8D/RH/A/0B/wP+Df8D/QH/A/0R/wPZAf8D
|
||||
ugH/A7oB/wO6Af8DugH/A7kB/wO6Af//AIEAA7EB/wO6Af8DugH/A7oB/wO6Af8DugH/A9MJ/wP+Ff8D
|
||||
/AH/A/4h/wPTAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
uQH/A8AB/wP9Df8D/hH/A/4V/wP9Bf8D/QH/A8AB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A9oN/wP+Af8D/RX/A/4N/wP9Af8D/AH/A9oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
3Q3/A/0B/wP9Ef8D/QH/A/4N/wPcAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO5Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO5Af8DyQH/A+wB/wP+Bf8D/gH/A/wR/wP9Af8D
|
||||
/QH/A+wB/wPKAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DwQH/A9IB/wPfAf8D5gH/A+oB/wPrAf8D
|
||||
5wH/A98B/wPSAf8DwAH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//
|
||||
AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
vQH/A8cB/wPGAf8DvQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A8IB/wPnAf8D/QX/A/4B/wP6Af8D5gH/A8IB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wPIAf8D+QH/A/0N/wP9Af8D/QH/A/oB/wPIAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO5Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A74B/wP4Bf8D/AH/A/4N/wP9Af8D/AH/A/gB/wO+Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO5Af8DugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8D
|
||||
2w3/A/0B/wP9Df8D/QH/A/4B/wPbAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D8BH/A/wB/wP+Ef8D
|
||||
8AH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A/gB/wP9Jf8D+AH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A/QB/wP9Af8D/BH/A/4B/wP+Cf8D9QH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A+UF/wP+Af8D
|
||||
/BH/A/wB/wP9Bf8D5QH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A8gB/wP+Bf8D/gH/A/wR/wP9Af8D
|
||||
/QH/A8gB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af//AIEAA7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D3Qn/A/4V/wPcAf8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D2QH/A/wJ/wP+Bf8D/AH/A9kB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A8AB/wPWAf8D4gH/A+EB/wPVAf8DwAH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
|
||||
uQH/A7oB//8AgQADugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAB
|
||||
QgFNAT4HAAE+AwABKAMAAYADAAEgAwABAQEAAQEGAAECFgAD//8A/wADAAs=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ilStatusIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@ -217,31 +196,31 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAihMAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAHoAQEB6AEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAmhMAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAFgAQEBYAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B
|
||||
0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB
|
||||
BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD
|
||||
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDYQH+A2EB/gMkAfsDUwH0A2IB
|
||||
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBPQF9AT0B/gE9AX0BPQH+ASEBXgEhAfsD
|
||||
UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7AT0CfQH+AT0CfQH+ASECXgH7A1MB
|
||||
9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wI9AX0B/gI9AX0B/gIhAV4B+wNTAfQD
|
||||
YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNlAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B
|
||||
8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBPQGAAT0B/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB
|
||||
AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBPQKAAf4B
|
||||
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDUAH+A1AB/gMkAfsDUwH0A2IB
|
||||
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBLAFsASwB/gEsAWwBLAH+ASEBXgEhAfsD
|
||||
UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7ASwCbAH+ASwCbAH+ASECXgH7A1MB
|
||||
9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wIsAWwB/gIsAWwB/gIhAV4B+wNTAfQD
|
||||
YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNUAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B
|
||||
8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBLAF0ASwB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB
|
||||
AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBLAJ0Af4B
|
||||
AAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMIAAMbASUD
|
||||
WAG9A1oB8gI9AYAB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB
|
||||
sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A2EB
|
||||
WAG9A1oB8gIsAXQB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB
|
||||
sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A1AB
|
||||
/gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYBAAH/AQAB
|
||||
zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/AT0BfQE9Af4DYgHuA1AB
|
||||
zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/ASwBbAEsAf4DYgHuA1AB
|
||||
mgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQACywH/AQAC
|
||||
swH/AQACiAH/AQACVwH/AT0CfQH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB
|
||||
/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wI9AX0B/gNiAe4DUAGaAwMB
|
||||
swH/AQACiAH/AQACVwH/ASwCbAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB
|
||||
/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wIsAWwB/gNiAe4DUAGaAwMB
|
||||
BAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B
|
||||
3QMqAT8DLQFEAWABaQFgAegBPQGAAT0B/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB
|
||||
3QMqAT8DLQFEAWABaQFgAegBLAGAASwB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB
|
||||
+wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0DKgE/Ay0B
|
||||
RAFgAmkB6AE9AoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB
|
||||
/wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCPQGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C
|
||||
RAFgAmkB6AEsAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB
|
||||
/wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCLAGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C
|
||||
AAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8DTgGVA3cB
|
||||
+AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfIDSgGLA04B
|
||||
lQFcAXwBXAH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
@ -255,53 +234,53 @@
|
||||
+wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8BAAJdAf8D
|
||||
QQH5A1oBxAJbAV8B0wIrAX4B/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB
|
||||
/QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B
|
||||
/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBYQGFAWEB/gEnAf8BJwH/AQsB
|
||||
/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBUAGnAVAB/gEnAf8BJwH/AQsB
|
||||
/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AWEChQH+AScD/wELA/8BAQP/AQAD
|
||||
/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCYQGFAf4C
|
||||
/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AVACpwH+AScD/wELA/8BAQP/AQAD
|
||||
/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCUAGnAf4C
|
||||
JwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8DQAH9A2IB
|
||||
4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB
|
||||
/QNeAeIBSAFjAUgB9gGAAYUBgAH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/QNeAeIBSAFjAUgB9gFzAacBcwH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgBAAH/A0AB
|
||||
/QNeAeIBSAJjAfYBgAKFAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B
|
||||
AALkAf8BAAKYAf8DQAH9A14B4gJIAWMB9gKAAYUB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C
|
||||
/QNeAeIBSAJjAfYBcwKnAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B
|
||||
AALkAf8BAAKYAf8DQAH9A14B4gJIAWMB9gJzAacB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C
|
||||
AAL/AgAC/wIAAf0B/wIAAeQB/wIAAZgB/wNAAf0DXgHiA2EB1gN+AfwDuAH/A6MB/wOTAf8DjgH/A44B
|
||||
/wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBfgFkAfwBXwH/AV8B
|
||||
/wEvAf8BLwH/AQwB/wEMAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH+AQAB/wEAAeoBAAH/AQABpQEAAf8DTQH6A1oBxwFcAmEB1gFkAn4B/AFfA/8BLwP/AQwD
|
||||
/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv4B/wEAAuoB/wEAAqUB/wNNAfoDWgHHAlwBYQHWAmQB
|
||||
fgH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgABpQH/A00B
|
||||
+gNaAccDUAGaA2oB+QPFAf8DsgH/A5wB/wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB
|
||||
/wNaAfIDTAGQA1ABmgNqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8BBwH/AQcB/wEBAf8BAQH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQIB/wECAf8BAgH+AQIB/wEAAesBAAH/AQABrQEAAf8BWgFrAVoB
|
||||
8gNMAZADUAGaA2oB+QF8A/8BUQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B/wEAAusB
|
||||
/wEAAq0B/wFaAmsB8gNMAZADUAGaA2oB+QJ8Av8CUQL/Ah8C/wIHAv8CAQL/AgAC/wIAAv8CAAL/AgIC
|
||||
/wICAf4B/wIAAesB/wIAAa0B/wJaAWsB8gNMAZADLwFJA2wB6wOAAf4DxgH/A64B/wOcAf8DkwH/A5AB
|
||||
/wOPAf8DkAH/A5MB/wOTAf8DhQH/A0AB/QNgAeADLQFFAy8BSQNsAesBgAGFAYAB/gF/Af8BfwH/AUkB
|
||||
/wFJAf8BHwH/AR8B/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB/wEFAf8BBQH/AQoB/wEKAf8BCgH+AQoB
|
||||
/wEBAe0BAQH/AUABtgFAAf0BYAFmAWAB4AMtAUUDLwFJA2wB6wGAAoUB/gF/A/8BSQP/AR8D/wEMA/8B
|
||||
BQP/AQMD/wEFA/8BCgP/AQoC/gH/AQEC7QH/AUACtgH9AWACZgHgAy0BRQMvAUkDbAHrAoABhQH+An8C
|
||||
/wJJAv8CHwL/AgwC/wIFAv8CAwL/AgUC/wIKAv8CCgH+Af8CAQHtAf8CQAG2Af0CYAFmAeADLQFFAwMB
|
||||
BANWAa4DbgH1A9kB/wPLAf8DtwH/A6cB/wOdAf8DmgH/A5wB/wOfAf8DmwH/A4kB/wNoAfADUgGjAwMB
|
||||
BAMDAQQDVgGuA24B9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB/wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB
|
||||
/wEfAf8BHwH/ASYB/wEmAf8BHQH/AR0B/wEFAfMBBQH/AV4BaAFeAfADUgGjAwMBBAMDAQQDVgGuA24B
|
||||
9QGoA/8BiQP/AVwD/wE3A/8BIgP/ARsD/wEfA/8BJgP/AR0D/wEFAvMB/wFeAmgB8ANSAaMDAwEEAwMB
|
||||
BANWAa4DbgH1AqgC/wKJAv8CXAL/AjcC/wIiAv8CGwL/Ah8C/wImAv8CHQL/AgUB8wH/Al4BaAHwA1IB
|
||||
owMDAQQEAAMcAScDXQHHA2MB9gOAAf4D1wH/A8wB/wPCAf8DuwH/A7cB/wOxAf8DgAH+A2gB9ANZAbwD
|
||||
GwEmCAADHAEnA10BxwNjAfYBgAGFAYAB/gGlAf8BpQH/AYsB/wGLAf8BdAH/AXQB/wFmAf8BZgH/AVwB
|
||||
/wFcAf8BTgH/AU4B/wFtAYUBbQH+AVMBaAFTAfQBVwFZAVcBvAMbASYIAAMcAScDXQHHA2MB9gGAAoUB
|
||||
/gGlA/8BiwP/AXQD/wFmA/8BXAP/AU4D/wFtAoUB/gFTAmgB9AFXAlkBvAMbASYIAAMcAScDXQHHA2MB
|
||||
9gKAAYUB/gKlAv8CiwL/AnQC/wJmAv8CXAL/Ak4C/wJtAYUB/gJTAWgB9AJXAVkBvAMbASYMAAMhATAD
|
||||
WQG2A2IB7gN9AfoDvgH9A9QB/wPMAf8DvgH9A2oB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B
|
||||
+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB/wFAAb4BQAH9AWgBagFoAfkBYQFsAWEB6wNVAawDHwEsEAAD
|
||||
IQEwA1kBtgNiAe4DfQH6Aa4CvgH9AZ8D/wGMA/8BQAK+Af0BaAJqAfkBYQJsAesDVQGsAx8BLBAAAyEB
|
||||
MANZAbYDYgHuA30B+gKuAb4B/QKfAv8CjAL/AkABvgH9AmgBagH5AmEBbAHrA1UBrAMfASwUAAMGAQcD
|
||||
NgFYA1UBrANmAeUDfgH8A18B+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUDfgH8AV8B
|
||||
cwFfAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlA34B/AFfAnMB+wNlAeIDUwGnAzMB
|
||||
UQMGAQcYAAMGAQcDNgFYA1UBrANmAeUDfgH8Al8BcwH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwAB
|
||||
PgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMB
|
||||
wAEDAYABAQGAAQEBgAEBAYABAVAAAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMB4AEHAeAB
|
||||
BwHgAQcB4AEHCw==
|
||||
/wEAAf8BAAH+AQAB/wEAAeoBAAH/AQABpQEAAf8BSwFNAUsB+gNaAccBXAJhAdYBZAJ+AfwBXwP/AS8D
|
||||
/wEMA/8BAQP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8BSwJNAfoDWgHHAlwB
|
||||
YQHWAmQBfgH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgAB
|
||||
pQH/AksBTQH6A1oBxwNQAZoDagH5A8UB/wOyAf8DnAH/A5EB/wOOAf8DjgH/A44B/wOOAf8DjwH/A44B
|
||||
/wODAf8DYAH/A1oB8gNMAZADUAGaAWoBewFqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8BBwH/AQcB
|
||||
/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQIB/wECAf8BAgH+AQIB/wEAAesBAAH/AQAB
|
||||
rQEAAf8BWgFrAVoB8gNMAZADUAGaAWoCewH5AXwD/wFRA/8BHwP/AQcD/wEBA/8BAAP/AQAD/wEAA/8B
|
||||
AgP/AQIC/gH/AQAC6wH/AQACrQH/AVoCawHyA0wBkANQAZoCagF7AfkCfAL/AlEC/wIfAv8CBwL/AgEC
|
||||
/wIAAv8CAAL/AgAC/wICAv8CAgH+Af8CAAHrAf8CAAGtAf8CWgFrAfIDTAGQAy8BSQNsAesDgAH+A8YB
|
||||
/wOuAf8DnAH/A5MB/wOQAf8DjwH/A5AB/wOTAf8DkwH/A4UB/wNAAf0DYAHgAy0BRQMvAUkDbAHrAYAB
|
||||
pwGAAf4BfwH/AX8B/wFJAf8BSQH/AR8B/wEfAf8BDAH/AQwB/wEFAf8BBQH/AQMB/wEDAf8BBQH/AQUB
|
||||
/wEKAf8BCgH/AQoB/gEKAf8BAQHtAQEB/wFAAbYBQAH9AWABZgFgAeADLQFFAy8BSQNsAesBgAKnAf4B
|
||||
fwP/AUkD/wEfA/8BDAP/AQUD/wEDA/8BBQP/AQoD/wEKAv4B/wEBAu0B/wFAArYB/QFgAmYB4AMtAUUD
|
||||
LwFJA2wB6wKAAacB/gJ/Av8CSQL/Ah8C/wIMAv8CBQL/AgMC/wIFAv8CCgL/AgoB/gH/AgEB7QH/AkAB
|
||||
tgH9AmABZgHgAy0BRQMDAQQDVgGuA24B9QPZAf8DywH/A7cB/wOnAf8DnQH/A5oB/wOcAf8DnwH/A5sB
|
||||
/wOJAf8DaAHwA1IBowMDAQQDAwEEA1YBrgNuAfUBqAH/AagB/wGJAf8BiQH/AVwB/wFcAf8BNwH/ATcB
|
||||
/wEiAf8BIgH/ARsB/wEbAf8BHwH/AR8B/wEmAf8BJgH/AR0B/wEdAf8BBQHzAQUB/wFeAWgBXgHwA1IB
|
||||
owMDAQQDAwEEA1YBrgNuAfUBqAP/AYkD/wFcA/8BNwP/ASID/wEbA/8BHwP/ASYD/wEdA/8BBQLzAf8B
|
||||
XgJoAfADUgGjAwMBBAMDAQQDVgGuA24B9QKoAv8CiQL/AlwC/wI3Av8CIgL/AhsC/wIfAv8CJgL/Ah0C
|
||||
/wIFAfMB/wJeAWgB8ANSAaMDAwEEBAADHAEnA10BxwNjAfYDhwH+A9cB/wPMAf8DwgH/A7sB/wO3Af8D
|
||||
sQH/A4AB/gNoAfQDWQG8AxsBJggAAxwBJwNdAccDYwH2AYABpwGAAf4BpQH/AaUB/wGLAf8BiwH/AXQB
|
||||
/wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BXAGnAVwB/gFTAWgBUwH0AVcBWQFXAbwDGwEmCAAD
|
||||
HAEnA10BxwNjAfYBgAKnAf4BpQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BXAKnAf4BUwJoAfQBVwJZAbwD
|
||||
GwEmCAADHAEnA10BxwNjAfYCgAGnAf4CpQL/AosC/wJ0Av8CZgL/AlwC/wJOAv8CXAGnAf4CUwFoAfQC
|
||||
VwFZAbwDGwEmDAADIQEwA1kBtgNiAe4DfQH6A74B/QPUAf8DzAH/A74B/QNqAfkDbAHrA1UBrAMfASwQ
|
||||
AAMhATADWQG2A2IB7gN9AfoBrgG+Aa4B/QGfAf8BnwH/AYwB/wGMAf8BSgG+AUoB/QFoAXsBaAH5AWEB
|
||||
bAFhAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B+gGuAr4B/QGfA/8BjAP/AUoCvgH9AWgCewH5AWEC
|
||||
bAHrA1UBrAMfASwQAAMhATADWQG2A2IB7gN9AfoCrgG+Af0CnwL/AowC/wJKAb4B/QJoAXsB+QJhAWwB
|
||||
6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA34B/AN/AfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB
|
||||
WANVAawDZgHlA34B/AFfAYoBXwH7A2UB4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB5QN+AfwB
|
||||
XwKKAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlA34B/AJfAYoB+wNlAeIDUwGnAzMB
|
||||
UQMGAQcMAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/gQAB4AEHAeABBwHgAQcB
|
||||
4AEHAcABAwHAAQMBwAEDAcABAwGAAQEBgAEBAYABAQGAAQFQAAGAAQEBgAEBAYABAQGAAQEBwAEDAcAB
|
||||
AwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBws=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ilGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@ -311,8 +290,8 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAJCUAAAJNU0Z0AUkBTAIBAQMB
|
||||
AAGoAQIBqAECASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAJiUAAAJNU0Z0AUkBTAIBAQMB
|
||||
AAEgAQIBIAECASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6
|
||||
AANcAecBCAEKAQAB/wMqAUAMAAMqAUADNgFXAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwD
|
||||
PwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAI7AToBYgMzAVEDGAEhVAADUwGiA1sBwCAAA1QB
|
||||
pgNZAbzwAAMhATADRgGAFAABFQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacC
|
||||
@ -398,7 +377,7 @@
|
||||
UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQB
|
||||
EAH/AVoBlAEQAf8BWgGbARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZYBFgH/AVoBlAEYAf8B
|
||||
XQGXARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFwAbMBIAH/ASsBUAEEAf8IAAMnAToCUwFRAaIB
|
||||
YQFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB/wF4AQAC/wF4AQAB
|
||||
gQFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB/wF4AQAC/wF4AQAB
|
||||
/wJRAVABnwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIEATAAA18B0ANiAe4g
|
||||
AANhAdQDYwHpvAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
|
||||
ZwGpARcB/wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwB
|
||||
@ -418,131 +397,152 @@
|
||||
YgHclAABSgGMAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWcBnQEnAf8BCAEKAQAB
|
||||
/wEKAQ8BAAH/AUIBdwEDAf8BUgGMARAB/wFaAZwBEAH/ASUBQQEFAf8EAAM6AWABCAEKAQAB/wEIAQoB
|
||||
AAH/BAADRgGAA0YBgANGAYAcAAMKAQ0DIgExAzQBVANEAXgCUQFQAZ8CYQFdAc8CagFeAe0CZQFdAewC
|
||||
aAFeAfABYQFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwBTQGRAlgB
|
||||
aAFeAfABgQFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwBTQGRAlgB
|
||||
WgG9Al0BYQHRAlkBXAHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UBrQNVAa0DVQGtA1UBrQNVAa0D
|
||||
VQGtA1UBrQNVAa0DVQGtA2gB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNwAfED
|
||||
fAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cBgZQAATsBbQECAf8BUgGMAQgB
|
||||
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFTAY4BEAH/AQ8BGwEAAf8BIwFDAQAB/wFSAYwBEAH/AVIB
|
||||
jAEQAf8BewG9ATAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB
|
||||
/wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAl8BXAHIAmYBXwHlAm8BUQH3Ab4CQAH9Af8B
|
||||
eAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAAEAQMCAQMDFQEcAzUBVgJLAUwBjwJcAV8ByAJdAWMB3wJgAWUB
|
||||
4wJSAVMBpQM0AVMDHAEnKAADXwHQA2IB7iAAA2EB1ANjAem8AAEIAQoBAAH/AVIBjAEIAf8BUgGMAQgB
|
||||
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFOAYIBDwH/AUoBhAEGAf8BUgGMARAB/wFjAaUBFwH/AQgB
|
||||
CgEAAf8BCAEKAQAB/wETASMBAAH/AUIBcwEGAf8BIAE/AQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB
|
||||
/wEIAQoBAAH/AQgBCgEAAf8gAAQBAwMBBAMMARADGAEgAykBPQM+AWoCVwFWAbUCZgFfAeUCbwFRAfcB
|
||||
/wF4AQAC/wF4AQAB/wJRAVABnwMSARggAAQBAwcBCQMUARsDKgFAA0MBdgNVAa8CWgFjAekCWwFfAdAC
|
||||
UAFRAZ8DMwFRKAADXwHQA2IB7iAAA2EB1ANjAenAAAFCAXMBBgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB
|
||||
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BSgGEAQYB/wEQAR4BAAH/ATEBWgEAAf8B
|
||||
TQGEAQ0B/wFaAZwBEAH/AVoBnAEQAf8BUgGMAQgB/wEQAR4BAAH/AQgBCgEAAf8BCAEKAQAB/wNGAYAs
|
||||
AAMCAQMDCwEOAyABLgNDAXYCVwFVAbECZgFgAeACYwFIAfYCagFBAfkCUQFQAZwDEgEXDAAEAQMMARAD
|
||||
FwEfAx0BKAMdASgDDAEPCAADDwEUAiYBJwE5AkcBSAGDA2IB4QJcAWUB5wNeAdICPwFAAW4oAANfAdAD
|
||||
YgHuIAADYQHUA2MB6cQAAUkBiQEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB
|
||||
EAH/AVIBjAEQAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8B
|
||||
WgGcARAB/wFaAZQBGAH/AUIBcwEGAf8BCgEOAQAB/zAABAEDAwEEAwwBDwMeASoDOgFhAlkBVwG5AmMB
|
||||
WwHkA2IB7gJPAU4BlwMSARcMAAMCAQMDIQEvAzYBWQJCAUMBdQJBAUIBcwMeASsIAAMEAQUDDAEPAzgB
|
||||
XAJdAWABzgJdAWUB7AJZAWcB7wNGAX8oAANfAdADYgHuIAADYQHUA2MB6cgAAToBawEAAf8BUgGMAQgB
|
||||
/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGUARAB/wFaAZwBEAH/AVoB
|
||||
nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFjAaUBFwH/ARkBLAEDAf84AAMCAQMD
|
||||
CAEKAyABLQJBAUABcQJNAUwBkQNQAZoCOwE6AWIDDAEPDAADAwEEAysBQQNEAXoDUwGnA1UBrQM3AVoD
|
||||
GAEgAwkBCwMGAQcDDQERAzkBXwJdAWEB0QJZAWcB7wJgAW8B8wJGAUcBgSgAA18B0ANiAe4gAANhAdQD
|
||||
YwHpzAABLAFVAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGUARAB
|
||||
/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wEhAUEBAAH/QAAE
|
||||
AgMHAQkDEAQVARwCFgEVAR0DDwETAwIBAwwAAwMBBAMwA0sBTAGPAlsBXQHKAlsBYQHeA04BlAM0AVMD
|
||||
FQEcAw0BEQMeASsCQwFEAXcCXQFjAd8CZQFwAfECWgFjAekDRAF7KAADXwHQA2IB7iAAA2EB1ANjAenI
|
||||
AAESASIBAAH/AUwBhgEGAf8BUgGMAQgB/wFaAZwBEAH/AVABigEIAf8BUgGMARAB/wFaAZQBEAH/AVoB
|
||||
nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcAREB/wFpAasBHwH/AQgBCgEAAf9sAAMCAQMD
|
||||
IQEvAzoBYQNVAa0CXwFjAdoDWgG/AlABUQGfA0QBegJBAUIBcgNJAYUCVgFXAbICXgFqAe0CYAFkAdsC
|
||||
VQFXAbEDOAFbKAADXwHQA2IB7iAAA2EB1ANjAenIAAEQAR4BAAH/AUgBfQEHAf8BWQGTARMB/wFVAYgB
|
||||
GAH/CAABIQFBAQAB/wFCAXsBAAH/AVIBjAEIAf8BVQGRAQgB/wE5AWYBBAH/A1kB73gAAwYBCAMXAR8D
|
||||
RAF7AlkBXAHGAlsBYwHkAlMBaAH0A2IB7gNiAe4CZQFwAfECSAFjAfYCKwF+AfwCWQFcAb4DPgFrAyQB
|
||||
NCgAA18B0ANiAe4gAANhAdQDYwHp0AABHgE6AQAB/5wABAIDCQEMAyoDPwFAAW4DTgGWAlYBWAGzAlkB
|
||||
XAHBAloBXQHHAloBXQHHAlcBWQG5AlEBUgGkAkABQQFxAyUBNgMTARkoAANfAdADYgHuIAADYQHUA2MB
|
||||
6f8AeQAEAQMLAQ4DJgE4AzkBXgNGAX0CSgFLAYsDSgGJAz4BawMqAT8DFwEfAwIBAywAA1MBogNaAb8g
|
||||
AANUAaYDWQG7qAABQgFNAT4HAAE+AwABKAMAAYADAAEgAwABAQEAAQEGAAECFgAD/wEAA/8BxwIAAQcC
|
||||
/wHPAfMB/wQAAv8BzwGHAgABBwL/Ac8B8wH/BAAB/wH+AQABBwIAAQcC/wHPAfMB/wQAAf8B/AEAAQcC
|
||||
AAEHAv8BzwHzAf8EAAH/AfgBAAEPAgABBwL/Ac8B8wH/BAAB/wHwAQABBwIAAQcC/wHPAfMB/wQAAf8B
|
||||
4AEAAQMCAAEHAv8BzwHzAf8EAAH/AcABAAEBAfwBAwP/Ac8B8wH/BAAB/wHAAQABAQH8AQMD/wHPAfMB
|
||||
/wQAAf8B4AIAAfwBAwHgAR8IAAH/AfwBIAEAAfwBAwHgAR8IAAH/Af4B4AEAAfwBAwHgAR8IAAH/AcAC
|
||||
AAH8AQMB4AEfAf8BzwHzAf8EAAH/AYACAAH8AQMB4AEfAf8BzwHzAf8EAAH/AwAB/AEDAeABHwH/Ac8B
|
||||
8wH/BAAB/gIAAQEBAAEDAeABHwH/Ac8B8wH/BAAB/AIAAQEBAAEDAfgBHwH/Ac8B8wH/BAAB+AIAAQEB
|
||||
AAEDAfgBHwH/Ac8B8wH/BAAB+AIAAQMBAAEDAfgBAwH/Ac8B8wH/BAAB+AIAAQcBAAEDAfgBAwgAAfgC
|
||||
AAEPAQABAwH4CQAB+AEAAUQBfwEAAQMB+AkAAfgBAAEBAf8BgAEDAfgBAAH/Ac8B8wH/BAAB+AIAAX8B
|
||||
gAEDAfwBAAH/Ac8B8wH/BAAB/AIAAX8B8AEDAYEBgAH/Ac8B8wH/BAAB/gIAAf8B8AEDAYEBgAH/Ac8B
|
||||
8wH/BAAB/wIAAf8B/AEDAYABAAH/Ac8B8wH/BAAB/wGAAQEB/wH+AQMBgAEAAf8BzwHzAf8EAAH/AQAB
|
||||
AwP/AYABAAH/Ac8B8wH/BAAB/wEMAQ8D/wHAAQAB/wHPAfMB/wQAAf8B3wT/AcABAAH/Ac8B8wH/BAAG
|
||||
/wHwAQEB/wHPAfMB/wQACw==
|
||||
/wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAl8BXAHIAmYBXwHlAm8BUQH3Ab4BQwFAAf0B
|
||||
/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAQBAwIBAwMVARwDNQFWAksBTAGPAlwBXwHIAl0BYwHfAmAB
|
||||
ZQHjAlIBUwGlAzQBUwMcAScoAANfAdADYgHuIAADYQHUA2MB6bwAAQgBCgEAAf8BUgGMAQgB/wFSAYwB
|
||||
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AU4BggEPAf8BSgGEAQYB/wFSAYwBEAH/AWMBpQEXAf8B
|
||||
CAEKAQAB/wEIAQoBAAH/ARMBIwEAAf8BQgFzAQYB/wEgAT8BAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB
|
||||
AAH/AQgBCgEAAf8BCAEKAQAB/yAABAEDAwEEAwwBEAMYASADKQE9Az4BagJXAVYBtQJmAV8B5QJvAVEB
|
||||
9wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGCAABAEDBwEJAxQBGwMqAUADQwF2A1UBrwJaAWMB6QJbAV8B
|
||||
0AJQAVEBnwMzAVEoAANfAdADYgHuIAADYQHUA2MB6cAAAUIBcwEGAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFKAYQBBgH/ARABHgEAAf8BMQFaAQAB
|
||||
/wFNAYQBDQH/AVoBnAEQAf8BWgGcARAB/wFSAYwBCAH/ARABHgEAAf8BCAEKAQAB/wEIAQoBAAH/A0YB
|
||||
gCwAAwIBAwMLAQ4DIAEuA0MBdgJXAVUBsQJmAWAB4AJjAUgB9gJqAUEB+QJRAVABnAMSARcMAAQBAwwB
|
||||
EAMXAR8DHQEoAx0BKAMMAQ8IAAMPARQCJgEnATkCRwFIAYMDYgHhAlwBZQHnA14B0gI/AUABbigAA18B
|
||||
0ANiAe4gAANhAdQDYwHpxAABSQGJAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEQAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB
|
||||
/wFaAZwBEAH/AVoBlAEYAf8BQgFzAQYB/wEKAQ4BAAH/MAAEAQMDAQQDDAEPAx4BKgM6AWECWQFXAbkC
|
||||
YwFbAeQDYgHuAk8BTgGXAxIBFwwAAwIBAwMhAS8DNgFZAkIBQwF1AkEBQgFzAx4BKwgAAwQBBQMMAQ8D
|
||||
OAFcAl0BYAHOAl0BZQHsAlkBZwHvA0YBfygAA18B0ANiAe4gAANhAdQDYwHpyAABOgFrAQAB/wFSAYwB
|
||||
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8B
|
||||
WgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBpQEXAf8BGQEsAQMB/zgAAwIB
|
||||
AwMIAQoDIAEtAkEBQAFxAk0BTAGRA1ABmgI7AToBYgMMAQ8MAAMDAQQDKwFBA0QBegNTAacDVQGtAzcB
|
||||
WgMYASADCQELAwYBBwMNAREDOQFfAl0BYQHRAlkBZwHvAmABbwHzAkYBRwGBKAADXwHQA2IB7iAAA2EB
|
||||
1ANjAenMAAEsAVUBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZQB
|
||||
EAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/ASEBQQEAAf9A
|
||||
AAQCAwcBCQMQBBUBHAIWARUBHQMPARMDAgEDDAADAwEEAzADSwFMAY8CWwFdAcoCWwFhAd4DTgGUAzQB
|
||||
UwMVARwDDQERAx4BKwJDAUQBdwJdAWMB3wJlAXAB8QJaAWMB6QNEAXsoAANfAdADYgHuIAADYQHUA2MB
|
||||
6cgAARIBIgEAAf8BTAGGAQYB/wFSAYwBCAH/AVoBnAEQAf8BUAGKAQgB/wFSAYwBEAH/AVoBlAEQAf8B
|
||||
WgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEQH/AWkBqwEfAf8BCAEKAQAB/2wAAwIB
|
||||
AwMhAS8DOgFhA1UBrQJfAWMB2gNaAb8CUAFRAZ8DRAF6AkEBQgFyA0kBhQJWAVcBsgJeAWoB7QJgAWQB
|
||||
2wJVAVcBsQM4AVsoAANfAdADYgHuIAADYQHUA2MB6cgAARABHgEAAf8BSAF9AQcB/wFZAZMBEwH/AVUB
|
||||
iAEYAf8IAAEhAUEBAAH/AUIBewEAAf8BUgGMAQgB/wFVAZEBCAH/ATkBZgEEAf8DWQHveAADBgEIAxcB
|
||||
HwNEAXsCWQFcAcYCWwFjAeQCUwFoAfQDYgHuA2IB7gJlAXAB8QJIAWMB9gIrAX4B/AJZAVwBvgM+AWsD
|
||||
JAE0KAADXwHQA2IB7iAAA2EB1ANjAenQAAEeAToBAAH/nAAEAgMJAQwDKgM/AUABbgNOAZYCVgFYAbMC
|
||||
WQFcAcECWgFdAccCWgFdAccCVwFZAbkCUQFSAaQCQAFBAXEDJQE2AxMBGSgAA18B0ANiAe4gAANhAdQD
|
||||
YwHp/wB5AAQBAwsBDgMmATgDOQFeA0YBfQJKAUsBiwNKAYkDPgFrAyoBPwMXAR8DAgEDLAADUwGiA1oB
|
||||
vyAAA1QBpgNZAbuoAAFCAU0BPgcAAT4DAAEoAwABgAMAASADAAEBAQABAQYAAQIWAAP/AQAD/wHHAgAB
|
||||
BwL/Ac8B8wH/BAAC/wHPAYcCAAEHAv8BzwHzAf8EAAH/Af4BAAEHAgABBwL/Ac8B8wH/BAAB/wH8AQAB
|
||||
BwIAAQcC/wHPAfMB/wQAAf8B+AEAAQ8CAAEHAv8BzwHzAf8EAAH/AfABAAEHAgABBwL/Ac8B8wH/BAAB
|
||||
/wHgAQABAwIAAQcC/wHPAfMB/wQAAf8BwAEAAQEB/AEDA/8BzwHzAf8EAAH/AcABAAEBAfwBAwP/Ac8B
|
||||
8wH/BAAB/wHgAgAB/AEDAeABHwgAAf8B/AEgAQAB/AEDAeABHwgAAf8B/gHgAQAB/AEDAeABHwgAAf8B
|
||||
wAIAAfwBAwHgAR8B/wHPAfMB/wQAAf8BgAIAAfwBAwHgAR8B/wHPAfMB/wQAAf8DAAH8AQMB4AEfAf8B
|
||||
zwHzAf8EAAH+AgABAQEAAQMB4AEfAf8BzwHzAf8EAAH8AgABAQEAAQMB+AEfAf8BzwHzAf8EAAH4AgAB
|
||||
AQEAAQMB+AEfAf8BzwHzAf8EAAH4AgABAwEAAQMB+AEDAf8BzwHzAf8EAAH4AgABBwEAAQMB+AEDCAAB
|
||||
+AIAAQ8BAAEDAfgJAAH4AQABRAF/AQABAwH4CQAB+AEAAQEB/wGAAQMB+AEAAf8BzwHzAf8EAAH4AgAB
|
||||
fwGAAQMB/AEAAf8BzwHzAf8EAAH8AgABfwHwAQMBgQGAAf8BzwHzAf8EAAH+AgAB/wHwAQMBgQGAAf8B
|
||||
zwHzAf8EAAH/AgAB/wH8AQMBgAEAAf8BzwHzAf8EAAH/AYABAQH/Af4BAwGAAQAB/wHPAfMB/wQAAf8B
|
||||
AAEDA/8BgAEAAf8BzwHzAf8EAAH/AQwBDwP/AcABAAH/Ac8B8wH/BAAB/wHfBP8BwAEAAf8BzwHzAf8E
|
||||
AAb/AfABAQH/Ac8B8wH/BAAL
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ilStoreThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>12, 128</value>
|
||||
</metadata>
|
||||
<metadata name="ilProfilePics.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
<metadata name="ilTabIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>20, 44</value>
|
||||
</metadata>
|
||||
<data name="ilProfilePics.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<data name="ilTabIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA0A0AAAJNU0Z0AUkBTAMBAQAB
|
||||
MAECATABAgEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD
|
||||
rQH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D2gX/A/wB/wP+Df8D/QH/A/wR/wP8Af8D/g3/A/0B/wPZAf8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oJ/wP9Af8D
|
||||
/g3/A/0B/wP9Ef8D/AH/A/4N/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA6IB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A9oN/wP8Af8D/iX/A/wN/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//
|
||||
AIEAA6UB/wO6Af8DugH/A7oB/wO6Af8DugH/A9kR/wP+Ff8D/R3/A9oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB//8AgQADpAH/A7kB/wO6Af8DugH/A7oB/wO6Af8D2QH/A/wV/wP+Df8D/QH/A/0R/wP+Af8D
|
||||
/gH/A9oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB//8AgQADoQH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
2gH/A/4B/wP9Ef8D/AH/A/4N/wP9Af8D/RH/A/wB/wPZAf8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af//
|
||||
AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oF/wP9Af8D/RH/A/0B/wP+Df8D/QH/A/0R/wPZAf8D
|
||||
ugH/A7oB/wO6Af8DugH/A7kB/wO6Af//AIEAA7EB/wO6Af8DugH/A7oB/wO6Af8DugH/A9MJ/wP+Ff8D
|
||||
/AH/A/4h/wPTAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
uQH/A8AB/wP9Df8D/hH/A/4V/wP9Bf8D/QH/A8AB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A9oN/wP+Af8D/RX/A/4N/wP9Af8D/AH/A9oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
3Q3/A/0B/wP9Ef8D/QH/A/4N/wPcAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO5Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO5Af8DyQH/A+wB/wP+Bf8D/gH/A/wR/wP9Af8D
|
||||
/QH/A+wB/wPKAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DwQH/A9IB/wPfAf8D5gH/A+oB/wPrAf8D
|
||||
5wH/A98B/wPSAf8DwAH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//
|
||||
AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
vQH/A8cB/wPGAf8DvQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af//AIEAA7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A8IB/wPnAf8D/QX/A/4B/wP6Af8D5gH/A8IB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wPIAf8D+QH/A/0N/wP9Af8D/QH/A/oB/wPIAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO5Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A74B/wP4Bf8D/AH/A/4N/wP9Af8D/AH/A/gB/wO+Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO5Af8DugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8D
|
||||
2w3/A/0B/wP9Df8D/QH/A/4B/wPbAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH//wCBAAO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D8BH/A/wB/wP+Ef8D
|
||||
8AH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A/gB/wP9Jf8D+AH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A/QB/wP9Af8D/BH/A/4B/wP+Cf8D9QH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A+UF/wP+Af8D
|
||||
/BH/A/wB/wP9Bf8D5QH/A7oB/wO5Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A8gB/wP+Bf8D/gH/A/wR/wP9Af8D
|
||||
/QH/A8gB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af//AIEAA7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D3Qn/A/4V/wPcAf8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D2QH/A/wJ/wP+Bf8D/AH/A9kB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A8AB/wPWAf8D4gH/A+EB/wPVAf8DwAH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAD
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
|
||||
uQH/A7oB//8AgQADugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO5Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO5Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DuQH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQADugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8D
|
||||
ugH/A7oB/wO6Af8DugH/A7kB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af8DugH/A7oB//8AgQAB
|
||||
QgFNAT4HAAE+AwABKAMAAYADAAEgAwABAQEAAQEGAAECFgAD//8A/wADAAs=
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshIAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAEgAQMBIAEDARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ACIAA2cB7wJnAVkB7wFnAV0BWQHvAWcBWwFZAe8B
|
||||
ZwFbAVkB7wFnAlkB7wFnAWQBWQHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvAwcB
|
||||
CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB
|
||||
OjgAAzMBUQNuAfUIAAM3AVoDWAG4A2MB3wJjAV0B3wFiAl0B3wNdAd8DXQHfAWECXQHfA2MB3wNjAd8D
|
||||
VQGsAzABSwgAA/gB/wG5AZUBPAH/AYMBfQFuAf8BhAF9AWwB/wGqAYQBJwH/AawBewEAAf8BzAG8AZQB
|
||||
/wN+Af8DfgH/A34B/wN+Af8DfgH/A34B/wN+Af8DfgH/A44B/wNDAXUDXQHMA3wB+AOBAf8DgQH/A4EB
|
||||
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A3wB+ANUAag4AAMSARgDPwFtBAADOwFiA10B
|
||||
xQNoAfQBnwFlATEB/wGXAVMBFwH/AZYBSwEJAf8BkwFGAQEB/wGMAUMBAwH/AX0BQAELAf8BawFAARoB
|
||||
/wFuAVABNgH/A2gB8ANaAbcDNAFUBAAE/wGXAYsBbQH/AoEBgAH/AYIBgQGAAf8BmAGIAWAB/wHKAZAB
|
||||
AAH/Ad0BzAGfAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DagHtA30B+gOBAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvNAADXwHTAz0B
|
||||
ZwQAAzUBVQNdAccCbgFaAfUBuAFlARsB/wG5AVgBAgH/AckBXwEAAf8B2AFlAQAB/wHcAWcBAAH/AdYB
|
||||
ZAEAAf8BwwFcAQAB/wGiAUwBAAH/AXwBOwEDAf8BbgFGASMB/wNoAfADWgG3AzABSgT/AYYBhAF9Af8D
|
||||
gQH/A4EB/wGHAYMBegH/Ac8BlAEAAf8B3gHMAZ8B/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D
|
||||
4AH/A7wB/wNjAd8DbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||
gQH/A4EB/wNVAa80AANaAcIDNAFTBAADXAHEAnwBXAH4AdQBcQEYAf8B1wFlAQAB/wHlAWwBAAH/AfIB
|
||||
cgEAAf8B+gF1AQAB/wH8AXYBAAH/AfoBdgEAAf8B8wFyAQAB/wHiAWsBAAH/Ab0BWQEAAf8BhwFAAQAB
|
||||
/wFxAUgBIwH/A2gB8ANWAasE/wGLAYYBegH/A4EB/wOBAf8BjgGGAXEB/wHPAZQBAAH/Ad4BzAGfIf8D
|
||||
ygH/AzYBWANbAcADbgH1A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||
aAH0A1IBpBAAAw0BEQM/AWwDUwGnAVwCWQG+AVgCVgGzAUgCRwGDAyEBMAQAA28B8wM6AWAIAAH+Ad0B
|
||||
wQH/Ae0BgAEgAf8B7QFxAQIB/wHzAXMBAAH/AfoBdgEAAf8B/gF4AQAC/wF7AQgC/wGIAScC/wGiAVMB
|
||||
/wH+AYEBFwH/AfwBeAEEAf8B7AFvAQAB/wHBAVsBAAH/AYYBQQEDAf8BeAFWATYB/wNjAd8E/wGsAZYB
|
||||
YAH/AYMBggF/Af8BhQGCAX0B/wGzAZMBRAH/Ac8BlAEAAf8B3gHMAZ8B/wOwAf8DsAH/A7AB/wOwAf8D
|
||||
sAH/A7AB/wOwAf8DsAH/A6gB/wMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D
|
||||
gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAIAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0B
|
||||
AAH/AagBeAEAAf8BlQFqAQAB/wKAAWQB/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB
|
||||
dwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcB
|
||||
AAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwB
|
||||
ogEUAf8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/RAAD
|
||||
IAEtAmMBWgHpAb8BiAEAAf8BzQGVAQoB/wGwAYgBJwH/AXMBZAE/Af8BTQFLAUcB/wFOAUsBQgH/AWYB
|
||||
VwExAf8BmgF0ARcB/wGkAXYBAwH/AXABTwEAAf8DQwF2BAEEAAH/AZoBQgL/AYMBFQH/Af4BegEEAv8B
|
||||
eAEAAv8BeAEAAv8BlQE/Av8BygGuAv8B2gHGAv8B7QHlAv8BlgFJAv8BfAENAf8B/gF4AQAB/wH0AXMB
|
||||
AAH/AdABYgEAAf8BmgFOAQoB/wFjAl0B3wT/AeEBrgExAf8BvQGXATsB/wHAAZgBNQH/AeMBpQEKAf8B
|
||||
zwGUAQAB/wHeAcwBnwH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DrwH/CAADAgEDAwgB
|
||||
CgMhAS8DMQFOAz0BaANDAXYDRAF6A0MBdQM9AWcDMQFNAyABLgMHAQkEAggAAmMBWgHpAdkBmgEAAf8B
|
||||
2gGjARwB/wKOAYwB/wOKAf8DlwH/A5sB/wORAf8DdAH/A0gB/wFDAUIBPwH/AbUBgwEHAf8BegFXAQAB
|
||||
/wM2AVgEAAH/AZUBNwL/AYkBHwL/AX0BCAL/AXgBAAL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgB
|
||||
xQL/AbkBlAL/AYcBIwL/AXgBAAH/AfsBdgEAAf8B4gFqAQAB/wGvAVQBAwH/AWMCXQHfBP8BuwGdAVMB
|
||||
/wGIAYQBeQH/AYwBhQF0Af8BxAGZATAB/wHPAZQBAAH/Ad4BzAGfIf8DygH/BAADEwEaAzkBXQNZAbwD
|
||||
ZAHbA2oB7QNjAfYDXwH7A4EB/QNfAfsDYwH2A2UB7ANjAdoDWgG6AzgBXAMTARoDQwF2AekBpwECAf8B
|
||||
6QGrARIB/wHQAcoBuwH/A6wB/wNdAf8DTAH/A0sB/wNEAf8DDwH/A7MB/wNmAf8BVAFMAToB/wGuAX0B
|
||||
BAH/A10BzAQAAf8BoAFJAv8BkgExAv8BgQERAv8BeQEDAv8BeAEAAv8BqAFcAv8B4AHNAv8BoQFmAv8B
|
||||
2AHFAv8BwAGfAv8BiQEnAv8BeAEAAf8B/gF4AQAB/wHsAW8BAAH/Ab8BWgECAf8BYwJdAd8E/wGUAYoB
|
||||
cwH/A4EB/wOBAf8BmgGKAWMB/wHPAZQBAAH/Ad4BzAGfAf8D0AH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D
|
||||
0AH/A9AB/wO1Af8DGgEkA1YBrgNoAfQDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8D
|
||||
gQH/A4EB/wNrAfIDUgGhAmoBYQHmAe0BrQEQAf8B9AHQAXYB/wP6Af8D+gH/A30B/wN/Af8DgAH/A4AB
|
||||
/wN+Af8DhAH/A7sB/wNqAf8BqAGAARwB/wJjAUgB9gQAAf8BswFvAv8BngFIAv8BiAEeAv8BfAEHAv8B
|
||||
eAEAAv8BmAFDAv8BzgG0Av8B1wHAAv8B6gHgAv8BnQFXAv8BfgERAv8BeAEAAv8BeAEAAf8B8AFxAQAB
|
||||
/wHLAWQBCQH/AWMBYQFdAd8E/wGGAYMBfgH/A4EB/wOBAf8BhgGDAXsB/wHPAZQBAAH/Ad4BzAGfAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DVwGyA2UB5wOBAf8DgQH/A4EB/wOBAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA2IB7gHvAbQBIQH/AfcB3AGXCf8D
|
||||
kQH/A4gB/wOHAf8DhwH/A4EB/wNXAf8D5gH/A6MB/wG2AZEBNgH/AmoBQQH5BAAB/wHMAZ8C/wGsAWMC
|
||||
/wGTATMC/wGBAREC/wF5AQIC/wGCARYC/wGaAUsC/wGuAXgC/wGlAVcC/wGBARcC/wF5AQQC/wF4AQAC
|
||||
/wF4AQAB/wHwAXEBAAH/AdUBcQEXAf8CYwFdAd8E/wGLAYYBeQH/A4EB/wOBAf8BjgGGAXEB/wHPAZQB
|
||||
AAH/Ad4BzAGfAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DbwHzA18B+wOBAf8D
|
||||
gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvA0sBjQHwAb4B
|
||||
PwH/AfQBzQFsIf8D+wH/A9AB/wHXAacBMQH/AmEBXQHRBAAB/wHpAdUC/wG8AYEC/wGkAVQC/wGOASoC
|
||||
/wF/AQ0C/wF5AQIC/wF7AQkC/wGCAR0C/wF4AQAC/wF4AQAC/wF4AQEC/wF6AQQC/wF6AQMB/wHzAXQB
|
||||
AwH/AeIBhAEyAf8DYwHfBP8BpwGUAWcB/wGDAYIBfwH/AYUBgwF+Af8BsAGUAU4B/wHTAZcBAgH/AeAB
|
||||
zgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DZAHbA2gB9AOBAf8DgQH/A4EB
|
||||
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAwcBCQNiAe4B8QG8ATsB
|
||||
/wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANeAdID
|
||||
agH5Af8BuwF9Av8BowFSAv8BkAEsAv8BggETAv8BfQEIAv8BegEEAv8BeQECAv8BegEEAv8BfQEJAv8B
|
||||
gAEPAv8BfwENAf8B+AGGASAB/wNoAfQDWAG4BP8B1wGxAVIB/wGaAY8BdAH/AaABkgFtAf8B4AGvATcB
|
||||
/wHnAakBEAH/AesB1QGgAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOTAf8DPAFkA18B
|
||||
yQN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN9AfoDVQGqBAAD
|
||||
MwFRA2gB8AHzAcYBWAH/AfoB5wG4Fv8B/gH7Af8B+QHiAaoB/wHvAbgBLQH/A04BlgQCBAADPAFmA2MB
|
||||
1QN8AfgB/wG+AYUC/wGqAV8C/wGZAT4C/wGNAScC/wGGARoC/wGDARUC/wGFARkC/wGKASIC/wGNASgC
|
||||
/wGTATMB/wJuAWgB9QNdAcUDNgFZBP8B9AHNAWwB/wH0AcsBZgH/AfQBywFlAf8B9AHLAWUB/wHxAcEB
|
||||
SQH/AfkB4wGsAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOaAf8DBgEIAzEBTANQAZsD
|
||||
ZQHsA30B+gOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A2oB7QNQAZsDLwFJCAADIgExA18B
|
||||
yQJ9AWcB+gHzAcoBZQH/AfkB4QGmAf8B+wHtAcwB/wH7AewByAH/AfgB3QGbAf8DgAH+AmUBXgHiAz0B
|
||||
aAQBDAADQgFyA2MB1QNqAfkB/wHJAZkC/wG8AX8C/wGuAWYC/wGkAVMC/wGfAUoC/wGfAUsC/wGjAVEC
|
||||
/wGnAVgB/wN8AfgDXQHHAzsBYgQAQP8IAAMFAQYDEgEXAzoBYANRAZ8DXwHTA2cB7wNjAfYDYgHuA14B
|
||||
0gNRAZ4DOQFfAxEBFgMFAQYUAAMPARMDRwGCA2QB2wJ+AW8B/ANnAeoDVAGoAygBOxwAAzwBZQNeAdIB
|
||||
/wHvAeAC/wHcAbwC/wHNAZ8C/wHBAYoC/wG7AX8C/wG/AYYC/wHNAaEC/wHpAdYB/wNcAcQDNQFVCAAB
|
||||
QgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4UAAf8B/AHAAQMEAAH/AfwBgAEBBAAB
|
||||
/wH5BgAB/wH5BgAB8AETBgABwAEDBAAC/wGAAQEEAAHAAQEBgAEBBAABgAIAAQEHAAEBBwABAQcAAQEH
|
||||
AAEBBgABgAEBBgABwAEDAYABAQIAAcABAQHwAR8BwAEDCw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ctxmChangeStatus.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
||||
12
qtc-net-client-2/Properties/Resources.Designer.cs
generated
12
qtc-net-client-2/Properties/Resources.Designer.cs
generated
@ -81,7 +81,7 @@ namespace qtc_net_client_2.Properties {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 6.5.6.
|
||||
/// Looks up a localized string similar to 6.5.
|
||||
/// </summary>
|
||||
internal static string AssemblyVersion {
|
||||
get {
|
||||
@ -269,16 +269,6 @@ namespace qtc_net_client_2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap RoomsChatIcon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("RoomsChatIcon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
||||
@ -173,7 +173,7 @@
|
||||
<value>..\Icons\MessageIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="AssemblyVersion" xml:space="preserve">
|
||||
<value>6.5.6</value>
|
||||
<value>6.5</value>
|
||||
</data>
|
||||
<data name="cobalt_sittingatputer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\cobalt_sittingatputer.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@ -193,7 +193,4 @@
|
||||
<data name="DefaultPfp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\DefaultPfp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="RoomsChatIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\RoomsChatIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -19,24 +19,15 @@ namespace qtc_net_client_2.Services
|
||||
if (Debugger.IsAttached) return;
|
||||
|
||||
// get client update info
|
||||
HttpClient client = new()
|
||||
{
|
||||
BaseAddress = new Uri("https://qtcclient.alanmoon.net")
|
||||
};
|
||||
HttpClient client = new();
|
||||
client.BaseAddress = new Uri("https://qtcclient.alanmoon.net");
|
||||
|
||||
try
|
||||
{
|
||||
ClientUpdateInfo? updateInfo = await client.GetFromJsonAsync<ClientUpdateInfo>("clientinfo.json");
|
||||
if (updateInfo != null)
|
||||
{
|
||||
var serverVersion = Version.Parse(updateInfo.Version);
|
||||
var clientVersion = Version.Parse(Resources.AssemblyVersion);
|
||||
|
||||
int relativeComparison = clientVersion.CompareTo(serverVersion);
|
||||
|
||||
if (relativeComparison > 0) return; // probably a version being developed or tested without a debugger, so don't do anything
|
||||
|
||||
if (relativeComparison < 0)
|
||||
if (updateInfo.Version != Resources.AssemblyVersion)
|
||||
{
|
||||
// inform the user an update is available
|
||||
if (!updateInfo.IsUpdateMandatory)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user