From 0432fec3cde875b463353f15a99a070f5d889ad4 Mon Sep 17 00:00:00 2001 From: AlanMoonbase Date: Sun, 13 Jul 2025 17:27:16 -0700 Subject: [PATCH] Finish Initial Implementation Of Admin Menus Implement Logout Event Fix Own Direct Messages Not New Lining The Chat Version Bump --- QtCNETAPI/Services/ApiService/ApiService.cs | 24 + QtCNETAPI/Services/ApiService/IApiService.cs | 1 + .../Services/GatewayService/GatewayService.cs | 4 + .../GatewayService/IGatewayService.cs | 10 + qtc-net-client-2/Forms/ChatRoom.cs | 66 +- qtc-net-client-2/Forms/DirectMessage.cs | 9 +- qtc-net-client-2/Forms/Main.Designer.cs | 4 + qtc-net-client-2/Forms/Main.cs | 264 ++++---- qtc-net-client-2/Forms/Main.resx | 598 +++++++++--------- .../Properties/Resources.Designer.cs | 2 +- qtc-net-client-2/Properties/Resources.resx | 2 +- 11 files changed, 541 insertions(+), 443 deletions(-) diff --git a/QtCNETAPI/Services/ApiService/ApiService.cs b/QtCNETAPI/Services/ApiService/ApiService.cs index f40ae8d..d42d8f1 100644 --- a/QtCNETAPI/Services/ApiService/ApiService.cs +++ b/QtCNETAPI/Services/ApiService/ApiService.cs @@ -852,5 +852,29 @@ namespace QtCNETAPI.Services.ApiService return serviceResponse; } + + public async Task> DeleteUserById(string id) + { + await RefreshSessionIfInvalid(); + + var serviceResponse = new ServiceResponse(); + + if (SessionToken == null) throw new NullReferenceException("Function Was Called Before A Session Was Made."); + + var restRequest = new RestRequest("users/delete-user") + .AddHeader("Authorization", $"Bearer {SessionToken}") + .AddQueryParameter("id", id); + var response = await _client.DeleteAsync>(restRequest); + + if (response == null) { serviceResponse.Success = false; serviceResponse.Message = "API did not respond."; return serviceResponse; } + + if (response.Success) + { + serviceResponse.Success = true; + serviceResponse.Data = response.Data; + } + + return serviceResponse; + } } } diff --git a/QtCNETAPI/Services/ApiService/IApiService.cs b/QtCNETAPI/Services/ApiService/IApiService.cs index 4014c50..0e3b571 100644 --- a/QtCNETAPI/Services/ApiService/IApiService.cs +++ b/QtCNETAPI/Services/ApiService/IApiService.cs @@ -22,6 +22,7 @@ namespace QtCNETAPI.Services.ApiService public Task> PingServerAsync(); public Task>> GetOnlineUsersAsync(); public Task>> GetAllUsersAsync(); + public Task> DeleteUserById(string id); public Task> LoginAsync(UserLoginDto userLoginDto); public Task> RefreshLogin(string refreshToken); public Task> RefreshSessionIfInvalid(); diff --git a/QtCNETAPI/Services/GatewayService/GatewayService.cs b/QtCNETAPI/Services/GatewayService/GatewayService.cs index 865fff0..53481e9 100644 --- a/QtCNETAPI/Services/GatewayService/GatewayService.cs +++ b/QtCNETAPI/Services/GatewayService/GatewayService.cs @@ -20,6 +20,7 @@ namespace QtCNETAPI.Services.GatewayService public event EventHandler OnGuestUserJoin; public event EventHandler OnRefreshUserListsReceived; public event EventHandler OnRefreshRoomListReceived; + public event EventHandler OnRoomDeleted; public event EventHandler OnRefreshContactsListReceived; public event EventHandler OnClientFunctionReceived; public event EventHandler OnDirectMessageReceived; @@ -27,6 +28,7 @@ namespace QtCNETAPI.Services.GatewayService public event EventHandler OnServerDisconnect; public event EventHandler OnServerReconnecting; public event EventHandler OnServerReconnected; + public event EventHandler OnUserForceLogout; private IApiService _apiService; @@ -60,6 +62,8 @@ namespace QtCNETAPI.Services.GatewayService HubConnection.On("ReceiveServerConfig", (serverConfig) => OnServerConfigReceived?.Invoke(this, new ServerConfigEventArgs { ServerConfig = serverConfig })); HubConnection.On>("RoomUserList", (userList) => OnRoomUserListReceived?.Invoke(this, new RoomListEventArgs { UserList = userList })); HubConnection.On("GuestJoin", (username) => OnGuestUserJoin?.Invoke(this, new GuestUserJoinEventArgs { Username = username })); + HubConnection.On("RoomDeleted", () => OnRoomDeleted?.Invoke(this, EventArgs.Empty)); + HubConnection.On("ForceSignOut", () => OnUserForceLogout?.Invoke(this, EventArgs.Empty)); HubConnection.Closed += HubConnection_Closed; HubConnection.Reconnecting += HubConnection_Reconnecting; diff --git a/QtCNETAPI/Services/GatewayService/IGatewayService.cs b/QtCNETAPI/Services/GatewayService/IGatewayService.cs index 85ec9a4..71e137d 100644 --- a/QtCNETAPI/Services/GatewayService/IGatewayService.cs +++ b/QtCNETAPI/Services/GatewayService/IGatewayService.cs @@ -104,6 +104,11 @@ namespace QtCNETAPI.Services.GatewayService /// public event EventHandler OnRoomUserListReceived; + /// + /// Fires When The Room The User Is In Gets Deleted By An Admin + /// + public event EventHandler OnRoomDeleted; + /// /// Fires When A Guest User Joins Your Room /// @@ -153,5 +158,10 @@ namespace QtCNETAPI.Services.GatewayService /// When the Connection Reconnects, This Event Fires /// public event EventHandler OnServerReconnected; + + /// + /// Fires When The Current User Is Signed Out By The Server + /// + public event EventHandler OnUserForceLogout; } } diff --git a/qtc-net-client-2/Forms/ChatRoom.cs b/qtc-net-client-2/Forms/ChatRoom.cs index 30148cd..55151ef 100644 --- a/qtc-net-client-2/Forms/ChatRoom.cs +++ b/qtc-net-client-2/Forms/ChatRoom.cs @@ -1,17 +1,7 @@ using qtc_net_client_2.Services; using QtCNETAPI.Events; -using QtCNETAPI.Models; using QtCNETAPI.Services.ApiService; using QtCNETAPI.Services.GatewayService; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; namespace qtc_net_client_2.Forms { @@ -33,6 +23,7 @@ namespace qtc_net_client_2.Forms // subscribe to server message event _gatewayService.OnRoomMessageReceived += _gatewayService_OnServerMessageReceived; _gatewayService.OnRoomUserListReceived += _gatewayService_OnRoomUserListReceived; + _gatewayService.OnRoomDeleted += _gatewayService_OnRoomDeleted; _gatewayService.OnGuestUserJoin += _gatewayService_OnGuestUserJoin; if (_gatewayService.CurrentRoom != null) { Text = $"QtC.NET Client - Chat Room - {_gatewayService.CurrentRoom.Name}"; lblRoomName.Text = _gatewayService.CurrentRoom.Name; } @@ -94,13 +85,16 @@ namespace qtc_net_client_2.Forms { // get user info and open profile dialog var user = mainForm.UserDirectory.FirstOrDefault(e => e.Username == selectedUser); - var res = await _apiService.GetUserInformationAsync(user!.Id); - var pfpRes = await _apiService.GetUserProfilePic(user!.Id); - - if (res.Data != null && res.Success) + if (user != null) { - Profile frmProfile = new Profile(res.Data, pfpRes, mainForm.Contacts, _apiService, _gatewayService); - frmProfile.Show(); + var res = await _apiService.GetUserInformationAsync(user.Id); + var pfpRes = await _apiService.GetUserProfilePic(user.Id); + + if (res.Data != null && res.Success) + { + Profile frmProfile = new Profile(res.Data, pfpRes, mainForm.Contacts, _apiService, _gatewayService); + frmProfile.Show(); + } } } } @@ -119,12 +113,16 @@ namespace qtc_net_client_2.Forms { var args = (RoomListEventArgs)e; - if (!IsHandleCreated) return; - - lvUserList.BeginInvoke(lvUserList.Clear); - foreach (var user in args.UserList) + if (IsHandleCreated && !IsDisposed) { - lvUserList.BeginInvoke(delegate () { lvUserList.Items.Add(user.Username, user.Status); }); + Invoke(delegate () + { + lvUserList.Clear(); + foreach (var user in args.UserList) + { + lvUserList.Items.Add(user.Username, user.Status); + } + }); } } private void _gatewayService_OnGuestUserJoin(object? sender, EventArgs e) @@ -133,12 +131,32 @@ namespace qtc_net_client_2.Forms AddMessage($"[SERVER] Guest User {args.Username} Has Joined {_gatewayService.CurrentRoom?.Name}"); } + private void _gatewayService_OnRoomDeleted(object? sender, EventArgs e) + { + if(IsHandleCreated && !IsDisposed) + { + Invoke(delegate () + { + AddMessage($"[SERVER] This Room Was Deleted By An Admin."); + lvUserList.Clear(); + + lvUserList.Enabled = false; + rtxtChatbox.Enabled = false; + btnSend.Enabled = false; + }); + } + } + private void AddMessage(string message) { - if (InvokeRequired) - Invoke(delegate { rtxtChat.AppendText(message + Environment.NewLine); }); - else rtxtChat.AppendText(message + Environment.NewLine); + if(IsHandleCreated && !IsDisposed) + { + Invoke(delegate () + { + rtxtChat.AppendText(message + Environment.NewLine); + }); + } } } } diff --git a/qtc-net-client-2/Forms/DirectMessage.cs b/qtc-net-client-2/Forms/DirectMessage.cs index 8ddd7f5..3642263 100644 --- a/qtc-net-client-2/Forms/DirectMessage.cs +++ b/qtc-net-client-2/Forms/DirectMessage.cs @@ -42,6 +42,11 @@ namespace qtc_net_client_2.Forms Text = $"QtC.NET Client - Direct Message With {User.Username}"; Messages.CollectionChanged += Messages_CollectionChanged; + if (User.Role == "Admin") + { + Messages.Add($"[SERVER] This User Is A Server Admin. You should comply with anything this user asks. however admins should not ask for personal information.\n"); + } + if (InitMessage != null) { Messages.Add($"[{User.Username}] {InitMessage.Content}\n"); @@ -58,7 +63,7 @@ namespace qtc_net_client_2.Forms if (!string.IsNullOrEmpty(rtxtChatbox.Text)) { await _gatewayService.SendDirectMessageAsync(User, new QtCNETAPI.Models.Message { Content = rtxtChatbox.Text, AuthorId = _apiService.CurrentUser.Id }); - Messages.Add($"[{_apiService.CurrentUser.Username}] {rtxtChatbox.Text}"); + Messages.Add($"[{_apiService.CurrentUser.Username}] {rtxtChatbox.Text}\n"); rtxtChatbox.Clear(); AudioService.PlaySoundEffect("sndSendClick"); } @@ -69,7 +74,7 @@ namespace qtc_net_client_2.Forms if (!string.IsNullOrEmpty(rtxtChatbox.Text)) { await _gatewayService.SendDirectMessageAsync(User, new QtCNETAPI.Models.Message { Content = rtxtChatbox.Text, AuthorId = _apiService.CurrentUser.Id }); - Messages.Add($"[{_apiService.CurrentUser.Username}] {rtxtChatbox.Text}"); + Messages.Add($"[{_apiService.CurrentUser.Username}] {rtxtChatbox.Text}\n"); rtxtChatbox.Clear(); AudioService.PlaySoundEffect("sndSendClick"); } diff --git a/qtc-net-client-2/Forms/Main.Designer.cs b/qtc-net-client-2/Forms/Main.Designer.cs index 9da2851..a8356c9 100644 --- a/qtc-net-client-2/Forms/Main.Designer.cs +++ b/qtc-net-client-2/Forms/Main.Designer.cs @@ -517,18 +517,21 @@ copyUserIDToClipboardToolStripMenuItem.Name = "copyUserIDToClipboardToolStripMenuItem"; copyUserIDToClipboardToolStripMenuItem.Size = new Size(212, 22); copyUserIDToClipboardToolStripMenuItem.Text = "Copy User ID To Clipboard"; + copyUserIDToClipboardToolStripMenuItem.Click += copyUserIDToClipboardToolStripMenuItem_Click; // // deleteUserToolStripMenuItem // deleteUserToolStripMenuItem.Name = "deleteUserToolStripMenuItem"; deleteUserToolStripMenuItem.Size = new Size(212, 22); deleteUserToolStripMenuItem.Text = "Delete User"; + deleteUserToolStripMenuItem.Click += deleteUserToolStripMenuItem_Click; // // adminDirectMessageToolStripMenuItem // adminDirectMessageToolStripMenuItem.Name = "adminDirectMessageToolStripMenuItem"; adminDirectMessageToolStripMenuItem.Size = new Size(212, 22); adminDirectMessageToolStripMenuItem.Text = "Admin Direct Message"; + adminDirectMessageToolStripMenuItem.Click += adminDirectMessageToolStripMenuItem_Click; // // ctxmAdminRoomList // @@ -561,6 +564,7 @@ deleteRoomToolStripMenuItem.Name = "deleteRoomToolStripMenuItem"; deleteRoomToolStripMenuItem.Size = new Size(142, 22); deleteRoomToolStripMenuItem.Text = "Delete Room"; + deleteRoomToolStripMenuItem.Click += deleteRoomToolStripMenuItem_Click; // // Main // diff --git a/qtc-net-client-2/Forms/Main.cs b/qtc-net-client-2/Forms/Main.cs index 53a7365..bdd37a2 100644 --- a/qtc-net-client-2/Forms/Main.cs +++ b/qtc-net-client-2/Forms/Main.cs @@ -395,7 +395,7 @@ namespace qtc_net_client_2 private void ctxmAdminUserList_Opening(object sender, System.ComponentModel.CancelEventArgs e) { - if(lvUserDirectory.SelectedItems.Count > 0) + if (lvUserDirectory.SelectedItems.Count > 0) { string? lvUserDirectoryItemSelected = (string?)lvUserDirectory.SelectedItems[lvUserDirectory.SelectedItems.Count - 1].Text; if (lvUserDirectoryItemSelected != null && lvUserDirectoryItemSelected == _apiService.CurrentUser.Username) @@ -405,7 +405,8 @@ namespace qtc_net_client_2 copyUserIDToClipboardToolStripMenuItem.Enabled = true; return; } - } else + } + else { deleteUserToolStripMenuItem.Enabled = false; adminDirectMessageToolStripMenuItem.Enabled = false; @@ -418,6 +419,114 @@ namespace qtc_net_client_2 copyUserIDToClipboardToolStripMenuItem.Enabled = true; } + private void copyUserIDToClipboardToolStripMenuItem_Click(object sender, EventArgs e) + { + if (lvUserDirectory.SelectedItems.Count > 0) + { + string? itemSelected = (string?)lvUserDirectory.SelectedItems[lvUserDirectory.SelectedItems.Count - 1].Text; + if (itemSelected != null) + { + // get user + var user = UserDirectory.FirstOrDefault(e => e.Username == itemSelected); + if (user != null) + { + // clipboard requires STA apartment state + Thread thread = new(delegate () { Clipboard.SetText(user.Id); }); + thread.SetApartmentState(ApartmentState.STA); + thread.Start(); + + MessageBox.Show("Copied!"); + } + } + } + } + + 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."); + } + } + } + } + + private async void deleteUserToolStripMenuItem_Click(object sender, EventArgs e) + { + if (lvUserDirectory.SelectedItems.Count > 0) + { + string? itemSelected = (string?)lvUserDirectory.SelectedItems[lvUserDirectory.SelectedItems.Count - 1].Text; + if (itemSelected != null) + { + var dialogResult = MessageBox.Show("Are You Sure You Want To Delete This User?\n" + + "This should only be done as a last resort. You should take the proper percautions to ensure the user cannot make a new account.\n" + + "Proper moderation tools are coming soon.\n" + + "Doing this will also log out the user if they are logged in.", + "are you sure...?", + MessageBoxButtons.YesNo, + MessageBoxIcon.Warning); + + if (dialogResult == DialogResult.Yes) + { + // get the user + var user = UserDirectory.FirstOrDefault(e => e.Username == itemSelected); + if (user != null) + { + var apiResult = await _apiService.DeleteUserById(user.Id); + if (apiResult != null && apiResult.Success) + MessageBox.Show("User Deleted!"); + else + MessageBox.Show("There was an error deleting the user. Try Again?", "", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + else MessageBox.Show("This user is unknown. They may have already been deleted."); + } + } + } + } + + private async void adminDirectMessageToolStripMenuItem_Click(object sender, EventArgs e) + { + if (lvUserDirectory.SelectedItems.Count > 0) + { + string? itemSelected = (string?)lvUserDirectory.SelectedItems[lvUserDirectory.SelectedItems.Count - 1].Text; + if (itemSelected != null) + { + // get the user + var user = UserDirectory.FirstOrDefault(e => e.Username == itemSelected); + if (user != null) + { + var userDto = await _apiService.GetUserInformationAsync(user.Id); + if(userDto != null && userDto.Success && userDto.Data != null) + { + // immediately start a dm chat with the user, the user will be informed immediately if the user is an admin + DirectMessage directMessage = new DirectMessage(_gatewayService, _apiService, userDto.Data, null); + directMessage.Show(); + } + } + } + } + } + private async Task OnSuccessfulLogin() { // double check @@ -438,12 +547,14 @@ namespace qtc_net_client_2 _gatewayService.OnRefreshRoomListReceived += _gatewayService_OnRefreshRoomListReceived; _gatewayService.OnRefreshContactsListReceived += _gatewayService_OnRefreshContactsListReceived; _gatewayService.OnServerConfigReceived += _gatewayService_OnServerConfigReceived; + _gatewayService.OnUserForceLogout += _gatewayService_OnUserForceLogout; _apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate; if (_gatewayService.HubConnection != null && _gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected) { LoggingService.LogString("Connected To SignalR Succesfully."); + LoggingService.LogString("Building UI..."); // we are fully logged in, get current user profile pic and set up ui llblSignIn.Visible = false; @@ -465,6 +576,8 @@ namespace qtc_net_client_2 } } + if (lvUserDirectory.Items.Count <= 0) + await RefreshUsers(); // prevent edge case where the refresh event never gets sent to connecting client await RefreshContactsList(); await RefreshRoomsList(); @@ -509,6 +622,7 @@ namespace qtc_net_client_2 if (_apiService.CurrentUser.Role == "Admin") { + LoggingService.LogString("Current User Is An Admin. Using Admin Context Menu Strips..."); lvUserDirectory.ContextMenuStrip = ctxmAdminUserList; lbRooms.ContextMenuStrip = ctxmAdminRoomList; } @@ -522,29 +636,27 @@ namespace qtc_net_client_2 { LoggingService.LogString("Refreshing All Users List..."); - // get all users on server - var userList = await _apiService.GetAllUsersAsync(); - - if (userList != null && userList.Success && userList.Data != null) + if (IsHandleCreated && !IsDisposed) { - // clear the list - if (lvUserDirectory.InvokeRequired) lvUserDirectory.BeginInvoke(lvUserDirectory.Items.Clear); - else lvUserDirectory.Items.Clear(); - UserDirectory.Clear(); - - // populate list - foreach (var user in userList.Data) + await Invoke(async delegate () { - if (lvUserDirectory.InvokeRequired) + // get all users on server + var userList = await _apiService.GetAllUsersAsync(); + + if (userList != null && userList.Success && userList.Data != null) { - lvUserDirectory.BeginInvoke(delegate () { lvUserDirectory.Items.Add(user.Username, user.Status); }); + // clear the list + lvUserDirectory.Items.Clear(); + UserDirectory.Clear(); + + // populate list + foreach (var user in userList.Data) + { + lvUserDirectory.Items.Add(user.Username, user.Status); + UserDirectory.Add(user); + } } - else - { - lvUserDirectory.Items.Add(user.Username, user.Status); - } - UserDirectory.Add(user); - } + }); } } @@ -552,7 +664,7 @@ namespace qtc_net_client_2 { LoggingService.LogString("Refreshing Rooms List..."); - if (InvokeRequired) + if (IsHandleCreated && !IsDisposed) { await Invoke(async delegate () { @@ -570,30 +682,14 @@ namespace qtc_net_client_2 // always add lobby room to rooms list lbRooms.Items.Add("Lobby"); }); - return; } - - lbRooms.Items.Clear(); - var roomsRes = await _apiService.GetAllRoomsAsync(); - if (roomsRes.Success && roomsRes.Data != null) - { - lbRooms.Items.Clear(); - foreach (var room in roomsRes.Data) - { - lbRooms.Items.Add(room.Name); - } - RoomList = roomsRes.Data; - } - - // always add lobby room to rooms list - lbRooms.Items.Add("Lobby"); } private async Task RefreshContactsList() { LoggingService.LogString("Refreshing Contacts List..."); - if (InvokeRequired) + if (IsHandleCreated && !IsDisposed) { await Invoke(async delegate () { @@ -664,74 +760,6 @@ namespace qtc_net_client_2 } } }); - return; - } - - lvContacts.Items.Clear(); - Contacts.Clear(); - lblRequestNotif.Visible = false; - var contactsRes = await _apiService.GetCurrentUserContacts(); - if (contactsRes.Success && contactsRes.Data != null) - { - if (contactsRes.Data.Where(e => e.UserId == _apiService.CurrentUser!.Id && e.UserStatus == Contact.ContactStatus.AwaitingApprovalFromSelf).Count() >= 1) - lblRequestNotif.Visible = true; - else - lblRequestNotif.Visible = false; - - foreach (var contact in contactsRes.Data) - { - ServiceResponse 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; - } - } - } - } } } @@ -798,16 +826,9 @@ namespace qtc_net_client_2 public void RefreshCurrencyCounter() { - if (lblCurrencyAmount.InvokeRequired) + if (IsHandleCreated && !IsDisposed) { - lblCurrencyAmount.BeginInvoke(delegate () - { - lblCurrencyAmount.Text = _apiService.CurrentUser.CurrencyAmount.ToString("N0"); - }); - } - else - { - lblCurrencyAmount.Text = _apiService.CurrentUser.CurrencyAmount.ToString("N0"); + Invoke(delegate () { lblCurrencyAmount.Text = _apiService.CurrentUser.CurrencyAmount.ToString("N0"); }); } } @@ -904,6 +925,17 @@ namespace qtc_net_client_2 } } + private async void _gatewayService_OnUserForceLogout(object? sender, EventArgs e) + { + MessageBox.Show("Connection To Server Lost. You Were Logged Out.\nTry Signing In Again.\nThe Application Will Now Close.", "oops.", MessageBoxButtons.OK, MessageBoxIcon.Error); + + await _gatewayService.StopAsync(); + + if (File.Exists("./session.token")) File.Delete("./session.token"); + + Environment.Exit(0); // dont want the user to try and make a new account right away + } + private void _apiService_OnCurrentUserUpdate(object? sender, EventArgs e) { lblWelcome.Text = $"Welcome, {_apiService.CurrentUser.Username}"; diff --git a/qtc-net-client-2/Forms/Main.resx b/qtc-net-client-2/Forms/Main.resx index 218ec5f..bfaacd4 100644 --- a/qtc-net-client-2/Forms/Main.resx +++ b/qtc-net-client-2/Forms/Main.resx @@ -128,7 +128,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA0A0AAAJNU0Z0AUkBTAMBAQAB - aAEBAWgBAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD + iAEBAYgBAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD 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 @@ -196,91 +196,91 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshMAAAJNU0Z0AUkBTAIBAQQB - AAEgAQEBIAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAohMAAAJNU0Z0AUkBTAIBAQQB + AAFAAQEBQAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B 0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD - YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDSAH+A0gB/gMkAfsDUwH0A2IB - 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBJAFkASQB/gEkAWQBJAH+ASEBXgEhAfsD - UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7ASQCZAH+ASQCZAH+ASECXgH7A1MB - 9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wIkAWQB/gIkAWQB/gIhAV4B+wNTAfQD - YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNMAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B - 8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBJAFsASQB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB - AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBJAJsAf4B + YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDTAH+A0wB/gMkAfsDUwH0A2IB + 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBKAFoASgB/gEoAWgBKAH+ASEBXgEhAfsD + UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7ASgCaAH+ASgCaAH+ASECXgH7A1MB + 9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wIoAWgB/gIoAWgB/gIhAV4B+wNTAfQD + YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNQAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B + 8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBKAFwASgB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB + AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBKAJwAf4B AAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMIAAMbASUD - WAG9A1oB8gIkAWwB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB - sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A0gB + WAG9A1oB8gIoAXAB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB + sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A0wB /gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYBAAH/AQAB - zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/ASQBZAEkAf4DYgHuA1AB + zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/ASgBaAEoAf4DYgHuA1AB mgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQACywH/AQAC - swH/AQACiAH/AQACVwH/ASQCZAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB - /wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wIkAWQB/gNiAe4DUAGaAwMB + swH/AQACiAH/AQACVwH/ASgCaAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB + /wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wIoAWgB/gNiAe4DUAGaAwMB BAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B - 3QMqAT8DLQFEAWABaQFgAegBJAGAASQB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB + 3QMqAT8DLQFEAWABaQFgAegBKAGAASgB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB +wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0DKgE/Ay0B - RAFgAmkB6AEkAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB - /wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCJAGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C + RAFgAmkB6AEoAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB + /wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCKAGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C AAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8DTgGVA3cB +AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfIDSgGLA04B - lQFTAXwBUwH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH+AQAB/wEAAfYBAAH/AQAB1QEAAf8BAAGLAQAB/wEAAUEBAAH/A1oB8gNKAYsDTgGVAVMC + lQFaAXwBWgH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB + /wEAAf8BAAH+AQAB/wEAAfYBAAH/AQAB1QEAAf8BAAGLAQAB/wEAAUEBAAH/A1oB8gNKAYsDTgGVAVoC fAH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC1QH/AQAC - iwH/AQACQQH/A1oB8gNKAYsDTgGVAlMBfAH4AgAB5QH/AgAB7wH/AgAB+AH/AgAB/QH/AgAC/wIAAv8C + iwH/AQACQQH/A1oB8gNKAYsDTgGVAloBfAH4AgAB5QH/AgAB7wH/AgAB+AH/AgAB/QH/AgAC/wIAAv8C AAL/AgAB/gH/AgAB9gH/AgAB1QH/AgABiwH/AgABQQH/A1oB8gNKAYsDXwHTA34B/AOTAf8DjgH/A40B - /wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOFAf8DZwH/AzQB/wNBAfkDWgHEAVsBXwFbAdMBKwGPASsB + /wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOFAf8DZwH/AzQB/wNBAfkDWgHEAVsBXwFbAdMBKwGDASsB /AEOAfsBDgH/AQMB/QEDAf8BAAH+AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB/wNBAfkDWgHEAVsCXwHTASsCjwH8AQ4C + /wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB/wNBAfkDWgHEAVsCXwHTASsCgwH8AQ4C +wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8BAAJdAf8D - QQH5A1oBxAJbAV8B0wIrAY8B/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB + QQH5A1oBxAJbAV8B0wIrAYMB/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB /QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B - /wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBSAG3AUgB/gEnAf8BJwH/AQsB + /wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBTAGvAUwB/gEnAf8BJwH/AQsB /wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AUgCtwH+AScD/wELA/8BAQP/AQAD - /wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCSAG3Af4C + /wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AUwCrwH+AScD/wELA/8BAQP/AQAD + /wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCTAGvAf4C JwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8DQAH9A2IB 4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB - /QNeAeIBSAFrAUgB9gFrAbcBawH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB + /QNeAeIBSAFjAUgB9gFvAa8BbwH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgBAAH/A0AB - /QNeAeIBSAJrAfYBawK3Af4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B - AALkAf8BAAKYAf8DQAH9A14B4gJIAWsB9gJrAbcB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C + /QNeAeIBSAJjAfYBbwKvAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B + AALkAf8BAAKYAf8DQAH9A14B4gJIAWMB9gJvAa8B/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C AAL/AgAC/wIAAf0B/wIAAeQB/wIAAZgB/wNAAf0DXgHiA2EB1gN+AfwDuAH/A6MB/wOTAf8DjgH/A44B - /wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBlQFkAfwBXwH/AV8B + /wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBiQFkAfwBXwH/AV8B /wEvAf8BLwH/AQwB/wEMAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH+AQAB/wEAAeoBAAH/AQABpQEAAf8BPAFNATwB+gNaAccBXAJhAdYBZAKVAfwBXwP/AS8D - /wEMA/8BAQP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8BPAJNAfoDWgHHAlwB - YQHWAmQBlQH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgAB - pQH/AjwBTQH6A1oBxwNQAZoDeQH5A8UB/wOyAf8DnAH/A5EB/wOOAf8DjgH/A44B/wOOAf8DjwH/A44B - /wODAf8DYAH/A1oB8gNMAZADUAGaAWoBhQFqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8BBwH/AQcB + /wEAAf8BAAH+AQAB/wEAAeoBAAH/AQABpQEAAf8BRAFNAUQB+gNaAccBXAJhAdYBZAKJAfwBXwP/AS8D + /wEMA/8BAQP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8BRAJNAfoDWgHHAlwB + YQHWAmQBiQH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgAB + pQH/AkQBTQH6A1oBxwNQAZoDcQH5A8UB/wOyAf8DnAH/A5EB/wOOAf8DjgH/A44B/wOOAf8DjwH/A44B + /wODAf8DYAH/A1oB8gNMAZADUAGaAWoBgQFqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8BBwH/AQcB /wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQIB/wECAf8BAgH+AQIB/wEAAesBAAH/AQAB - rQEAAf8BWgFrAVoB8gNMAZADUAGaAWoChQH5AXwD/wFRA/8BHwP/AQcD/wEBA/8BAAP/AQAD/wEAA/8B - AgP/AQIC/gH/AQAC6wH/AQACrQH/AVoCawHyA0wBkANQAZoCagGFAfkCfAL/AlEC/wIfAv8CBwL/AgEC - /wIAAv8CAAL/AgAC/wICAv8CAgH+Af8CAAHrAf8CAAGtAf8CWgFrAfIDTAGQAy8BSQNsAesDiAH+A8YB - /wOuAf8DnAH/A5MB/wOQAf8DjwH/A5AB/wOTAf8DkwH/A4UB/wNCAf0DYAHgAy0BRQMvAUkDbAHrAYAB - twGAAf4BfwH/AX8B/wFJAf8BSQH/AR8B/wEfAf8BDAH/AQwB/wEFAf8BBQH/AQMB/wEDAf8BBQH/AQUB - /wEKAf8BCgH/AQoB/gEKAf8BAQHtAQEB/wFAAbYBQAH9AWABZgFgAeADLQFFAy8BSQNsAesBgAK3Af4B + rQEAAf8BWgFrAVoB8gNMAZADUAGaAWoCgQH5AXwD/wFRA/8BHwP/AQcD/wEBA/8BAAP/AQAD/wEAA/8B + AgP/AQIC/gH/AQAC6wH/AQACrQH/AVoCawHyA0wBkANQAZoCagGBAfkCfAL/AlEC/wIfAv8CBwL/AgEC + /wIAAv8CAAL/AgAC/wICAv8CAgH+Af8CAAHrAf8CAAGtAf8CWgFrAfIDTAGQAy8BSQNsAesDgAH+A8YB + /wOuAf8DnAH/A5MB/wOQAf8DjwH/A5AB/wOTAf8DkwH/A4UB/wNAAf0DYAHgAy0BRQMvAUkDbAHrAYAB + rwGAAf4BfwH/AX8B/wFJAf8BSQH/AR8B/wEfAf8BDAH/AQwB/wEFAf8BBQH/AQMB/wEDAf8BBQH/AQUB + /wEKAf8BCgH/AQoB/gEKAf8BAQHtAQEB/wFAAbYBQAH9AWABZgFgAeADLQFFAy8BSQNsAesBgAKvAf4B fwP/AUkD/wEfA/8BDAP/AQUD/wEDA/8BBQP/AQoD/wEKAv4B/wEBAu0B/wFAArYB/QFgAmYB4AMtAUUD - LwFJA2wB6wKAAbcB/gJ/Av8CSQL/Ah8C/wIMAv8CBQL/AgMC/wIFAv8CCgL/AgoB/gH/AgEB7QH/AkAB + LwFJA2wB6wKAAa8B/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/wJeAWgB8ANSAaMDAwEEBAADHAEnA10BxwNlAfYDlwH+A9cB/wPMAf8DwgH/A7sB/wO3Af8D - sQH/A4AB/gNoAfQDWQG8AxsBJggAAxwBJwNdAccBYwFrAWMB9gGAAbcBgAH+AaUB/wGlAf8BiwH/AYsB - /wF0Af8BdAH/AWYB/wFmAf8BXAH/AVwB/wFOAf8BTgH/AVQBtwFUAf4BUwFoAVMB9AFXAVkBVwG8AxsB - JggAAxwBJwNdAccBYwJrAfYBgAK3Af4BpQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BVAK3Af4BUwJoAfQB - VwJZAbwDGwEmCAADHAEnA10BxwJjAWsB9gKAAbcB/gKlAv8CiwL/AnQC/wJmAv8CXAL/Ak4C/wJUAbcB - /gJTAWgB9AJXAVkBvAMbASYMAAMhATADWQG2A2IB7gN9AfoDvgH9A9QB/wPMAf8DvgH9A3EB+QNsAesD - VQGsAx8BLBAAAyEBMANZAbYDYgHuAX0BfgF9AfoBrgG+Aa4B/QGfAf8BnwH/AYwB/wGMAf8BUgG+AVIB - /QFoAYUBaAH5AWEBbAFhAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuAX0CfgH6Aa4CvgH9AZ8D/wGMA/8B - UgK+Af0BaAKFAfkBYQJsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuAn0BfgH6Aq4BvgH9Ap8C/wKMAv8C - UgG+Af0CaAGFAfkCYQFsAesDVQGsAx8BLBQAAwYBBwM2AVgDVQGsA2YB5QN+AfwDhwH7A2UB4gNTAacD - MwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB5QF+AZUBfgH8AV8BkgFfAfsDZQHiA1MBpwMzAVEDBgEHGAAD - BgEHAzYBWANVAawDZgHlAX4ClQH8AV8CkgH7A2UB4gNTAacDMwFRAwYBBxgAAwYBBwM2AVgDVQGsA2YB - 5QJ+AZUB/AJfAZIB+wNlAeIDUwGnAzMBUQMGAQcMAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQAB - AQYAAQEWAAP/gQAB4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwGAAQEBgAEBAYABAQGAAQFQ - AAGAAQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBws= + /wIFAfMB/wJeAWgB8ANSAaMDAwEEBAADHAEnA10BxwNjAfYDjwH+A9cB/wPMAf8DwgH/A7sB/wO3Af8D + sQH/A4AB/gNoAfQDWQG8AxsBJggAAxwBJwNdAccDYwH2AYABrwGAAf4BpQH/AaUB/wGLAf8BiwH/AXQB + /wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BWAGvAVgB/gFTAWgBUwH0AVcBWQFXAbwDGwEmCAAD + HAEnA10BxwNjAfYBgAKvAf4BpQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BWAKvAf4BUwJoAfQBVwJZAbwD + GwEmCAADHAEnA10BxwNjAfYCgAGvAf4CpQL/AosC/wJ0Av8CZgL/AlwC/wJOAv8CWAGvAf4CUwFoAfQC + VwFZAbwDGwEmDAADIQEwA1kBtgNiAe4DfQH6A74B/QPUAf8DzAH/A74B/QNqAfkDbAHrA1UBrAMfASwQ + AAMhATADWQG2A2IB7gN9AfoBrgG+Aa4B/QGfAf8BnwH/AYwB/wGMAf8BTgG+AU4B/QFoAYEBaAH5AWEB + bAFhAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B+gGuAr4B/QGfA/8BjAP/AU4CvgH9AWgCgQH5AWEC + bAHrA1UBrAMfASwQAAMhATADWQG2A2IB7gN9AfoCrgG+Af0CnwL/AowC/wJOAb4B/QJoAYEB+QJhAWwB + 6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA34B/AODAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB + WANVAawDZgHlAX4BiQF+AfwBXwGOAV8B+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUB + fgKJAfwBXwKOAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAn4BiQH8Al8BjgH7A2UB + 4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAHgAQcB + 4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAVAAAYABAQGAAQEBgAEBAYAB + AQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw== @@ -290,166 +290,166 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAKCUAAAJNU0Z0AUkBTAIBAQMB - AAHgAQEB4AEBASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6 - AANcAecBCAEKAQAB/wMqAUAMAAMqAUADNgFXAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwD - PwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAI7AToBYgMzAVEDGAEhVAADUwGiA1sBwCAAA1QB - pgNZAbzwAAMhATADRgGAFAABFQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacC - YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8C - YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYAFdAc4DWQG7AlABTwGbAyoBQFQAA18B0ANiAe4g - AANhAdQDYwHp5AADWgG/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB - AAH/AQgBCgEAAf8DWgG/A1oBvwFDAXQBBwH/AUcBdwEMAf8BJQFHAQAB/wEOARkBAAH/DAACSwFKAYoC - WgFYAb0CZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoC - ZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCYwFaAekCXwFbAdMDVQGvAy4BSFQAA18B - 0ANiAe4gAANhAdQDYwHp4AABCAEKAQAB/wEQAR4BAAH/ASEBQQEAAf8BJwFLAQAB/wEmAUoBAAH/ASEB - QQEAAf8BEAEeAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEpAU4BAAH/AVoBlgEQAf8BWgGcARAB - /wFzAbYBJgH/ARgBLgEAAf8MAANJAYYCWgFYAbcCZQFgAeMCZQFgAeMCZQFgAeMCZQFgAeMCagFhAeYC - agFeAe0CaAFTAfQBfgF3ASsB/AH/AXgBAAL/AXgBAAH/Am4BWgH1AmoBYQHmAmUBYAHjAmUBYAHjAmUB - YAHjAmUBXgHiAl4BWwHNAlUBUwGqAi4BLQFGVAADXwHQA2IB7iAAA2EB1ANjAencAAEIAQoBAAH/AT0B - cQECAf8BTAGGAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BTAF/AQ8B - /wE7AWcBCAH/ASEBNAEIAf8BUwGOAQsB/wFaAZwBEAH/AXIBswEnAf8BUwGBARsB/xAAAysBQQM2AVkC - QAE/AW4CQAE/AW4CQAE/AW4CQAE/AW4DRAF7AlEBUAGfAl0BWwHFA2IB7gH/AXgBAAL/AXgBAAH/Al8B - XQHJA0UBfAJAAT8BbgJAAT8BbgJAAT8BbgM/AW0DOwFjAzMBUgMZASJUAANfAdADYgHuIAADYQHUA2MB - 6dgAARUBKQEAAf8BSgGEAQQB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B - UgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFWAZABDAH/AVoBmgEQAf8BWgGcARAB/wFyAakB - MAH/AQgBCgEAAf8BCAEKAQAB/wwAAwwBEAMRARYDFQEcAxUBHAMVARwDFQEcAyEBMAI+AT0BaQJTAVIB - pQJmAV8B5QH/AXgBAAL/AXgBAAH/AlUBUwGqAyIBMQMVARwDFQEcAxUBHAMUARsDEwEZAxABFQMHAQlU - AANfAdADYgHuIAADYQHUA2MB6dQAARYBJwECAf8BSQGAAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB - /wFSAYwBCAH/AVIBjAEIAf8BUgGMAQsB/wFSAYwBEAH/AVIBjAEQAf8BWAGSARAB/wFaAZQBEAH/AVoB - mwEQAf8BWgGcARAB/wFcAZ4BEgH/ATsBbQEDAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8IAAMFBAYE - CAEKAwgBCgMIAQoDCAEKAxcBHwI5ATgBXQNRAZ4CZQFgAeMB/wF4AQAC/wF4AQAB/wNSAaMDGAEhAwgB - CgMIAQoDCAEKAwgBCgMHAQkDBgEHAwIBA1QAA18B0ANiAe4gAANhAdQDYwHp0AADXQHfAUcBgAEDAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwB - EAH/AVIBjAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8B - WgGYARAB/wEWASoBAAH/AQgBCgEAAf8BCAEKAQAB/xwAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgB - AAH/AlEBUAGfAxIBGHAAA18B0ANiAe4gAANhAdQDYwHp0AABLAFQAQAB/wFKAYwBAAH/AVIBjAEIAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBDgH/AVUBkgEQAf8BWgGcARAB/wFaAZwB - EAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8B - WAGSARYB/wEQAR4BAAH/AQgBCgEAAf8cAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVAB - nwMSARhwAANfAdADYgHuIAADYQHUA2MB6dQAA0sBjwEzAV4BAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwB - CAH/AVIBjAEQAf8BfwHAATMB/wFfAZ4BFwH/ASABPwEAAf8BCAEKAQAB/wFSAYwBEAH/AVoBnAEQAf8B - WgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGVARcB/wFaAZQBGAH/AVoBlAEYAf8BWgGUARgB/wEIAQoB - AAH/AQgBCgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAQBAwMB - BAMGBAcBCQMHAQkDBAEFBAIEARQAAxEBFgMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEB - LwNhAdkDcAHxAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DYgHcA2oB7QMhAS8DIQEvAyEB - LwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMNARG4AAFCAXsBAAH/AVIBjAEIAf8BewHGASkB/wMzAVAE - AAMMARABOQFrAQAB/wFaAZwBEAH/AVoBnAEQAf8BXQGXARMB/wFWAZQBDAH/AVoBnAEQAf8BWgGUARgB - /wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wEpAVABAAH/AQgBCgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB - /wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAQCAwkBDAMPARQDEwEaAxIBGAMKAQ0DBAEFBAEUAANpAegD - fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D - fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D - YQHPvAABCAEKAQAB/wwAARMBIwEAAf8BWgGUARAB/wFaAZwBEAH/AZQB1gFKAf8BDQERAQIB/wExAVoB - AAH/AVoBlAESAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wFrAaUBIQH/ARABHgEAAf8Y - AAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMFAQYDHQEpAzABSgI7ATwB - ZQI7ATwBZAMoATwCFQEWAR0DBgEIFAADPAFkA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8D - TAGPA2cB6gN8AfgDTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNlAewDbgH1A0wBjwNMAY8D - TAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPAzUBVqgAA10B3wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB - /wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wMzAVADOgFgAUsBhQEHAf8BWgGUARAB/wFaAZwBEAH/ATkB - awEAAf8DCQEMARABHgEAAf8BVAGOARIB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AXMB - tAEpAf8BEAEeAQAB/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkB - DAMzAVACTAFNAZECXQFfAckCWwFdAcoDRAF6AykBPQMMARA8AANfAdADYgHuIAADYQHUA2MB6cwAAQgB - CgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB - /wEIAQoBAAH/ATMBXwECAf8BWgGUARAB/wFaAZwBEAH/Aa0B5wFjAf8BEAEeAQAB/wEIAQoBAAH/ARQB - JgEAAf8BVAGOARIB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AWMBnAEhAf8BGAEuAQAB - /xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkBCwMuAUcDSAGEAlkB - XAHDAlwBXwHLA0kBhQMuAUcDDwETPAADXwHQA2IB7iAAA2EB1ANjAenIAAEIAQoBAAH/ASsBUgEAAf8B - QQFyAQUB/wFKAYQBBgH/AUoBhAEGAf8BSgGEAQYB/wFCAXMBBgH/ASkBUAEAAf8BEAEeAQAB/wEfAToB - AAH/AVUBjwELAf8BWgGVARAB/wFaAZwBEAH/AdYB/wGMAf8BEAEeAQAB/wEYAS4BAAH/AUIBeAEDAf8B - WgGUARgB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AXMBtAEpAf8BEAEeAQAB/xgAAxIB - FwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwYBCAMkATQDPAFmA1MBpwNYAbgC - RwFIAYMDMQFNAw8BFDwAA18B0ANiAe4gAANhAdQDYwHpxAABKAFNAQAB/wFOAYgBBwH/AVIBjAEIAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwB - EAH/AVoBlAEQAf8BWgGcARAB/wFjAaUBFwH/AUIBewEAAf8BSgGEAQYB/wFSAYwBCAH/AVoBmAEUAf8B - WgGUARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFjAaUBFwH/AZQByQFNAf8EAAMQARUDGgEkAyEB - LwMRARYEAgQBAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwMBBAMTARkD - JQE2AjsBPAFkAkEBQgFyAzMBUQMhAS8DCQEMPAADXwHQA2IB7iAAA2EB1ANjAenAAAEpAU4BAgH/AVIB - jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB - /wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZUBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoB - nAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGlARcB - /wFlAaABIQH/BAADHgErAjEBMAFMAzsBYwMiATEDBwEJAwQBBQMSARgDNgFXA1ABmgNiAeEB/wF4AQAC - /wF4AQAB/wJRAVABnwMSARgcAAMHAQkDHAEnAyMBMgIZARoBIwMPARQDBAEFPAADXwHQA2IB7iAAA2EB - 1ANjAem8AANGAYABTgGIAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwB - EAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFjAZwBGAH/AWMBoQEYAf8B - YwGlARcB/wFjAaUBFwH/AXgBugEsAf8BCAEKAQAB/wQAAyQBNANFAXwCWgFYAbcDTgGUAz8BbQMoATsD - HwEsAzkBXgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADEgEXAzwBZgNKAYkDQAFvAy4B - RwMOARI8AANfAdADYgHuIAADYQHUA2MB6bwAATUBXgEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B - UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQB - EAH/AVoBlAEQAf8BWgGbARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZYBFgH/AVoBlAEYAf8B - XQGXARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFwAbMBIAH/ASsBUAEEAf8IAAMnAToCUwFRAaIB - iQFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB/wF4AQAC/wF4AQAB - /wJRAVABnwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIEATAAA18B0ANiAe4g - AANhAdQDYwHpvAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B - ZwGpARcB/wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwB - EAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFfAZgBGAH/AWMBngEYAf8B - YwGlARcB/wFrAakBHQH/ASkBUAEAAf8MAAMiATEDTgGYAm8BYAHzAmgBXgHwAmoBYQHmAloBVwHCAlUB - UwGqA1MBpwJZAVcBvAJsAWEB6wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxQBGwJDAUQBdwJWAVkB - tgJbAV4BzQJWAVgBswM/AWwDJgE4AwwBDwMCAQMIAAMCAQMDDQERAw0BEQMNAREDDQERAw0BEQMNARED - DQERAw0BEQMNAREDXwHTA2cB7wMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERA2IB1wNnAeoD - DQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDBAEFlAABSgGEAQYB/wFSAYwBCAH/AVIB - jAEIAf8BUgGMAQgB/wFSAYwBCAH/AWkBpAEeAf8BLAFQAQMB/wEIAQoBAAH/ATcBYQEHAf8BUgGMAQ4B - /wFSAYwBEAH/AX8BwQEyAf8BWwFeAVsB0wNaAb8BLwFZAQAB/wFEAXoBBQH/AVABigEIAf8BWgGcAQ4B - /wFaAZwBEAH/AVoBnAEQAf8BTwGGARAB/wFEAXQBDAH/A1oBvxAAAhoBGQEjA0QBewJdAVsBygJjAV8B - 2gJpAWAB6AJnAVkB7wJlAV0B7AJhAVwB1gJfAVsB2AJoAVMB9AH/AXgBAAL/AXgBAAH/AlEBUAGfAxIB - GBwAAw8BEwM0AVMDTQGSAl0BYQHPAl0BYQHUAlIBVAGoAkEBQgFyAyYBOAMUARsDBgEIAwIBAwNaAcID - fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D - fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D - YgHclAABSgGMAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWcBnQEnAf8BCAEKAQAB - /wEKAQ8BAAH/AUIBdwEDAf8BUgGMARAB/wFaAZwBEAH/ASUBQQEFAf8EAAM6AWABCAEKAQAB/wEIAQoB - AAH/BAADRgGAA0YBgANGAYAcAAMKAQ0DIgExAzQBVANEAXgCUQFQAZ8CYQFdAc8CagFeAe0CZQFdAewC - aAFeAfABiQFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwBTQGRAlgB - WgG9Al0BYQHRAlkBXAHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UBrQNVAa0DVQGtA1UBrQNVAa0D - VQGtA1UBrQNVAa0DVQGtA2gB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNwAfED - fAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cBgZQAATsBbQECAf8BUgGMAQgB - /wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFTAY4BEAH/AQ8BGwEAAf8BIwFDAQAB/wFSAYwBEAH/AVIB - jAEQAf8BewG9ATAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB - /wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAl8BXAHIAmYBXwHlAm8BUQH3Ab4BSwFAAf0B - /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 - gCwAAwIBAwMLAQ4DIAEuA0MBdgJXAVUBsQJmAWAB4AJjAUgB9gF5AWoBQQH5AlEBUAGcAxIBFwwABAED - DAEQAxcBHwMdASgDHQEoAwwBDwgAAw8BFAImAScBOQJHAUgBgwNiAeECXAFlAecDXgHSAj8BQAFuKAAD - XwHQA2IB7iAAA2EB1ANjAenEAAFJAYkBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B - UgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwB - EAH/AVoBnAEQAf8BWgGUARgB/wFCAXMBBgH/AQoBDgEAAf8wAAQBAwMBBAMMAQ8DHgEqAzoBYQJZAVcB - uQJjAVsB5ANiAe4CTwFOAZcDEgEXDAADAgEDAyEBLwM2AVkCQgFDAXUCQQFCAXMDHgErCAADBAEFAwwB - DwM4AVwCXQFgAc4CXQFlAewCWQFnAe8DRgF/KAADXwHQA2IB7iAAA2EB1ANjAenIAAE6AWsBAAH/AVIB - jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlAEQAf8BWgGcARAB - /wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BYwGlARcB/wEZASwBAwH/OAAD - AgEDAwgBCgMgAS0CQQFAAXECTQFMAZEDUAGaAjsBOgFiAwwBDwwAAwMBBAMrAUEDRAF6A1MBpwNVAa0D - NwFaAxgBIAMJAQsDBgEHAw0BEQM5AV8CXQFhAdECWQFnAe8CYAFvAfMCRgFHAYEoAANfAdADYgHuIAAD - YQHUA2MB6cwAASwBVQEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoB - lAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BIQFBAQAB - /0AABAIDBwEJAxAEFQEcAhYBFQEdAw8BEwMCAQMMAAMDAQQDMANLAUwBjwJbAV0BygJbAWEB3gNOAZQD - NAFTAxUBHAMNAREDHgErAkMBRAF3Al0BYwHfAmUBcAHxAloBYwHpA0QBeygAA18B0ANiAe4gAANhAdQD - YwHpyAABEgEiAQAB/wFMAYYBBgH/AVIBjAEIAf8BWgGcARAB/wFQAYoBCAH/AVIBjAEQAf8BWgGUARAB - /wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAERAf8BaQGrAR8B/wEIAQoBAAH/bAAD - AgEDAyEBLwM6AWEDVQGtAl8BYwHaA1oBvwJQAVEBnwNEAXoCQQFCAXIDSQGFAlYBVwGyAl4BagHtAmAB - ZAHbAlUBVwGxAzgBWygAA18B0ANiAe4gAANhAdQDYwHpyAABEAEeAQAB/wFIAX0BBwH/AVkBkwETAf8B - VQGIARgB/wgAASEBQQEAAf8BQgF7AQAB/wFSAYwBCAH/AVUBkQEIAf8BOQFmAQQB/wNZAe94AAMGAQgD - FwEfA0QBewJZAVwBxgJbAWMB5AJTAWgB9ANiAe4DYgHuAmUBcAHxAkgBYwH2AisBfgH8AlkBXAG+Az4B - awMkATQoAANfAdADYgHuIAADYQHUA2MB6dAAAR4BOgEAAf+cAAQCAwkBDAMqAz8BQAFuA04BlgJWAVgB - swJZAVwBwQJaAV0BxwJaAV0BxwJXAVkBuQJRAVIBpAJAAUEBcQMlATYDEwEZKAADXwHQA2IB7iAAA2EB - 1ANjAen/AHkABAEDCwEOAyYBOAM5AV4DRgF9AkoBSwGLA0oBiQM+AWsDKgE/AxcBHwMCAQMsAANTAaID - WgG/IAADVAGmA1kBu6gAAUIBTQE+BwABPgMAASgDAAGAAwABIAMAAQEBAAEBBgABAhYAA/8BAAP/AccC - AAEHAv8BzwHzAf8EAAL/Ac8BhwIAAQcC/wHPAfMB/wQAAf8B/gEAAQcCAAEHAv8BzwHzAf8EAAH/AfwB - AAEHAgABBwL/Ac8B8wH/BAAB/wH4AQABDwIAAQcC/wHPAfMB/wQAAf8B8AEAAQcCAAEHAv8BzwHzAf8E - AAH/AeABAAEDAgABBwL/Ac8B8wH/BAAB/wHAAQABAQH8AQMD/wHPAfMB/wQAAf8BwAEAAQEB/AEDA/8B - zwHzAf8EAAH/AeACAAH8AQMB4AEfCAAB/wH8ASABAAH8AQMB4AEfCAAB/wH+AeABAAH8AQMB4AEfCAAB - /wHAAgAB/AEDAeABHwH/Ac8B8wH/BAAB/wGAAgAB/AEDAeABHwH/Ac8B8wH/BAAB/wMAAfwBAwHgAR8B - /wHPAfMB/wQAAf4CAAEBAQABAwHgAR8B/wHPAfMB/wQAAfwCAAEBAQABAwH4AR8B/wHPAfMB/wQAAfgC - AAEBAQABAwH4AR8B/wHPAfMB/wQAAfgCAAEDAQABAwH4AQMB/wHPAfMB/wQAAfgCAAEHAQABAwH4AQMI - AAH4AgABDwEAAQMB+AkAAfgBAAFEAX8BAAEDAfgJAAH4AQABAQH/AYABAwH4AQAB/wHPAfMB/wQAAfgC - AAF/AYABAwH8AQAB/wHPAfMB/wQAAfwCAAF/AfABAwGBAYAB/wHPAfMB/wQAAf4CAAH/AfABAwGBAYAB - /wHPAfMB/wQAAf8CAAH/AfwBAwGAAQAB/wHPAfMB/wQAAf8BgAEBAf8B/gEDAYABAAH/Ac8B8wH/BAAB - /wEAAQMD/wGAAQAB/wHPAfMB/wQAAf8BDAEPA/8BwAEAAf8BzwHzAf8EAAH/Ad8E/wHAAQAB/wHPAfMB - /wQABv8B8AEBAf8BzwHzAf8EAAs= + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAJiUAAAJNU0Z0AUkBTAIBAQMC + AAECAQABAgEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAegAD + XAHnAQgBCgEAAf8DKgFADAADKgFAAzYBVwM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8B + bAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwCOwE6AWIDMwFRAxgBIVQAA1MBogNbAcAgAANUAaYD + WQG88AADIQEwA0YBgBQAARUBHwEEAf8BDQEVAQAB/wEIAQoBAAH/AQgBCgEAAf8MAANEAXoDUwGnAmEB + XQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEB + XQHPAmEBXQHPAmEBXQHPAmEBXQHPAmEBXQHPAmABXQHOA1kBuwJQAU8BmwMqAUBUAANfAdADYgHuIAAD + YQHUA2MB6eQAA1oBvwEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB + /wEIAQoBAAH/A1oBvwNaAb8BQwF0AQcB/wFHAXcBDAH/ASUBRwEAAf8BDgEZAQAB/wwAAksBSgGKAloB + WAG9AmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcB + XQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmcBXQHqAmMBWgHpAl8BWwHTA1UBrwMuAUhUAANfAdAD + YgHuIAADYQHUA2MB6eAAAQgBCgEAAf8BEAEeAQAB/wEhAUEBAAH/AScBSwEAAf8BJgFKAQAB/wEhAUEB + AAH/ARABHgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BKQFOAQAB/wFaAZYBEAH/AVoBnAEQAf8B + cwG2ASYB/wEYAS4BAAH/DAADSQGGAloBWAG3AmUBYAHjAmUBYAHjAmUBYAHjAmUBYAHjAmoBYQHmAmoB + XgHtAmgBUwH0AX4BdwErAfwB/wF4AQAC/wF4AQAB/wJuAVoB9QJqAWEB5gJlAWAB4wJlAWAB4wJlAWAB + 4wJlAV4B4gJeAVsBzQJVAVMBqgIuAS0BRlQAA18B0ANiAe4gAANhAdQDYwHp3AABCAEKAQAB/wE9AXEB + AgH/AUwBhgEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AUwBfwEPAf8B + OwFnAQgB/wEhATQBCAH/AVMBjgELAf8BWgGcARAB/wFyAbMBJwH/AVMBgQEbAf8QAAMrAUEDNgFZAkAB + PwFuAkABPwFuAkABPwFuAkABPwFuA0QBewJRAVABnwJdAVsBxQNiAe4B/wF4AQAC/wF4AQAB/wJfAV0B + yQNFAXwCQAE/AW4CQAE/AW4CQAE/AW4DPwFtAzsBYwMzAVIDGQEiVAADXwHQA2IB7iAAA2EB1ANjAenY + AAEVASkBAAH/AUoBhAEEAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB + jAEQAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BVgGQAQwB/wFaAZoBEAH/AVoBnAEQAf8BcgGpATAB + /wEIAQoBAAH/AQgBCgEAAf8MAAMMARADEQEWAxUBHAMVARwDFQEcAxUBHAMhATACPgE9AWkCUwFSAaUC + ZgFfAeUB/wF4AQAC/wF4AQAB/wJVAVMBqgMiATEDFQEcAxUBHAMVARwDFAEbAxMBGQMQARUDBwEJVAAD + XwHQA2IB7iAAA2EB1ANjAenUAAEWAScBAgH/AUkBgAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAELAf8BUgGMARAB/wFSAYwBEAH/AVgBkgEQAf8BWgGUARAB/wFaAZsB + EAH/AVoBnAEQAf8BXAGeARIB/wE7AW0BAwH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/CAADBQQGBAgB + CgMIAQoDCAEKAwgBCgMXAR8COQE4AV0DUQGeAmUBYAHjAf8BeAEAAv8BeAEAAf8DUgGjAxgBIQMIAQoD + CAEKAwgBCgMIAQoDBwEJAwYBBwMCAQNUAANfAdADYgHuIAADYQHUA2MB6dAAA10B3wFHAYABAwH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB + /wFSAYwBEAH/AVoBlAEQAf8BWgGUARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoB + mAEQAf8BFgEqAQAB/wEIAQoBAAH/AQgBCgEAAf8cAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB + /wJRAVABnwMSARhwAANfAdADYgHuIAADYQHUA2MB6dAAASwBUAEAAf8BSgGMAQAB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQ4B/wFVAZIBEAH/AVoBnAEQAf8BWgGcARAB + /wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVgB + kgEWAf8BEAEeAQAB/wEIAQoBAAH/HAADEgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8D + EgEYcAADXwHQA2IB7iAAA2EB1ANjAenUAANLAY8BMwFeAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB + /wFSAYwBEAH/AX8BwAEzAf8BXwGeARcB/wEgAT8BAAH/AQgBCgEAAf8BUgGMARAB/wFaAZwBEAH/AVoB + nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlQEXAf8BWgGUARgB/wFaAZQBGAH/AVoBlAEYAf8BCAEKAQAB + /wEIAQoBAAH/GAADEgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAAEAQMDAQQD + BgQHAQkDBwEJAwQBBQQCBAEUAAMRARYDIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8D + YQHZA3AB8QMhAS8DIQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DIQEvA2IB3ANqAe0DIQEvAyEBLwMhAS8D + IQEvAyEBLwMhAS8DIQEvAyEBLwMhAS8DDQERuAABQgF7AQAB/wFSAYwBCAH/AXsBxgEpAf8DMwFQBAAD + DAEQATkBawEAAf8BWgGcARAB/wFaAZwBEAH/AV0BlwETAf8BVgGUAQwB/wFaAZwBEAH/AVoBlAEYAf8B + WgGUARgB/wFjAZwBGAH/AWMBpQEXAf8BKQFQAQAB/wEIAQoBAAH/GAADEgEXAzUBVgNQAZoDYgHhAf8B + eAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAAEAgMJAQwDDwEUAxMBGgMSARgDCgENAwQBBQQBFAADaQHoA38B + /wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B + /wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A2EB + z7wAAQgBCgEAAf8MAAETASMBAAH/AVoBlAEQAf8BWgGcARAB/wGUAdYBSgH/AQ0BEQECAf8BMQFaAQAB + /wFaAZQBEgH/AVoBlAEYAf8BWgGUARgB/wFjAZwBGAH/AWMBpQEXAf8BawGlASEB/wEQAR4BAAH/GAAD + EgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAADBQEGAx0BKQMwAUoCOwE8AWUC + OwE8AWQDKAE8AhUBFgEdAwYBCBQAAzwBZANMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wB + jwNnAeoDfAH4A0wBjwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwNMAY8DZQHsA24B9QNMAY8DTAGPA0wB + jwNMAY8DTAGPA0wBjwNMAY8DTAGPA0wBjwM1AVaoAANdAd8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8B + CAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8DMwFQAzoBYAFLAYUBBwH/AVoBlAEQAf8BWgGcARAB/wE5AWsB + AAH/AwkBDAEQAR4BAAH/AVQBjgESAf8BWgGUARgB/wFjAZwBGAH/AWMBnAEYAf8BYwGlARcB/wFzAbQB + KQH/ARABHgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMJAQwD + MwFQAkwBTQGRAl0BXwHJAlsBXQHKA0QBegMpAT0DDAEQPAADXwHQA2IB7iAAA2EB1ANjAenMAAEIAQoB + AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8B + CAEKAQAB/wEzAV8BAgH/AVoBlAEQAf8BWgGcARAB/wGtAecBYwH/ARABHgEAAf8BCAEKAQAB/wEUASYB + AAH/AVQBjgESAf8BYgGbARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFjAZwBIQH/ARgBLgEAAf8Y + AAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMJAQsDLgFHA0gBhAJZAVwB + wwJcAV8BywNJAYUDLgFHAw8BEzwAA18B0ANiAe4gAANhAdQDYwHpyAABCAEKAQAB/wErAVIBAAH/AUEB + cgEFAf8BSgGEAQYB/wFKAYQBBgH/AUoBhAEGAf8BQgFzAQYB/wEpAVABAAH/ARABHgEAAf8BHwE6AQAB + /wFVAY8BCwH/AVoBlQEQAf8BWgGcARAB/wHWAf8BjAH/ARABHgEAAf8BGAEuAQAB/wFCAXgBAwH/AVoB + lAEYAf8BYgGbARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFzAbQBKQH/ARABHgEAAf8YAAMSARcD + NQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMGAQgDJAE0AzwBZgNTAacDWAG4AkcB + SAGDAzEBTQMPARQ8AANfAdADYgHuIAADYQHUA2MB6cQAASgBTQEAAf8BTgGIAQcB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB + /wFaAZQBEAH/AVoBnAEQAf8BYwGlARcB/wFCAXsBAAH/AUoBhAEGAf8BUgGMAQgB/wFaAZgBFAH/AVoB + lAEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGlARcB/wGUAckBTQH/BAADEAEVAxoBJAMhAS8D + EQEWBAIEAQMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMDAQQDEwEZAyUB + NgI7ATwBZAJBAUIBcgMzAVEDIQEvAwkBDDwAA18B0ANiAe4gAANhAdQDYwHpwAABKQFOAQIB/wFSAYwB + CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8B + UgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGVARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwB + EAH/AVoBlAEYAf8BWgGUARgB/wFjAZwBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AWMBpQEXAf8B + ZQGgASEB/wQAAx4BKwIxATABTAM7AWMDIgExAwcBCQMEAQUDEgEYAzYBVwNQAZoDYgHhAf8BeAEAAv8B + eAEAAf8CUQFQAZ8DEgEYHAADBwEJAxwBJwMjATICGQEaASMDDwEUAwQBBTwAA18B0ANiAe4gAANhAdQD + YwHpvAADRgGAAU4BiAEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlwEQAf8BWgGcARAB + /wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BYwGcARgB/wFjAaEBGAH/AWMB + pQEXAf8BYwGlARcB/wF4AboBLAH/AQgBCgEAAf8EAAMkATQDRQF8AloBWAG3A04BlAM/AW0DKAE7Ax8B + LAM5AV4DUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxIBFwM8AWYDSgGJA0ABbwMuAUcD + DgESPAADXwHQA2IB7iAAA2EB1ANjAem8AAE1AV4BBwH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB + jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB + /wFaAZQBEAH/AVoBmwEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGWARYB/wFaAZQBGAH/AV0B + lwEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BcAGzASAB/wErAVABBAH/CAADJwE6AlMBUQGiAYUB + XwEhAfsCZQFcAecCXAFaAcQCQwFCAXUDMQFNAkABPwFuAlEBUAGfAmUBYAHjAf8BeAEAAv8BeAEAAf8C + UQFQAZ8DEgEYHAADGQEiA04BlQJbAV4BzQJWAVcBsgNEAXoDHQEpAwYBCAQCBAEwAANfAdADYgHuIAAD + YQHUA2MB6bwAAUoBhAEGAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWcB + qQEXAf8BUgGMAQgB/wFKAYQBBgH/AUoBhAEGAf8BUgGMARAB/wFaAZQBEAH/AVoBlwEQAf8BWgGcARAB + /wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AVoBlAEYAf8BXwGYARgB/wFjAZ4BGAH/AWMB + pQEXAf8BawGpAR0B/wEpAVABAAH/DAADIgExA04BmAJvAWAB8wJoAV4B8AJqAWEB5gJaAVcBwgJVAVMB + qgNTAacCWQFXAbwCbAFhAesB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMUARsCQwFEAXcCVgFZAbYC + WwFeAc0CVgFYAbMDPwFsAyYBOAMMAQ8DAgEDCAADAgEDAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0B + EQMNAREDDQERA18B0wNnAe8DDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAw0BEQNiAdcDZwHqAw0B + EQMNAREDDQERAw0BEQMNAREDDQERAw0BEQMNAREDDQERAwQBBZQAAUoBhAEGAf8BUgGMAQgB/wFSAYwB + CAH/AVIBjAEIAf8BUgGMAQgB/wFpAaQBHgH/ASwBUAEDAf8BCAEKAQAB/wE3AWEBBwH/AVIBjAEOAf8B + UgGMARAB/wF/AcEBMgH/AVsBXgFbAdMDWgG/AS8BWQEAAf8BRAF6AQUB/wFQAYoBCAH/AVoBnAEOAf8B + WgGcARAB/wFaAZwBEAH/AU8BhgEQAf8BRAF0AQwB/wNaAb8QAAIaARkBIwNEAXsCXQFbAcoCYwFfAdoC + aQFgAegCZwFZAe8CZQFdAewCYQFcAdYCXwFbAdgCaAFTAfQB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgc + AAMPARMDNAFTA00BkgJdAWEBzwJdAWEB1AJSAVQBqAJBAUIBcgMmATgDFAEbAwYBCAMCAQMDWgHCA38B + /wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B + /wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A2IB + 3JQAAUoBjAEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFnAZ0BJwH/AQgBCgEAAf8B + CgEPAQAB/wFCAXcBAwH/AVIBjAEQAf8BWgGcARAB/wElAUEBBQH/BAADOgFgAQgBCgEAAf8BCAEKAQAB + /wQAA0YBgANGAYADRgGAHAADCgENAyIBMQM0AVQDRAF4AlEBUAGfAmEBXQHPAmoBXgHtAmUBXQHsAmgB + XgHwAYUBXwEhAfsB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMGAQgDGAEhAzEBTQJMAU0BkQJYAVoB + vQJdAWEB0QJZAVwBwwJRAVMBogM9AWcCGQEaASMDDAEPA0ABbwNVAa0DVQGtA1UBrQNVAa0DVQGtA1UB + rQNVAa0DVQGtA1UBrQNoAfADfQH6A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DcAHxA3wB + +ANVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNHAYGUAAE7AW0BAgH/AVIBjAEIAf8B + UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUwGOARAB/wEPARsBAAH/ASMBQwEAAf8BUgGMARAB/wFSAYwB + EAH/AXsBvQEwAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8B + CAEKAQAB/ygAAwMBBAMJAQsDIgExAzgBWwJPAU4BlwJfAVwByAJmAV8B5QJvAVEB9wG+AUcBQAH9Af8B + 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 + AAMCAQMDCwEOAyABLgNDAXYCVwFVAbECZgFgAeACYwFIAfYBcQFqAUEB+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 @@ -462,87 +462,87 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshIAAAJNU0Z0AUkBTAIBAQQB - AAHgAQIB4AECARABAAEQAQAE/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/wKAAVwB/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== + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAsBIAAAJNU0Z0AUkBTAIBAQQC + AAEDAQABAwEQAQABEAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAUADAAEgAwABAQEAASAGAAEg/wD/ + AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAiAANnAe8CZwFZAe8BZwFdAVkB7wFnAVsBWQHvAWcB + WwFZAe8BZwJZAe8BZwFkAVkB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wMHAQkD + KgE/A0UBfANZAbsDYwHfA2gB9AOAAf4DgQH/A4EB/wOBAf8DgAH+A2gB9ANjAd8DWgG6A0QBegMnATo4 + AAMzAVEDbgH1CAADNwFaA1gBuANjAd8CYwFdAd8BYgJdAd8DXQHfA10B3wFhAl0B3wNjAd8DYwHfA1UB + rAMwAUsIAAP4Af8BuQGVATwB/wGDAX0BbgH/AYQBfQFsAf8BqgGEAScB/wGsAXsBAAH/AcwBvAGUAf8D + fgH/A34B/wN+Af8DfgH/A34B/wN+Af8DfgH/A34B/wOOAf8DQwF1A10BzAN8AfgDgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wN8AfgDVAGoOAADEgEYAz8BbQQAAzsBYgNdAcUD + aAH0AZ8BZQExAf8BlwFTARcB/wGWAUsBCQH/AZMBRgEBAf8BjAFDAQMB/wF9AUABCwH/AWsBQAEaAf8B + bgFQATYB/wNoAfADWgG3AzQBVAQABP8BlwGLAW0B/wKBAYAB/wGCAYEBgAH/AZgBiAFgAf8BygGQAQAB + /wHdAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/A2oB7QN9AfoDgQH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrzQAA18B0wM9AWcE + AAM1AVUDXQHHAm4BWgH1AbgBZQEbAf8BuQFYAQIB/wHJAV8BAAH/AdgBZQEAAf8B3AFnAQAB/wHWAWQB + AAH/AcMBXAEAAf8BogFMAQAB/wF8ATsBAwH/AW4BRgEjAf8DaAHwA1oBtwMwAUoE/wGGAYQBfQH/A4EB + /wOBAf8BhwGDAXoB/wHPAZQBAAH/Ad4BzAGfAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB + /wO8Af8DYwHfA24B9QOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DVQGvNAADWgHCAzQBUwQAA1wBxAJ8AVwB+AHUAXEBGAH/AdcBZQEAAf8B5QFsAQAB/wHyAXIB + AAH/AfoBdQEAAf8B/AF2AQAB/wH6AXYBAAH/AfMBcgEAAf8B4gFrAQAB/wG9AVkBAAH/AYcBQAEAAf8B + cQFIASMB/wNoAfADVgGrBP8BiwGGAXoB/wOBAf8DgQH/AY4BhgFxAf8BzwGUAQAB/wHeAcwBnyH/A8oB + /wM2AVgDWwHAA24B9QOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A2gB + 9ANSAaQQAAMNAREDPwFsA1MBpwFcAlkBvgFYAlYBswFIAkcBgwMhATAEAANvAfMDOgFgCAAB/gHdAcEB + /wHtAYABIAH/Ae0BcQECAf8B8wFzAQAB/wH6AXYBAAH/Af4BeAEAAv8BewEIAv8BiAEnAv8BogFTAf8B + /gGBARcB/wH8AXgBBAH/AewBbwEAAf8BwQFbAQAB/wGGAUEBAwH/AXgBVgE2Af8DYwHfBP8BrAGWAWAB + /wGDAYIBfwH/AYUBggF9Af8BswGTAUQB/wHPAZQBAAH/Ad4BzAGfAf8DsAH/A7AB/wOwAf8DsAH/A7AB + /wOwAf8DsAH/A7AB/wOoAf8DAgEDAxoBIwM4AVwDVAGoA2IB1wNwAfEDgAH+A4EB/wOBAf8DgQH/A4EB + /QNoAfADYQHUA1MBpQM2AVkDGAEgCAADGgEkA1IBoAJjAUgB9gGiAXMBAAH/Aa4BfAEAAf8BsAF9AQAB + /wGoAXgBAAH/AZUBagEAAf8CgAFgAf4BXAJZAcYDVwG1AxYBHggAAf8BsgFvAf8B/QGAAREB/wH8AXcB + AQH/Af0BdwEAAv8BeAEAAv8BfwEPAv8BkgE7Av8BswGDAv8B6gHgAv8BkAE9Av8BewEKAf8B/AF3AQAB + /wHlAWwBAAH/AbEBVAEAAf8BhAFLARoB/wNjAd8E/wHZAaoBNwH/Ab4BmAE4Af8BwAGYATYB/wHcAaIB + FAH/Ac8BlAEAAf8B3gHMAZ8B/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A5MB/0QAAyAB + LQJjAVoB6QG/AYgBAAH/Ac0BlQEKAf8BsAGIAScB/wFzAWQBPwH/AU0BSwFHAf8BTgFLAUIB/wFmAVcB + MQH/AZoBdAEXAf8BpAF2AQMB/wFwAU8BAAH/A0MBdgQBBAAB/wGaAUIC/wGDARUB/wH+AXoBBAL/AXgB + AAL/AXgBAAL/AZUBPwL/AcoBrgL/AdoBxgL/Ae0B5QL/AZYBSQL/AXwBDQH/Af4BeAEAAf8B9AFzAQAB + /wHQAWIBAAH/AZoBTgEKAf8BYwJdAd8E/wHhAa4BMQH/Ab0BlwE7Af8BwAGYATUB/wHjAaUBCgH/Ac8B + lAEAAf8B3gHMAZ8B/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A68B/wgAAwIBAwMIAQoD + IQEvAzEBTgM9AWgDQwF2A0QBegNDAXUDPQFnAzEBTQMgAS4DBwEJBAIIAAJjAVoB6QHZAZoBAAH/AdoB + owEcAf8CjgGMAf8DigH/A5cB/wObAf8DkQH/A3QB/wNIAf8BQwFCAT8B/wG1AYMBBwH/AXoBVwEAAf8D + NgFYBAAB/wGVATcC/wGJAR8C/wF9AQgC/wF4AQAC/wF4AQAC/wGoAVwC/wHgAc0C/wGhAWYC/wHYAcUC + /wG5AZQC/wGHASMC/wF4AQAB/wH7AXYBAAH/AeIBagEAAf8BrwFUAQMB/wFjAl0B3wT/AbsBnQFTAf8B + iAGEAXkB/wGMAYUBdAH/AcQBmQEwAf8BzwGUAQAB/wHeAcwBnyH/A8oB/wQAAxMBGgM5AV0DWQG8A2QB + 2wNqAe0DYwH2A18B+wOBAf0DXwH7A2MB9gNlAewDYwHaA1oBugM4AVwDEwEaA0MBdgHpAacBAgH/AekB + qwESAf8B0AHKAbsB/wOsAf8DXQH/A0wB/wNLAf8DRAH/Aw8B/wOzAf8DZgH/AVQBTAE6Af8BrgF9AQQB + /wNdAcwEAAH/AaABSQL/AZIBMQL/AYEBEQL/AXkBAwL/AXgBAAL/AagBXAL/AeABzQL/AaEBZgL/AdgB + xQL/AcABnwL/AYkBJwL/AXgBAAH/Af4BeAEAAf8B7AFvAQAB/wG/AVoBAgH/AWMCXQHfBP8BlAGKAXMB + /wOBAf8DgQH/AZoBigFjAf8BzwGUAQAB/wHeAcwBnwH/A9AB/wPQAf8D0AH/A9AB/wPQAf8D0AH/A9AB + /wPQAf8DtQH/AxoBJANWAa4DaAH0A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DawHyA1IBoQJqAWEB5gHtAa0BEAH/AfQB0AF2Af8D+gH/A/oB/wN9Af8DfwH/A4AB/wOAAf8D + fgH/A4QB/wO7Af8DagH/AagBgAEcAf8CYwFIAfYEAAH/AbMBbwL/AZ4BSAL/AYgBHgL/AXwBBwL/AXgB + AAL/AZgBQwL/Ac4BtAL/AdcBwAL/AeoB4AL/AZ0BVwL/AX4BEQL/AXgBAAL/AXgBAAH/AfABcQEAAf8B + ywFkAQkB/wFjAWEBXQHfBP8BhgGDAX4B/wOBAf8DgQH/AYYBgwF7Af8BzwGUAQAB/wHeAcwBnwH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/A1cBsgNlAecDgQH/A4EB/wOBAf8DgQH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwNiAe4B7wG0ASEB/wH3AdwBlwn/A5EB + /wOIAf8DhwH/A4cB/wOBAf8DVwH/A+YB/wOjAf8BtgGRATYB/wJqAUEB+QQAAf8BzAGfAv8BrAFjAv8B + kwEzAv8BgQERAv8BeQECAv8BggEWAv8BmgFLAv8BrgF4Av8BpQFXAv8BgQEXAv8BeQEEAv8BeAEAAv8B + eAEAAf8B8AFxAQAB/wHVAXEBFwH/AmMBXQHfBP8BiwGGAXkB/wOBAf8DgQH/AY4BhgFxAf8BzwGUAQAB + /wHeAcwBnwH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DoQH/A6EB/wOhAf8DoQH/A28B8wNfAfsDgQH/A4EB + /wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwNLAY0B8AG+AT8B + /wH0Ac0BbCH/A/sB/wPQAf8B1wGnATEB/wJhAV0B0QQAAf8B6QHVAv8BvAGBAv8BpAFUAv8BjgEqAv8B + fwENAv8BeQECAv8BewEJAv8BggEdAv8BeAEAAv8BeAEAAv8BeAEBAv8BegEEAv8BegEDAf8B8wF0AQMB + /wHiAYQBMgH/A2MB3wT/AacBlAFnAf8BgwGCAX8B/wGFAYMBfgH/AbABlAFOAf8B0wGXAQIB/wHgAc4B + nwH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8DwAH/A2QB2wNoAfQDgQH/A4EB/wOBAf8D + gQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A1UBrwMHAQkDYgHuAfEBvAE7Af8B + +gHqAcIB/wPcAf8DdwH/A2gB/wNoAf8DaAH/AzIJ/wHyAd0BqQH/AeoBqQEIAf8DPgFqBAADXgHSA2oB + +QH/AbsBfQL/AaMBUgL/AZABLAL/AYIBEwL/AX0BCAL/AXoBBAL/AXkBAgL/AXoBBAL/AX0BCQL/AYAB + DwL/AX8BDQH/AfgBhgEgAf8DaAH0A1gBuAT/AdcBsQFSAf8BmgGPAXQB/wGgAZIBbQH/AeABrwE3Af8B + 5wGpARAB/wHrAdUBoAH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/AzwBZANfAckD + fQH6A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A1UBqgQAAzMB + UQNoAfAB8wHGAVgB/wH6AecBuBb/Af4B+wH/AfkB4gGqAf8B7wG4AS0B/wNOAZYEAgQAAzwBZgNjAdUD + fAH4Af8BvgGFAv8BqgFfAv8BmQE+Av8BjQEnAv8BhgEaAv8BgwEVAv8BhQEZAv8BigEiAv8BjQEoAv8B + kwEzAf8CbgFoAfUDXQHFAzYBWQT/AfQBzQFsAf8B9AHLAWYB/wH0AcsBZQH/AfQBywFlAf8B8QHBAUkB + /wH5AeMBrAH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DmgH/AwYBCAMxAUwDUAGbA2UB + 7AN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A30B+gNqAe0DUAGbAy8BSQgAAyIBMQNfAckC + fQFnAfoB8wHKAWUB/wH5AeEBpgH/AfsB7QHMAf8B+wHsAcgB/wH4Ad0BmwH/A4AB/gJlAV4B4gM9AWgE + AQwAA0IBcgNjAdUDagH5Af8ByQGZAv8BvAF/Av8BrgFmAv8BpAFTAv8BnwFKAv8BnwFLAv8BowFRAv8B + pwFYAf8DfAH4A10BxwM7AWIEAED/CAADBQEGAxIBFwM6AWADUQGfA18B0wNnAe8DYwH2A2IB7gNeAdID + UQGeAzkBXwMRARYDBQEGFAADDwETA0cBggNkAdsCfgFvAfwDZwHqA1QBqAMoATscAAM8AWUDXgHSAf8B + 7wHgAv8B3AG8Av8BzQGfAv8BwQGKAv8BuwF/Av8BvwGGAv8BzQGhAv8B6QHWAf8DXAHEAzUBVQgAAUIB + TQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+FAAH/AfwBwAEDBAAB/wH8AYABAQQAAf8B + +QYAAf8B+QYAAfABEwYAAcABAwQAAv8BgAEBBAABwAEBAYABAQQAAYACAAEBBwABAQcAAQEHAAEBBwAB + AQYAAYABAQYAAcABAwGAAQECAAHAAQEB8AEfAcABAws= diff --git a/qtc-net-client-2/Properties/Resources.Designer.cs b/qtc-net-client-2/Properties/Resources.Designer.cs index 888ad28..d8d4c67 100644 --- a/qtc-net-client-2/Properties/Resources.Designer.cs +++ b/qtc-net-client-2/Properties/Resources.Designer.cs @@ -81,7 +81,7 @@ namespace qtc_net_client_2.Properties { } /// - /// Looks up a localized string similar to 6.1. + /// Looks up a localized string similar to 6.2. /// internal static string AssemblyVersion { get { diff --git a/qtc-net-client-2/Properties/Resources.resx b/qtc-net-client-2/Properties/Resources.resx index 4546eed..6a58a4c 100644 --- a/qtc-net-client-2/Properties/Resources.resx +++ b/qtc-net-client-2/Properties/Resources.resx @@ -176,7 +176,7 @@ ..\Icons\MessageIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - 6.1 + 6.2 ..\Resources\LoginBanner.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a