From f98e5a490cb48cd619b166ad72904efe38df04a5 Mon Sep 17 00:00:00 2001 From: AlanMoonbase Date: Tue, 15 Jul 2025 14:04:46 -0700 Subject: [PATCH] Implement Extra Logging To Diagnose Status Issues Better Connection Error Handling --- .../Services/GatewayService/GatewayService.cs | 65 +- QtCNETAPI/Services/LoggingService.cs | 33 +- .../Forms/ConnectionClosed.Designer.cs | 21 +- qtc-net-client-2/Forms/ConnectionClosed.cs | 11 +- qtc-net-client-2/Forms/Main.Designer.cs | 17 +- qtc-net-client-2/Forms/Main.cs | 37 +- qtc-net-client-2/Forms/Main.resx | 584 +++++++++--------- qtc-net-client-2/Program.cs | 2 +- 8 files changed, 410 insertions(+), 360 deletions(-) diff --git a/QtCNETAPI/Services/GatewayService/GatewayService.cs b/QtCNETAPI/Services/GatewayService/GatewayService.cs index 53481e9..f3eaae4 100644 --- a/QtCNETAPI/Services/GatewayService/GatewayService.cs +++ b/QtCNETAPI/Services/GatewayService/GatewayService.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.SignalR.Client; +using Microsoft.Extensions.Logging; using QtCNETAPI.Dtos.User; using QtCNETAPI.Events; using QtCNETAPI.Models; @@ -6,37 +7,32 @@ using QtCNETAPI.Services.ApiService; namespace QtCNETAPI.Services.GatewayService { - public class GatewayService : IGatewayService, IAsyncDisposable + public class GatewayService(string GWUrl, IApiService apiService, LoggingService loggingService) : IGatewayService, IAsyncDisposable { - internal string gwBaseUri = "127.0.0.1"; + internal string gwBaseUri = GWUrl; public Room? CurrentRoom { get; private set; } public bool InLobby { get; private set; } public HubConnection? HubConnection { get; private set; } - public event EventHandler OnRoomMessageReceived; - public event EventHandler OnRoomUserListReceived; - 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; - public event EventHandler OnServerConfigReceived; - public event EventHandler OnServerDisconnect; - public event EventHandler OnServerReconnecting; - public event EventHandler OnServerReconnected; - public event EventHandler OnUserForceLogout; + public event EventHandler? OnRoomMessageReceived; + public event EventHandler? OnRoomUserListReceived; + 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; + public event EventHandler? OnServerConfigReceived; + public event EventHandler? OnServerDisconnect; + public event EventHandler? OnServerReconnecting; + public event EventHandler? OnServerReconnected; + public event EventHandler? OnUserForceLogout; - private IApiService _apiService; - - public GatewayService(string GWUrl, IApiService apiService) - { - gwBaseUri = GWUrl; - _apiService = apiService; - } + private IApiService _apiService = apiService; + private LoggingService _loggingService = loggingService; public async Task StartAsync() { @@ -46,6 +42,13 @@ namespace QtCNETAPI.Services.GatewayService // build connection var gwConBuilder = new HubConnectionBuilder() .WithAutomaticReconnect() + .ConfigureLogging((builder) => + { + builder.AddProvider(new LoggingServiceProvider(_loggingService)); + + if (System.Diagnostics.Debugger.IsAttached) builder.SetMinimumLevel(LogLevel.Debug); + else builder.SetMinimumLevel(LogLevel.Error); + }) .WithUrl(gwBaseUri, options => { options.AccessTokenProvider = () => Task.FromResult(_apiService.SessionToken); @@ -70,7 +73,18 @@ namespace QtCNETAPI.Services.GatewayService HubConnection.Reconnected += HubConnection_Reconnected; // start connection - await HubConnection.StartAsync(); + try + { + await HubConnection.StartAsync(); + } + catch (HttpRequestException ex) + { + _loggingService.LogString($"Unable To Connect To SignalR.\n{ex.Message}\n{ex.StackTrace}"); + return; + } + + // ensure current user is up to date (particularly status) + await _apiService.SetCurrentUser(); } public async Task StopAsync() @@ -180,6 +194,9 @@ namespace QtCNETAPI.Services.GatewayService // anything that changes the user should tell the api service to set it again await _apiService.SetCurrentUser(); + + if (System.Diagnostics.Debugger.IsAttached) + _loggingService.LogString($"Status Changed To {_apiService.CurrentUser.Status}"); } diff --git a/QtCNETAPI/Services/LoggingService.cs b/QtCNETAPI/Services/LoggingService.cs index 30d5155..4ae7c88 100644 --- a/QtCNETAPI/Services/LoggingService.cs +++ b/QtCNETAPI/Services/LoggingService.cs @@ -5,10 +5,12 @@ using System.Text; using System.Threading.Tasks; using System.Diagnostics; using System.Text.Json; +using Microsoft.Extensions.Logging; +using Microsoft.IdentityModel.Abstractions; namespace QtCNETAPI.Services { - public class LoggingService : IDisposable + public class LoggingService : IDisposable, ILogger { private DateTime LogDate { get; set; } private string LogFilePath { get; set; } @@ -58,5 +60,34 @@ namespace QtCNETAPI.Services LogFile.Close(); LogFile.Dispose(); } + + public void Log(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func formatter) + { + try + { + // format message + string message = $"({DateTime.Now.ToLocalTime():hh:mm}) [{logLevel}] {formatter(state, exception)}"; + + // log it + Debug.WriteLine(message); + LogFile.WriteLine(message); + } catch (ObjectDisposedException) + { + } + } + + public bool IsEnabled(LogLevel logLevel) => true; + public IDisposable? BeginScope(TState state) where TState : notnull => default!; + } + + public class LoggingServiceProvider(LoggingService? loggingService = null) : ILoggerProvider + { + public ILogger CreateLogger(string categoryName) + { + if (loggingService != null) return loggingService; + else return new LoggingService(); + } + + public void Dispose() { } } } diff --git a/qtc-net-client-2/Forms/ConnectionClosed.Designer.cs b/qtc-net-client-2/Forms/ConnectionClosed.Designer.cs index 7797a2f..5309a94 100644 --- a/qtc-net-client-2/Forms/ConnectionClosed.Designer.cs +++ b/qtc-net-client-2/Forms/ConnectionClosed.Designer.cs @@ -31,18 +31,17 @@ lblHead = new Label(); btnReconnect = new Button(); btnQuit = new Button(); - lblReason = new Label(); SuspendLayout(); // // lblHead // - lblHead.AutoSize = true; lblHead.Font = new Font("Segoe UI", 11F, FontStyle.Bold); lblHead.Location = new Point(12, 9); lblHead.Name = "lblHead"; lblHead.Size = new Size(444, 20); lblHead.TabIndex = 0; lblHead.Text = "Your Connection To The QtC.NET Server Was Lost. What Now?"; + lblHead.TextAlign = ContentAlignment.MiddleCenter; // // btnReconnect // @@ -66,23 +65,12 @@ btnQuit.UseVisualStyleBackColor = true; btnQuit.Click += btnQuit_Click; // - // lblReason - // - lblReason.AutoSize = true; - lblReason.Font = new Font("Segoe UI", 5F, FontStyle.Bold); - lblReason.Location = new Point(88, 40); - lblReason.Name = "lblReason"; - lblReason.Size = new Size(72, 10); - lblReason.TabIndex = 3; - lblReason.Text = "Reason: ${REASON}"; - // - // frmConnectionClosed + // ConnectionClosed // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; BackColor = Color.DodgerBlue; ClientSize = new Size(463, 65); - Controls.Add(lblReason); Controls.Add(btnQuit); Controls.Add(btnReconnect); Controls.Add(lblHead); @@ -92,12 +80,10 @@ Margin = new Padding(4, 3, 4, 3); MaximizeBox = false; MinimizeBox = false; - Name = "frmConnectionClosed"; + Name = "ConnectionClosed"; StartPosition = FormStartPosition.CenterScreen; Text = "QtC.NET Client - Connection Lost"; - Load += frmConnectionClosed_Load; ResumeLayout(false); - PerformLayout(); } #endregion @@ -105,6 +91,5 @@ private Label lblHead; private Button btnReconnect; private Button btnQuit; - private Label lblReason; } } \ No newline at end of file diff --git a/qtc-net-client-2/Forms/ConnectionClosed.cs b/qtc-net-client-2/Forms/ConnectionClosed.cs index 7b32e22..8902993 100644 --- a/qtc-net-client-2/Forms/ConnectionClosed.cs +++ b/qtc-net-client-2/Forms/ConnectionClosed.cs @@ -12,19 +12,12 @@ namespace qtc_net_client_2.Forms { public partial class ConnectionClosed : Form { - public string? Reason { get; set; } = string.Empty; - public ConnectionClosed(string? reason = "") + public Label StatusLabel { get { return lblHead; } } + public ConnectionClosed() { - Reason = reason; InitializeComponent(); } - private void frmConnectionClosed_Load(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(Reason)) lblReason.Visible = false; - else lblReason.Text = $"Reason: {Reason}"; - } - private void btnReconnect_Click(object sender, EventArgs e) { DialogResult = DialogResult.OK; diff --git a/qtc-net-client-2/Forms/Main.Designer.cs b/qtc-net-client-2/Forms/Main.Designer.cs index a8356c9..abd6f6b 100644 --- a/qtc-net-client-2/Forms/Main.Designer.cs +++ b/qtc-net-client-2/Forms/Main.Designer.cs @@ -80,6 +80,7 @@ toolStripSeparator2 = new ToolStripSeparator(); addRoomToolStripMenuItem = new ToolStripMenuItem(); deleteRoomToolStripMenuItem = new ToolStripMenuItem(); + lblConnectionLost = new Label(); tbcMain.SuspendLayout(); tbpContacts.SuspendLayout(); ctxmRefresh.SuspendLayout(); @@ -497,7 +498,7 @@ // ctxmAdminUserList.Items.AddRange(new ToolStripItem[] { refreshToolStripMenuItem1, toolStripSeparator1, copyUserIDToClipboardToolStripMenuItem, deleteUserToolStripMenuItem, adminDirectMessageToolStripMenuItem }); ctxmAdminUserList.Name = "contextMenuStrip1"; - ctxmAdminUserList.Size = new Size(213, 120); + ctxmAdminUserList.Size = new Size(213, 98); ctxmAdminUserList.Opening += ctxmAdminUserList_Opening; // // refreshToolStripMenuItem1 @@ -566,6 +567,18 @@ deleteRoomToolStripMenuItem.Text = "Delete Room"; deleteRoomToolStripMenuItem.Click += deleteRoomToolStripMenuItem_Click; // + // lblConnectionLost + // + lblConnectionLost.AutoSize = true; + lblConnectionLost.Font = new Font("Segoe UI", 6F, FontStyle.Bold); + lblConnectionLost.ForeColor = Color.Red; + lblConnectionLost.Location = new Point(12, 67); + lblConnectionLost.Name = "lblConnectionLost"; + lblConnectionLost.Size = new Size(175, 11); + lblConnectionLost.TabIndex = 15; + lblConnectionLost.Text = "Server Connection Lost. Trying To Reconnect..."; + lblConnectionLost.Visible = false; + // // Main // AutoScaleDimensions = new SizeF(7F, 15F); @@ -577,6 +590,7 @@ Controls.Add(pCurrencyArea); Controls.Add(lblRequestNotif); Controls.Add(tbcMain); + Controls.Add(lblConnectionLost); FormBorderStyle = FormBorderStyle.FixedDialog; Icon = (Icon)resources.GetObject("$this.Icon"); MaximizeBox = false; @@ -656,5 +670,6 @@ private ToolStripSeparator toolStripSeparator2; private ToolStripMenuItem addRoomToolStripMenuItem; private ToolStripMenuItem deleteRoomToolStripMenuItem; + private Label lblConnectionLost; } } diff --git a/qtc-net-client-2/Forms/Main.cs b/qtc-net-client-2/Forms/Main.cs index 2f4adde..1f2623a 100644 --- a/qtc-net-client-2/Forms/Main.cs +++ b/qtc-net-client-2/Forms/Main.cs @@ -581,12 +581,10 @@ 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(); - // TODO - figure out server side why online status is invisible on login - _apiService.CurrentUser.Status = 1; - // set status context menu checked UserStatus cuStatus = (UserStatus)_apiService.CurrentUser.Status; switch (cuStatus) @@ -658,6 +656,9 @@ namespace qtc_net_client_2 lvUserDirectory.Items.Add(user.Username, user.Status); UserDirectory.Add(user); } + + if (System.Diagnostics.Debugger.IsAttached) + LoggingService.LogModel(userList.Data); } }); } @@ -680,6 +681,8 @@ namespace qtc_net_client_2 lbRooms.Items.Add(room.Name); } RoomList = roomsRes.Data; + if (System.Diagnostics.Debugger.IsAttached) + LoggingService.LogModel(roomsRes.Data); } // always add lobby room to rooms list @@ -761,6 +764,9 @@ namespace qtc_net_client_2 } } } + + if (System.Diagnostics.Debugger.IsAttached) + LoggingService.LogModel(contactsRes.Data); } }); } @@ -850,9 +856,9 @@ namespace qtc_net_client_2 await _gatewayService.StartAsync(); if (_gatewayService.HubConnection != null && _gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected) - { BeginInvoke(delegate () { Enabled = true; }); return; } + { BeginInvoke(delegate () { tbcMain.Enabled = true; lblConnectionLost.Visible = false; }); return; } - ConnectionClosed frmConnectionClosed = new ConnectionClosed(error); + ConnectionClosed frmConnectionClosed = new ConnectionClosed(); var result = frmConnectionClosed.ShowDialog(); if (result == DialogResult.OK) @@ -861,18 +867,19 @@ namespace qtc_net_client_2 Reconnect: if (_gatewayService.HubConnection != null) { - try + await _gatewayService.StopAsync(); + await _gatewayService.StartAsync(); + + if (_gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected) { - await _gatewayService.StopAsync(); - await _gatewayService.StartAsync(); - if (_gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected) - BeginInvoke(delegate () { Enabled = true; }); + Invoke(delegate () { tbcMain.Enabled = true; lblConnectionLost.Visible = false; }); } - catch (HttpRequestException ex) + else { // reshow the dialog - frmConnectionClosed.Reason = ex.Message; + frmConnectionClosed.StatusLabel.Text = "Couldn't Reconnect. The Server Could Be Down."; var result1 = frmConnectionClosed.ShowDialog(); + if (result1 == DialogResult.OK) goto Reconnect; else Environment.Exit(0); } @@ -894,7 +901,8 @@ namespace qtc_net_client_2 { Invoke(delegate () { - Enabled = false; + tbcMain.Enabled = false; + lblConnectionLost.Visible = true; }); } } @@ -907,7 +915,8 @@ namespace qtc_net_client_2 { Invoke(delegate () { - Enabled = true; + tbcMain.Enabled = true; + lblConnectionLost.Visible = false; }); } } diff --git a/qtc-net-client-2/Forms/Main.resx b/qtc-net-client-2/Forms/Main.resx index bfaacd4..1c8f44c 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 - iAEBAYgBAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD + mAEBAZgBAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD 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 @@ -197,87 +197,87 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAohMAAAJNU0Z0AUkBTAIBAQQB - AAFAAQEBQAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ + AAFQAQEBUAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B 0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD - 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 + YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDTgH+A04B/gMkAfsDUwH0A2IB + 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBKgFqASoB/gEqAWoBKgH+ASEBXgEhAfsD + UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7ASoCagH+ASoCagH+ASECXgH7A1MB + 9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wIqAWoB/gIqAWoB/gIhAV4B+wNTAfQD + YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNSAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B + 8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBKgFyASoB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB + AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBKgJyAf4B AAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMIAAMbASUD - WAG9A1oB8gIoAXAB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB - sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A0wB + WAG9A1oB8gIqAXIB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB + sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A04B /gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYBAAH/AQAB - zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/ASgBaAEoAf4DYgHuA1AB + zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/ASoBagEqAf4DYgHuA1AB mgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQACywH/AQAC - swH/AQACiAH/AQACVwH/ASgCaAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB - /wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wIoAWgB/gNiAe4DUAGaAwMB + swH/AQACiAH/AQACVwH/ASoCagH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB + /wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wIqAWoB/gNiAe4DUAGaAwMB BAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B - 3QMqAT8DLQFEAWABaQFgAegBKAGAASgB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB + 3QMqAT8DLQFEAWABaQFgAegBKgGAASoB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB +wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0DKgE/Ay0B - RAFgAmkB6AEoAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB - /wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCKAGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C + RAFgAmkB6AEqAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB + /wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCKgGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C AAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8DTgGVA3cB +AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfIDSgGLA04B - lQFaAXwBWgH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH+AQAB/wEAAfYBAAH/AQAB1QEAAf8BAAGLAQAB/wEAAUEBAAH/A1oB8gNKAYsDTgGVAVoC + 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/A1oB8gNKAYsDTgGVAloBfAH4AgAB5QH/AgAB7wH/AgAB+AH/AgAB/QH/AgAC/wIAAv8C + 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/wNBAfkDWgHEAVsBXwFbAdMBKwGDASsB + /wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOFAf8DZwH/AzQB/wNBAfkDWgHEAVsBXwFbAdMBKwF+ASsB /AEOAfsBDgH/AQMB/QEDAf8BAAH+AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB/wNBAfkDWgHEAVsCXwHTASsCgwH8AQ4C + /wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB/wNBAfkDWgHEAVsCXwHTASsCfgH8AQ4C +wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8BAAJdAf8D - QQH5A1oBxAJbAV8B0wIrAYMB/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB + QQH5A1oBxAJbAV8B0wIrAX4B/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB /QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B - /wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBTAGvAUwB/gEnAf8BJwH/AQsB + /wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBTgGrAU4B/gEnAf8BJwH/AQsB /wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AUwCrwH+AScD/wELA/8BAQP/AQAD - /wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCTAGvAf4C + /wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AU4CqwH+AScD/wELA/8BAQP/AQAD + /wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCTgGrAf4C JwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8DQAH9A2IB 4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB - /QNeAeIBSAFjAUgB9gFvAa8BbwH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB + /QNeAeIBSAFjAUgB9gFxAasBcQH+AUIB/wFCAf8BGQH/ARkB/wEEAf8BBAH/AQAB/wEAAf8BAAH/AQAB /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHkAQAB/wEAAZgBAAH/A0AB - /QNeAeIBSAJjAfYBbwKvAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B - AALkAf8BAAKYAf8DQAH9A14B4gJIAWMB9gJvAa8B/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C + /QNeAeIBSAJjAfYBcQKrAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B + AALkAf8BAAKYAf8DQAH9A14B4gJIAWMB9gJxAasB/gJCAv8CGQL/AgQC/wIAAv8CAAL/AgAC/wIAAv8C AAL/AgAC/wIAAf0B/wIAAeQB/wIAAZgB/wNAAf0DXgHiA2EB1gN+AfwDuAH/A6MB/wOTAf8DjgH/A44B - /wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBiQFkAfwBXwH/AV8B + /wOOAf8DjgH/A44B/wOOAf8DjQH/A4IB/wNcAf8DTQH6A1oBxwFcAWEBXAHWAWQBgwFkAfwBXwH/AV8B /wEvAf8BLwH/AQwB/wEMAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /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 + /wEAAf8BAAH+AQAB/wEAAeoBAAH/AQABpQEAAf8BSAFNAUgB+gNaAccBXAJhAdYBZAKDAfwBXwP/AS8D + /wEMA/8BAQP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8BSAJNAfoDWgHHAlwB + YQHWAmQBgwH8Al8C/wIvAv8CDAL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/gH/AgAB6gH/AgAB + pQH/AkgBTQH6A1oBxwNQAZoDbQH5A8UB/wOyAf8DnAH/A5EB/wOOAf8DjgH/A44B/wOOAf8DjwH/A44B + /wODAf8DYAH/A1oB8gNMAZADUAGaAWoBfwFqAfkBfAH/AXwB/wFRAf8BUQH/AR8B/wEfAf8BBwH/AQcB /wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQIB/wECAf8BAgH+AQIB/wEAAesBAAH/AQAB - rQEAAf8BWgFrAVoB8gNMAZADUAGaAWoCgQH5AXwD/wFRA/8BHwP/AQcD/wEBA/8BAAP/AQAD/wEAA/8B - AgP/AQIC/gH/AQAC6wH/AQACrQH/AVoCawHyA0wBkANQAZoCagGBAfkCfAL/AlEC/wIfAv8CBwL/AgEC + rQEAAf8BWgFrAVoB8gNMAZADUAGaAWoCfwH5AXwD/wFRA/8BHwP/AQcD/wEBA/8BAAP/AQAD/wEAA/8B + AgP/AQIC/gH/AQAC6wH/AQACrQH/AVoCawHyA0wBkANQAZoCagF/AfkCfAL/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 + qwGAAf4BfwH/AX8B/wFJAf8BSQH/AR8B/wEfAf8BDAH/AQwB/wEFAf8BBQH/AQMB/wEDAf8BBQH/AQUB + /wEKAf8BCgH/AQoB/gEKAf8BAQHtAQEB/wFAAbYBQAH9AWABZgFgAeADLQFFAy8BSQNsAesBgAKrAf4B fwP/AUkD/wEfA/8BDAP/AQUD/wEDA/8BBQP/AQoD/wEKAv4B/wEBAu0B/wFAArYB/QFgAmYB4AMtAUUD - LwFJA2wB6wKAAa8B/gJ/Av8CSQL/Ah8C/wIMAv8CBQL/AgMC/wIFAv8CCgL/AgoB/gH/AgEB7QH/AkAB + LwFJA2wB6wKAAasB/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/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 + /wIFAfMB/wJeAWgB8ANSAaMDAwEEBAADHAEnA10BxwNjAfYDiwH+A9cB/wPMAf8DwgH/A7sB/wO3Af8D + sQH/A4AB/gNoAfQDWQG8AxsBJggAAxwBJwNdAccDYwH2AYABqwGAAf4BpQH/AaUB/wGLAf8BiwH/AXQB + /wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BWgGrAVoB/gFTAWgBUwH0AVcBWQFXAbwDGwEmCAAD + HAEnA10BxwNjAfYBgAKrAf4BpQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BWgKrAf4BUwJoAfQBVwJZAbwD + GwEmCAADHAEnA10BxwNjAfYCgAGrAf4CpQL/AosC/wJ0Av8CZgL/AlwC/wJOAv8CWgGrAf4CUwFoAfQC 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 + AAMhATADWQG2A2IB7gN9AfoBrgG+Aa4B/QGfAf8BnwH/AYwB/wGMAf8BTAG+AUwB/QFoAX8BaAH5AWEB + bAFhAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B+gGuAr4B/QGfA/8BjAP/AUwCvgH9AWgCfwH5AWEC + bAHrA1UBrAMfASwQAAMhATADWQG2A2IB7gN9AfoCrgG+Af0CnwL/AowC/wJMAb4B/QJoAX8B+QJhAWwB + 6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA34B/AOBAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB + WANVAawDZgHlAX4BgwF+AfwBXwGMAV8B+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUB + fgKDAfwBXwKMAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAn4BgwH8Al8BjAH7A2UB 4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAHgAQcB 4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAVAAAYABAQGAAQEBgAEBAYAB AQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw== @@ -290,166 +290,166 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - 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 + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAKCUAAAJNU0Z0AUkBTAIBAQMB + AAEQAQIBEAECASABAAEgAQAE/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 + gwFfASEB+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 + aAFeAfABgwFfASEB+wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAwYBCAMYASEDMQFNAkwBTQGRAlgB + WgG9Al0BYQHRAlkBXAHDAlEBUwGiAz0BZwIZARoBIwMMAQ8DQAFvA1UBrQNVAa0DVQGtA1UBrQNVAa0D + VQGtA1UBrQNVAa0DVQGtA2gB8AN9AfoDVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNwAfED + fAH4A1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA1UBrQNVAa0DVQGtA0cBgZQAATsBbQECAf8BUgGMAQgB + /wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFTAY4BEAH/AQ8BGwEAAf8BIwFDAQAB/wFSAYwBEAH/AVIB + jAEQAf8BewG9ATAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB + /wEIAQoBAAH/KAADAwEEAwkBCwMiATEDOAFbAk8BTgGXAl8BXAHIAmYBXwHlAm8BUQH3Ab4BRQFAAf0B + /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 + gCwAAwIBAwMLAQ4DIAEuA0MBdgJXAVUBsQJmAWAB4AJjAUgB9gFtAWoBQQH5AlEBUAGcAxIBFwwABAED + 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= @@ -462,87 +462,87 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - 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= + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAshIAAAJNU0Z0AUkBTAIBAQQB + AAEQAQMBEAEDARABAAEQAQAE/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/wKAAWIB/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== diff --git a/qtc-net-client-2/Program.cs b/qtc-net-client-2/Program.cs index 0d4b875..76f1432 100644 --- a/qtc-net-client-2/Program.cs +++ b/qtc-net-client-2/Program.cs @@ -54,7 +54,7 @@ namespace qtc_net_client_2 // instantiate new ApiService and GatewayService for this session // this will keep the gateway thread in the main thread (i think) IApiService api = new ApiService($"{clientConfig.ServerUrl}/api"); - IGatewayService gateway = new GatewayService($"{clientConfig.ServerUrl}/chat", api); + IGatewayService gateway = new GatewayService($"{clientConfig.ServerUrl}/chat", api, loggingService); // ping api var pingResult = await api.PingServerAsync();