diff --git a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs index 4955f93d..a17bb069 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs @@ -6,7 +6,9 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +using System; using System.Collections.Generic; +using System.Linq; using SafeExamBrowser.Settings; using SafeExamBrowser.Settings.Security; @@ -36,6 +38,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping case Keys.Security.ReconfigurationUrl: MapReconfigurationUrl(settings, value); break; + case Keys.Security.VersionRestrictions: + MapVersionRestrictions(settings, value); + break; } } @@ -133,5 +138,35 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping settings.Security.ReconfigurationUrl = url; } } + + private void MapVersionRestrictions(AppSettings settings, object value) + { + if (value is IList restrictions) + { + foreach (var restriction in restrictions.Cast()) + { + var parts = restriction.Split('.'); + var os = parts.Length > 0 ? parts[0] : default; + + if (os?.Equals("win", StringComparison.OrdinalIgnoreCase) == true) + { + var major = parts.Length > 1 ? int.Parse(parts[1]) : default; + var minor = parts.Length > 2 ? int.Parse(parts[2]) : default; + var patch = parts.Length > 3 && int.TryParse(parts[3], out _) ? int.Parse(parts[3]) : default(int?); + var build = parts.Length > 4 && int.TryParse(parts[4], out _) ? int.Parse(parts[4]) : default(int?); + + settings.Security.VersionRestrictions.Add(new VersionRestriction + { + Major = major, + Minor = minor, + Patch = patch, + Build = build, + IsMinimumRestriction = restriction.Contains("min"), + RequiresAllianceEdition = restriction.Contains("AE") + }); + } + } + } + } } } diff --git a/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs b/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs index a25dc3fc..e766e05c 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs @@ -285,6 +285,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData internal const string KioskModeDisableExplorerShell = "killExplorerShell"; internal const string QuitPasswordHash = "hashedQuitPassword"; internal const string ReconfigurationUrl = "examSessionReconfigureConfigURL"; + internal const string VersionRestrictions = "sebAllowedVersions"; } internal static class Server diff --git a/SafeExamBrowser.I18n.Contracts/TextKey.cs b/SafeExamBrowser.I18n.Contracts/TextKey.cs index fa49a2ca..831f4bd7 100644 --- a/SafeExamBrowser.I18n.Contracts/TextKey.cs +++ b/SafeExamBrowser.I18n.Contracts/TextKey.cs @@ -157,6 +157,9 @@ namespace SafeExamBrowser.I18n.Contracts MessageBox_UnexpectedConfigurationErrorTitle, MessageBox_UploadNotAllowed, MessageBox_UploadNotAllowedTitle, + MessageBox_VersionRestrictionError, + MessageBox_VersionRestrictionErrorTitle, + MessageBox_VersionRestrictionMinimum, MessageBox_VirtualMachineNotAllowed, MessageBox_VirtualMachineNotAllowedTitle, MessageBox_YesButton, @@ -202,6 +205,7 @@ namespace SafeExamBrowser.I18n.Contracts OperationStatus_TerminateShell, OperationStatus_ValidateDisplayConfiguration, OperationStatus_ValidateRemoteSessionPolicy, + OperationStatus_ValidateVersionRestrictions, OperationStatus_ValidateVirtualMachinePolicy, OperationStatus_VerifyApplicationIntegrity, OperationStatus_VerifySessionIntegrity, diff --git a/SafeExamBrowser.I18n/Data/de.xml b/SafeExamBrowser.I18n/Data/de.xml index 4718caf1..9af3685a 100644 --- a/SafeExamBrowser.I18n/Data/de.xml +++ b/SafeExamBrowser.I18n/Data/de.xml @@ -429,6 +429,15 @@ Hochladen nicht erlaubt! + + Die installierte SEB-Version %%_VERSION_%% kann nicht verwendet werden, da die ausgewählte Konfiguration die Verwendung einer bestimmten Version erfordert:%%_REQUIRED_VERSIONS_%%Bitte laden Sie die erforderliche Version von der offiziellen Website (safeexambrowser.org/download) oder aus dem Repository von SEB für Windows auf GitHub (github.com/safeexambrowser) herunter und installieren Sie diese. + + + Ungültige SEB-Version + + + SEB %%_VERSION_%% oder neuer + Dieser Computer scheint eine virtuelle Maschine zu sein. Die ausgewählte Konfiguration erlaubt es nicht, SEB in einer virtuellen Maschine auszuführen. @@ -564,6 +573,9 @@ Validiere Richtlinie für Remote-Sitzungen + + Validiere Versionsbeschränkungen + Validiere Richtlinie für virtuelle Maschinen diff --git a/SafeExamBrowser.I18n/Data/en.xml b/SafeExamBrowser.I18n/Data/en.xml index 0ac996d9..dbe59b7a 100644 --- a/SafeExamBrowser.I18n/Data/en.xml +++ b/SafeExamBrowser.I18n/Data/en.xml @@ -429,6 +429,15 @@ Uploading Not Allowed! + + The installed SEB version %%_VERSION_%% cannot be used as the selected configuration requires to use a specific version:%%_REQUIRED_VERSIONS_%%Please download and install the required version from the official website (safeexambrowser.org/download) or from the repository of SEB for Windows on GitHub (github.com/safeexambrowser). + + + Invalid SEB Version + + + SEB %%_VERSION_%% or newer + This computer appears to be a virtual machine. The selected configuration does not allow SEB to be run in a virtual machine. @@ -564,6 +573,9 @@ Validating remote session policy + + Validating version restrictions + Validating virtual machine policy diff --git a/SafeExamBrowser.I18n/Data/es.xml b/SafeExamBrowser.I18n/Data/es.xml index 8b898eb4..188a25d6 100644 --- a/SafeExamBrowser.I18n/Data/es.xml +++ b/SafeExamBrowser.I18n/Data/es.xml @@ -429,6 +429,15 @@ Uploading Not Allowed! + + La versión instalada de SEB %%_VERSION_%% no puede ser utilizada ya que la configuración seleccionada requiere utilizar una versión específica:%%_REQUIRED_VERSIONS_%%Por favor descargue e instale la versión requerida desde el sitio web oficial (safeexambrowser.org/download) o desde el repositorio de SEB para Windows en GitHub (github.com/safeexambrowser). + + + Versión SEB no válida + + + SEB %%_VERSION_%% o más reciente + Este ordenador parece ser una máquina virtual. La configuración seleccionada no permite ejecutar SEB en una máquina virtual. @@ -564,6 +573,9 @@ Validación de la política de sesión remota + + Validación de las restricciones de versión + Validación de la política de máquinas virtuales diff --git a/SafeExamBrowser.I18n/Data/fr.xml b/SafeExamBrowser.I18n/Data/fr.xml index dfcd06d1..4ff928be 100644 --- a/SafeExamBrowser.I18n/Data/fr.xml +++ b/SafeExamBrowser.I18n/Data/fr.xml @@ -429,6 +429,15 @@ Téléchargement non autorisé! + + La version SEB installée %%_VERSION_%% ne peut pas être utilisée car la configuration sélectionnée nécessite l'utilisation d'une version spécifique:%%_REQUIRED_VERSIONS_%%Veuillez télécharger et installer la version requise depuis le site officiel (safeexambrowser.org/download) ou depuis le dépôt de SEB pour Windows sur GitHub (github.com/safeexambrowser). + + + Version SEB non valide + + + SEB %%_VERSION_%% ou plus récent + Cet ordinateur semble être une machine virtuelle. La configuration sélectionnée ne permet pas à SEB de fonctionner dans une machine virtuelle. @@ -564,6 +573,9 @@ Validation de la directive sur la session à distance + + Validation des restrictions de version + Validation de la directive sur les machines virtuelles diff --git a/SafeExamBrowser.I18n/Data/it.xml b/SafeExamBrowser.I18n/Data/it.xml index 0e1b82a2..534165ee 100644 --- a/SafeExamBrowser.I18n/Data/it.xml +++ b/SafeExamBrowser.I18n/Data/it.xml @@ -429,6 +429,15 @@ Upload non consentito! + + La versione di SEB installata %%_VERSION_%% non può essere usata perché la configurazione selezionata richiede l'uso di una versione specifica:%%_REQUIRED_VERSIONS_%%Si prega di scaricare e installare la versione richiesta dal sito ufficiale (safeexambrowser.org/download) o dal repository di SEB per Windows su GitHub (github.com/safeexambrowser). + + + Versione SEB non valida + + + SEB %%_VERSION_%% o più recente + Questo computer sembra essere una macchina virtuale. La configurazione selezionata non consente l'esecuzione di SEB in una macchina virtuale. @@ -564,6 +573,9 @@ Convalida dei criteri della sessione remota + + Convalida delle restrizioni di versione + Convalida dei criteri della macchina virtuale diff --git a/SafeExamBrowser.I18n/Data/zh.xml b/SafeExamBrowser.I18n/Data/zh.xml index 71ec62be..c5b0fe4b 100644 --- a/SafeExamBrowser.I18n/Data/zh.xml +++ b/SafeExamBrowser.I18n/Data/zh.xml @@ -393,6 +393,15 @@ 不允许上传! + + 已安装的 SEB 版本 %%_VERSION_%% 不能使用,因为所选配置需要使用特定的版本:%%_REQUIRED_VERSIONS_%%请从官方网站(safeexambrowser.org/download)或 GitHub 上的 SEB for Windows 仓库(github.com/safeexambrowser)下载并安装所需的版本。 + + + 无效的 SEB 版本 + + + SEB %%_VERSION_%% 或更新的版本 + 这台电脑是一个虚拟机。所选配置不允许防作弊考试专用浏览器在虚拟机中运行。 @@ -519,6 +528,9 @@ 验证远程会话策略 + + 验证版本限制 + 验证虚拟机策略 diff --git a/SafeExamBrowser.Runtime/CompositionRoot.cs b/SafeExamBrowser.Runtime/CompositionRoot.cs index 7b3ca5bc..1cf952a3 100644 --- a/SafeExamBrowser.Runtime/CompositionRoot.cs +++ b/SafeExamBrowser.Runtime/CompositionRoot.cs @@ -95,6 +95,7 @@ namespace SafeExamBrowser.Runtime sessionOperations.Enqueue(new SessionInitializationOperation(configuration, fileSystem, logger, runtimeHost, sessionContext)); sessionOperations.Enqueue(new ConfigurationOperation(args, configuration, new FileSystem(), new HashAlgorithm(), logger, sessionContext)); sessionOperations.Enqueue(new ServerOperation(args, configuration, fileSystem, logger, sessionContext, server)); + sessionOperations.Enqueue(new VersionRestrictionOperation(logger, sessionContext, text)); sessionOperations.Enqueue(new DisclaimerOperation(logger, sessionContext)); sessionOperations.Enqueue(new RemoteSessionOperation(remoteSessionDetector, logger, sessionContext)); sessionOperations.Enqueue(new SessionIntegrityOperation(logger, registry, sessionContext)); diff --git a/SafeExamBrowser.Runtime/Operations/Events/VersionRestrictionMessageArgs.cs b/SafeExamBrowser.Runtime/Operations/Events/VersionRestrictionMessageArgs.cs new file mode 100644 index 00000000..4621cdda --- /dev/null +++ b/SafeExamBrowser.Runtime/Operations/Events/VersionRestrictionMessageArgs.cs @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2023 ETH Zürich, Educational Development and Technology (LET) + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +using SafeExamBrowser.I18n.Contracts; +using SafeExamBrowser.UserInterface.Contracts.MessageBox; + +namespace SafeExamBrowser.Runtime.Operations.Events +{ + internal class VersionRestrictionMessageArgs : MessageEventArgs + { + internal VersionRestrictionMessageArgs(string version, string requiredVersions) + { + Icon = MessageBoxIcon.Error; + Message = TextKey.MessageBox_VersionRestrictionError; + MessagePlaceholders["%%_VERSION_%%"] = version; + MessagePlaceholders["%%_REQUIRED_VERSIONS_%%"] = requiredVersions; + Title = TextKey.MessageBox_VersionRestrictionErrorTitle; + } + } +} diff --git a/SafeExamBrowser.Runtime/Operations/VersionRestrictionOperation.cs b/SafeExamBrowser.Runtime/Operations/VersionRestrictionOperation.cs new file mode 100644 index 00000000..81458a99 --- /dev/null +++ b/SafeExamBrowser.Runtime/Operations/VersionRestrictionOperation.cs @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2023 ETH Zürich, Educational Development and Technology (LET) + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +using System.Collections.Generic; +using System.Linq; +using System.Text; +using SafeExamBrowser.Core.Contracts.OperationModel; +using SafeExamBrowser.Core.Contracts.OperationModel.Events; +using SafeExamBrowser.I18n.Contracts; +using SafeExamBrowser.Logging.Contracts; +using SafeExamBrowser.Runtime.Operations.Events; +using SafeExamBrowser.Settings.Security; + +namespace SafeExamBrowser.Runtime.Operations +{ + internal class VersionRestrictionOperation : SessionOperation + { + private readonly ILogger logger; + private readonly IText text; + + private IList Restrictions => Context.Next.Settings.Security.VersionRestrictions; + + public override event ActionRequiredEventHandler ActionRequired; + public override event StatusChangedEventHandler StatusChanged; + + public VersionRestrictionOperation(ILogger logger, SessionContext context, IText text) : base(context) + { + this.logger = logger; + this.text = text; + } + + public override OperationResult Perform() + { + return ValidateRestrictions(); + } + + public override OperationResult Repeat() + { + return ValidateRestrictions(); + } + + public override OperationResult Revert() + { + return OperationResult.Success; + } + + private OperationResult ValidateRestrictions() + { + var result = OperationResult.Success; + + logger.Info("Validating version restrictions..."); + StatusChanged?.Invoke(TextKey.OperationStatus_ValidateVersionRestrictions); + + if (Restrictions.Any()) + { + var requiredVersions = $"'{string.Join("', '", Restrictions)}'"; + var version = Context.Next.AppConfig.ProgramInformationalVersion; + + if (Restrictions.Any(r => IsFulfilled(r))) + { + logger.Info($"The installed SEB version '{version}' complies with the version restrictions: {requiredVersions}."); + } + else + { + result = OperationResult.Aborted; + logger.Error($"The installed SEB version '{version}' does not comply with the version restrictions: {requiredVersions}."); + + ActionRequired?.Invoke(new VersionRestrictionMessageArgs(version, BuildRequiredVersions())); + } + } + else + { + logger.Info($"There are no version restrictions for the configuration."); + } + + return result; + } + + private bool IsFulfilled(VersionRestriction restriction) + { + var isFulfilled = true; + var (major, minor, patch, build, isAllianceEdition) = GetVersion(); + + if (restriction.IsMinimumRestriction) + { + isFulfilled &= restriction.Major <= major; + + if (restriction.Major == major) + { + isFulfilled &= restriction.Minor <= minor; + + if (restriction.Minor == minor) + { + isFulfilled &= !restriction.Patch.HasValue || restriction.Patch <= patch; + + if (restriction.Patch == patch) + { + isFulfilled &= !restriction.Build.HasValue || restriction.Build <= build; + } + } + } + + isFulfilled &= !restriction.RequiresAllianceEdition || isAllianceEdition; + } + else + { + isFulfilled &= restriction.Major == major; + isFulfilled &= restriction.Minor == minor; + isFulfilled &= !restriction.Patch.HasValue || restriction.Patch == patch; + isFulfilled &= !restriction.Build.HasValue || restriction.Build == build; + isFulfilled &= !restriction.RequiresAllianceEdition || isAllianceEdition; + } + + return isFulfilled; + } + + private (int major, int minor, int patch, int build, bool isAllianceEdition) GetVersion() + { + var parts = Context.Next.AppConfig.ProgramBuildVersion.Split('.'); + var major = int.Parse(parts[0]); + var minor = int.Parse(parts[1]); + var patch = int.Parse(parts[2]); + var build = int.Parse(parts[3]); + var isAllianceEdition = Context.Next.AppConfig.ProgramInformationalVersion.Contains("Alliance Edition"); + + return (major, minor, patch, build, isAllianceEdition); + } + + private string BuildRequiredVersions() + { + var info = new StringBuilder(); + var minimumVersionText = text.Get(TextKey.MessageBox_VersionRestrictionMinimum); + + info.AppendLine(); + info.AppendLine(); + + foreach (var restriction in Restrictions) + { + var build = restriction.Build.HasValue ? $".{restriction.Build}" : ""; + var patch = restriction.Patch.HasValue ? $".{restriction.Patch}" : ""; + var allianceEdition = restriction.RequiresAllianceEdition ? " Alliance Edition" : ""; + var version = $"{restriction.Major}.{restriction.Minor}{patch}{build}{allianceEdition}"; + + if (restriction.IsMinimumRestriction) + { + info.AppendLine(minimumVersionText.Replace("%%_VERSION_%%", version)); + } + else + { + info.AppendLine($"SEB {version}"); + } + } + + info.AppendLine(); + + return info.ToString(); + } + } +} diff --git a/SafeExamBrowser.Runtime/SafeExamBrowser.Runtime.csproj b/SafeExamBrowser.Runtime/SafeExamBrowser.Runtime.csproj index fb00365b..3e7520d4 100644 --- a/SafeExamBrowser.Runtime/SafeExamBrowser.Runtime.csproj +++ b/SafeExamBrowser.Runtime/SafeExamBrowser.Runtime.csproj @@ -107,6 +107,7 @@ + @@ -118,6 +119,7 @@ + Code diff --git a/SafeExamBrowser.Settings/SafeExamBrowser.Settings.csproj b/SafeExamBrowser.Settings/SafeExamBrowser.Settings.csproj index 7f0bf884..6fc16b9e 100644 --- a/SafeExamBrowser.Settings/SafeExamBrowser.Settings.csproj +++ b/SafeExamBrowser.Settings/SafeExamBrowser.Settings.csproj @@ -77,6 +77,7 @@ + diff --git a/SafeExamBrowser.Settings/Security/SecuritySettings.cs b/SafeExamBrowser.Settings/Security/SecuritySettings.cs index 6de3695c..f3bb9b5b 100644 --- a/SafeExamBrowser.Settings/Security/SecuritySettings.cs +++ b/SafeExamBrowser.Settings/Security/SecuritySettings.cs @@ -7,6 +7,7 @@ */ using System; +using System.Collections.Generic; namespace SafeExamBrowser.Settings.Security { @@ -51,9 +52,19 @@ namespace SafeExamBrowser.Settings.Security /// public string ReconfigurationUrl { get; set; } + /// + /// All restrictions which apply to the SEB version to be used. + /// + public IList VersionRestrictions { get; set; } + /// /// Determines whether SEB is allowed to run in a virtual machine. /// public VirtualMachinePolicy VirtualMachinePolicy { get; set; } + + public SecuritySettings() + { + VersionRestrictions = new List(); + } } } diff --git a/SafeExamBrowser.Settings/Security/VersionRestriction.cs b/SafeExamBrowser.Settings/Security/VersionRestriction.cs new file mode 100644 index 00000000..1b963309 --- /dev/null +++ b/SafeExamBrowser.Settings/Security/VersionRestriction.cs @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2023 ETH Zürich, Educational Development and Technology (LET) + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +using System; + +namespace SafeExamBrowser.Settings.Security +{ + /// + /// Defines a restriction for the SEB version to be used. + /// + [Serializable] + public class VersionRestriction + { + /// + /// The major version to be used. + /// + public int Major { get; set; } + + /// + /// The minor version to be used. + /// + public int Minor { get; set; } + + /// + /// Optionally defines the patch version to be used. + /// + public int? Patch { get; set; } + + /// + /// Optionally defines the build version to be used. + /// + public int? Build { get; set; } + + /// + /// Determines whether the restriction defines the minimum version to be used. + /// + public bool IsMinimumRestriction { get; set; } + + /// + /// Determines whether the restriction requires the usage of the Alliance Edition. + /// + public bool RequiresAllianceEdition { get; set; } + + public override string ToString() + { + return $"{Major}.{Minor}{(Patch.HasValue ? $".{Patch}" : "")}{(Build.HasValue ? $".{Build}" : "")}{(RequiresAllianceEdition ? ".AE" : "")}{(IsMinimumRestriction ? ".min" : "")}"; + } + } +} diff --git a/SebWindowsConfig/SEBSettings.cs b/SebWindowsConfig/SEBSettings.cs index 8b5541c3..9081fd9e 100644 --- a/SebWindowsConfig/SEBSettings.cs +++ b/SebWindowsConfig/SEBSettings.cs @@ -374,6 +374,7 @@ namespace SebWindowsConfig public const String KeyLockOnMessageSocketClose = "lockOnMessageSocketClose"; public const String KeyAllowChromeNotifications = "enableChromeNotifications"; public const String KeyAllowWindowsUpdate = "enableWindowsUpdate"; + public const String KeyVersionRestrictions = "sebAllowedVersions"; // Group "macOS specific settings" public const String KeyMinMacOSVersion = "minMacOSVersion"; public const String KeyEnableAppSwitcherCheck = "enableAppSwitcherCheck"; diff --git a/SebWindowsConfig/SebWindowsConfigForm.Designer.cs b/SebWindowsConfig/SebWindowsConfigForm.Designer.cs index 9db6f071..520136a6 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.Designer.cs +++ b/SebWindowsConfig/SebWindowsConfigForm.Designer.cs @@ -30,8 +30,8 @@ namespace SebWindowsConfig { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SebWindowsConfigForm)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); this.openFileDialogSebConfigFile = new System.Windows.Forms.OpenFileDialog(); this.saveFileDialogSebConfigFile = new System.Windows.Forms.SaveFileDialog(); this.imageListTabIcons = new System.Windows.Forms.ImageList(this.components); @@ -76,6 +76,10 @@ namespace SebWindowsConfig this.checkBoxInsideSebEnableEaseOfAccess = new System.Windows.Forms.CheckBox(); this.checkBoxInsideSebEnableVmWareClientShade = new System.Windows.Forms.CheckBox(); this.tabPageSecurity = new System.Windows.Forms.TabPage(); + this.groupBox20 = new System.Windows.Forms.GroupBox(); + this.label30 = new System.Windows.Forms.Label(); + this.label29 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); this.checkBoxAllowedDisplayIgnoreError = new System.Windows.Forms.CheckBox(); this.checkBoxEnforceBuiltinDisplay = new System.Windows.Forms.CheckBox(); this.groupBoxSebService = new System.Windows.Forms.GroupBox(); @@ -172,6 +176,8 @@ namespace SebWindowsConfig this.buttonRemovePermittedProcess = new System.Windows.Forms.Button(); this.buttonAddPermittedProcess = new System.Windows.Forms.Button(); this.groupBoxPermittedProcess = new System.Windows.Forms.GroupBox(); + this.textBoxPermittedProcessSignature = new System.Windows.Forms.TextBox(); + this.label27 = new System.Windows.Forms.Label(); this.textBoxPermittedProcessOriginalName = new System.Windows.Forms.TextBox(); this.PermittedProcessOriginalNameLabel = new System.Windows.Forms.Label(); this.checkBoxPermittedProcessIconInTaskbar = new System.Windows.Forms.CheckBox(); @@ -463,14 +469,14 @@ namespace SebWindowsConfig this.editDuplicateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.configureClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.applyAndStartSEBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.label27 = new System.Windows.Forms.Label(); - this.textBoxPermittedProcessSignature = new System.Windows.Forms.TextBox(); + this.versionRestrictionsTextBox = new System.Windows.Forms.TextBox(); this.tabPageHookedKeys.SuspendLayout(); this.groupBoxFunctionKeys.SuspendLayout(); this.groupBoxSpecialKeys.SuspendLayout(); this.tabPageRegistry.SuspendLayout(); this.groupBoxInsideSeb.SuspendLayout(); this.tabPageSecurity.SuspendLayout(); + this.groupBox20.SuspendLayout(); this.groupBoxSebService.SuspendLayout(); this.groupBox1.SuspendLayout(); this.groupBox10.SuspendLayout(); @@ -1115,6 +1121,7 @@ namespace SebWindowsConfig // // tabPageSecurity // + this.tabPageSecurity.Controls.Add(this.groupBox20); this.tabPageSecurity.Controls.Add(this.checkBoxAllowedDisplayIgnoreError); this.tabPageSecurity.Controls.Add(this.checkBoxEnforceBuiltinDisplay); this.tabPageSecurity.Controls.Add(this.groupBoxSebService); @@ -1137,6 +1144,50 @@ namespace SebWindowsConfig this.tabPageSecurity.TabIndex = 24; this.tabPageSecurity.Text = "Security"; this.tabPageSecurity.UseVisualStyleBackColor = true; + // + // groupBox20 + // + this.groupBox20.Controls.Add(this.versionRestrictionsTextBox); + this.groupBox20.Controls.Add(this.label30); + this.groupBox20.Controls.Add(this.label29); + this.groupBox20.Controls.Add(this.label28); + this.groupBox20.Location = new System.Drawing.Point(23, 371); + this.groupBox20.Name = "groupBox20"; + this.groupBox20.Size = new System.Drawing.Size(540, 209); + this.groupBox20.TabIndex = 109; + this.groupBox20.TabStop = false; + this.groupBox20.Text = "Version Restrictions"; + // + // label30 + // + this.label30.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label30.Location = new System.Drawing.Point(11, 81); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(515, 31); + this.label30.TabIndex = 2; + this.label30.Text = "Please enter one restriction per line, e.g. \"Win.3.4.min\" to allow all SEB for Wi" + + "ndows versions starting with 3.4 or newer, or \"Win.3.5.0.544\" to only allow SEB " + + "for Windows version 3.5.0.544."; + // + // label29 + // + this.label29.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label29.Location = new System.Drawing.Point(15, 49); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(511, 29); + this.label29.TabIndex = 1; + this.label29.Text = "OS.Major.Minor.[Patch].[Build].[AE].[min]"; + this.label29.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label28 + // + this.label28.Location = new System.Drawing.Point(12, 23); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(514, 29); + this.label28.TabIndex = 0; + this.label28.Text = "Allows to specify one or more specific SEB version(s) which are required in order" + + " to be able to use this configuration. A version restriction needs to have the f" + + "ollowing format in order to be valid:"; // // checkBoxAllowedDisplayIgnoreError // @@ -1495,7 +1546,7 @@ namespace SebWindowsConfig this.groupBox10.Controls.Add(this.textBoxLogDirectoryWin); this.groupBox10.Controls.Add(this.label4); this.groupBox10.Controls.Add(this.checkBoxUseStandardDirectory); - this.groupBox10.Location = new System.Drawing.Point(23, 381); + this.groupBox10.Location = new System.Drawing.Point(583, 398); this.groupBox10.Name = "groupBox10"; this.groupBox10.Size = new System.Drawing.Size(555, 142); this.groupBox10.TabIndex = 95; @@ -1886,8 +1937,8 @@ namespace SebWindowsConfig // // Type // - dataGridViewCellStyle7.BackColor = System.Drawing.Color.Silver; - this.Type.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.Silver; + this.Type.DefaultCellStyle = dataGridViewCellStyle1; this.Type.HeaderText = "Type"; this.Type.Name = "Type"; this.Type.ReadOnly = true; @@ -2377,6 +2428,24 @@ namespace SebWindowsConfig this.groupBoxPermittedProcess.Text = "Selected Process"; this.toolTip1.SetToolTip(this.groupBoxPermittedProcess, "Terminate process in a not-nice way, which may cause data loss if the application" + " had unsaved data"); + // + // textBoxPermittedProcessSignature + // + this.textBoxPermittedProcessSignature.Location = new System.Drawing.Point(199, 135); + this.textBoxPermittedProcessSignature.Name = "textBoxPermittedProcessSignature"; + this.textBoxPermittedProcessSignature.Size = new System.Drawing.Size(565, 20); + this.textBoxPermittedProcessSignature.TabIndex = 97; + this.toolTip1.SetToolTip(this.textBoxPermittedProcessSignature, "The hash / thumbprint of the certificate used to sign the executable."); + this.textBoxPermittedProcessSignature.TextChanged += new System.EventHandler(this.textBoxPermittedProcessSignature_TextChanged); + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(141, 138); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(52, 13); + this.label27.TabIndex = 96; + this.label27.Text = "Signature"; // // textBoxPermittedProcessOriginalName // @@ -4627,8 +4696,8 @@ namespace SebWindowsConfig // spellCheckerDictionaryFilesColumn // this.spellCheckerDictionaryFilesColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle2; this.spellCheckerDictionaryFilesColumn.HeaderText = "Files"; this.spellCheckerDictionaryFilesColumn.Name = "spellCheckerDictionaryFilesColumn"; this.spellCheckerDictionaryFilesColumn.ReadOnly = true; @@ -6026,23 +6095,14 @@ namespace SebWindowsConfig this.applyAndStartSEBToolStripMenuItem.Visible = false; this.applyAndStartSEBToolStripMenuItem.Click += new System.EventHandler(this.applyAndStartSEBToolStripMenuItem_Click); // - // label27 + // versionRestrictionsTextBox // - this.label27.AutoSize = true; - this.label27.Location = new System.Drawing.Point(141, 138); - this.label27.Name = "label27"; - this.label27.Size = new System.Drawing.Size(52, 13); - this.label27.TabIndex = 96; - this.label27.Text = "Signature"; - // - // textBoxPermittedProcessSignature - // - this.textBoxPermittedProcessSignature.Location = new System.Drawing.Point(199, 135); - this.textBoxPermittedProcessSignature.Name = "textBoxPermittedProcessSignature"; - this.textBoxPermittedProcessSignature.Size = new System.Drawing.Size(565, 20); - this.textBoxPermittedProcessSignature.TabIndex = 97; - this.toolTip1.SetToolTip(this.textBoxPermittedProcessSignature, "The hash / thumbprint of the certificate used to sign the executable."); - this.textBoxPermittedProcessSignature.TextChanged += new System.EventHandler(this.textBoxPermittedProcessSignature_TextChanged); + this.versionRestrictionsTextBox.Location = new System.Drawing.Point(14, 115); + this.versionRestrictionsTextBox.Multiline = true; + this.versionRestrictionsTextBox.Name = "versionRestrictionsTextBox"; + this.versionRestrictionsTextBox.Size = new System.Drawing.Size(512, 81); + this.versionRestrictionsTextBox.TabIndex = 3; + this.versionRestrictionsTextBox.TextChanged += new System.EventHandler(this.versionRestrictionsTextBox_TextChanged); // // SebWindowsConfigForm // @@ -6078,6 +6138,8 @@ namespace SebWindowsConfig this.groupBoxInsideSeb.PerformLayout(); this.tabPageSecurity.ResumeLayout(false); this.tabPageSecurity.PerformLayout(); + this.groupBox20.ResumeLayout(false); + this.groupBox20.PerformLayout(); this.groupBoxSebService.ResumeLayout(false); this.groupBoxSebService.PerformLayout(); this.groupBox1.ResumeLayout(false); @@ -6610,6 +6672,11 @@ namespace SebWindowsConfig private System.Windows.Forms.CheckBox checkBoxShowFileSystemElementPath; private System.Windows.Forms.TextBox textBoxPermittedProcessSignature; private System.Windows.Forms.Label label27; + private System.Windows.Forms.GroupBox groupBox20; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.TextBox versionRestrictionsTextBox; } } diff --git a/SebWindowsConfig/SebWindowsConfigForm.cs b/SebWindowsConfig/SebWindowsConfigForm.cs index 6e3ed0cd..a9796b60 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.cs +++ b/SebWindowsConfig/SebWindowsConfigForm.cs @@ -838,6 +838,16 @@ namespace SebWindowsConfig checkBoxEnforceBuiltinDisplay.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayBuiltinEnforce]; checkBoxAllowedDisplayIgnoreError.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayIgnoreFailure]; + if (SEBSettings.settingsCurrent[SEBSettings.KeyVersionRestrictions] is ListObj restrictions) + { + versionRestrictionsTextBox.Clear(); + + foreach (var restriction in restrictions.Cast()) + { + versionRestrictionsTextBox.Text += $"{restriction}{Environment.NewLine}"; + } + } + // Group "Registry" checkBoxInsideSebEnableSwitchUser.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableSwitchUser]; checkBoxInsideSebEnableLockThisComputer.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableLockThisComputer]; @@ -4719,5 +4729,28 @@ namespace SebWindowsConfig SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex]; SEBSettings.permittedProcessData[SEBSettings.KeySignature] = textBoxPermittedProcessSignature.Text; } + + private void versionRestrictionsTextBox_TextChanged(object sender, EventArgs e) + { + var raw = versionRestrictionsTextBox.Text; + var invalid = new List(); + var valid = new List(); + + foreach (var line in raw?.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) + { + if (Regex.IsMatch(line, @"^(Win|Mac|iOS)(\.\d{1,}){2,4}(\.AE)?(\.min)?$")) + { + valid.Add(line); + } + else + { + invalid.Add(line); + } + } + + versionRestrictionsTextBox.BackColor = invalid.Any() ? Color.FromArgb(255, 156, 156) : Color.White; + + SEBSettings.settingsCurrent[SEBSettings.KeyVersionRestrictions] = new ListObj(valid); + } } } diff --git a/SebWindowsConfig/SebWindowsConfigForm.resx b/SebWindowsConfig/SebWindowsConfigForm.resx index 0ea31b7a..9ea92290 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.resx +++ b/SebWindowsConfig/SebWindowsConfigForm.resx @@ -130,8 +130,8 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADG - 1QAAAk1TRnQBSQFMAgEBDAEAATABDAEwAQwBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADC + 1QAAAk1TRnQBSQFMAgEBDAEAAUgBDAFIAQwBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA AwABgAMAAQEBAAEgBwABAf8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A0QABjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -157,7 +157,7 @@ Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO AYsBAAH/A1MB9AMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA - Af8DAAH/AwAB/wNaAe4QAAMzAVEDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6 + Af8DAAH/AwAB/wNdAe4QAAMzAVEDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6 A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6AzYBWTQAAzMBUANd Ad8BsQGvAa0B/wGlAaIBoQH/AZIBjwGOAf8BhgGDAYIB/wGAAS0BLAH/AYABLQEsAf8BgAEtASwB/wGA AS0BLAH/AYABLQEsAf8BigGHAYYB/wGWAZMBkgH/AaUBogGgAf8BpgGjAaEB/wNVAa8DGAEgGAABjgGL @@ -504,7 +504,7 @@ Af8BAAGMAbIB/wEAAYgBiwH/AZ0BmQGRAf8BkgG9Ae8B/wGfAdAC/wGeAc0C/wNnAfIDHAEnDAAEAQMF AQYDLgFHA20B9wHOAb8BuAH/AeEB2AHSAf8B2gHOAcYB/wHfAdQBzAH/AeQB2gHTAf8B5wHeAdYB/wHo AeAB2AH/AfgB9gHzAf8EAAHvAeoB5AH/AegB3wHYAf8B5wHeAdcB/wHqAeIB3AH/AeYB3gHXAf8B3QHR - AcoB/wHWAcoBwgH/AdIBwwG8Af8B1wHLAcUB/wNcAfgDMAFKAwYBBwQCGAADAwEEAUgBYgFcAfYBAAGm + AcoB/wHWAcoBwgH/AdIBwwG8Af8B1wHLAcUB/wNcAfgDMAFKAwYBBwQCGAADAwEEAUgBYgFfAfYBAAGm AQAB/wEAAZkBAAH/AQABkQEAAf8BAAGKAQAB/wEAAYgBAAH/AwAB/wMpAT0kAAFSAlQBqAEAAbEBAAH/ AQABqAEAAf8BAAGhAQAB/wEAAZwBAAH/AQABlQEAAf8DQwF3IAADJQE2A+sB/wQAA/MB/wP2Af8D9gH/ A/IB/wP0Af8D9gH/A/IB/wP1Af8D8wH/A/IB/wPyAf8D8wH/AvEB8gH/AvcB8AH/AvcB9AH/A/MB/wL2 @@ -566,8 +566,8 @@ AbIBqAH/AcsBugGxAf8B0QHCAboB/wHoAeEB3QH/BAAB+QH3AfYB/wHcAdEBywH/AdYByQHBAf8B3QHS AcwB/wHXAcoBwwH/AdIBxAG9Af8B0AHCAbsB/wHeAdUB0QH/A/4B/wHlAd4B2wH/AbcBpAGfAf8BmAGD AQAB/wMzAVEIAANQAZ0BAAG9AQAB/wEAAcEBAAH/AQABuQEAAf8BAAG3AQAB/wEAAbEBAAH/AQABqwEA - Af8BAAGmAQAB/wEAAaABAAH/AQABmgEAAf8BAAGUAQAB/wEAAY4BAAH/AQABiAEAAf8BAAGCAQAB/wFZ - AWUBWQHxAwYBBwMMAQ8DSgGJA0QBeQNEAXkDRAF4A10B0QEAAb4BAAH/AQABtgEAAf8BAAGxAQAB/wEA + Af8BAAGmAQAB/wEAAaABAAH/AQABmgEAAf8BAAGUAQAB/wEAAY4BAAH/AQABiAEAAf8BAAGCAQAB/wFc + AWUBXAHxAwYBBwMMAQ8DSgGJA0QBeQNEAXkDRAF4A10B0QEAAb4BAAH/AQABtgEAAf8BAAGxAQAB/wEA Aa4BAAH/AQABqgEAAf8DWAG3A0QBeANEAXkDRAF5A0MBdhAAAyUBNgPqAf8EAAPhAf8D4AH/A+cB/wPi Af8D5AH/A+YB/wPgAf8D5gH/A+EB/wPfAf8B4QHgAeEB/wPjAf8D4AH/A94B/wPlAf8D4AH/A9wB/wPd Af8D5gH/BAADPgFrGAADKQE+A2oB+QPgAf8D9wH/AfQB9QH0Af8D9AH/AfMC9AH/AfMC9AH/AfMC9AH/ @@ -577,7 +577,7 @@ AcMBuwH/AdIBxAG8Af8BzAG9AbQB/wHUAccBwAH/AfMB8AHuAf8B5gHeAdoB/wG9AagBngH/AcABrQGj Af8ByQG5AbAB/wG4AaEBlgH/AbgBoQGXAf8BtwGiAZcB/wG+AawBpAH/AeMB2wHZAf8BxgG4AbQB/wG/ Aa4BqQH/AaEBjgGKAf8DRgF+CAADQQFyA0IBdQNCAXQDQgF0A1MBqgEAAbUBAAH/AQABsAEAAf8BAAGp - AQAB/wEAAaQBAAH/AQABogEAAf8DYAHbA0IBdANCAXQDQgF0A0kBhQMLAQ4DBgEHAVQCXgHwAQABywGD + AQAB/wEAAaQBAAH/AQABogEAAf8DYAHbA0IBdANCAXQDQgF0A0kBhQMLAQ4DBgEHAVgCXgHwAQABywGD Af8BAAHFAQAB/wEAAcQBAAH/AQABwgEAAf8BAAG7AQAB/wEAAbgBAAH/AQABtAEAAf8BAAGvAQAB/wEA AasBAAH/AQABqAEAAf8BAAGhAQAB/wEAAZ0BAAH/AQABkgEAAf8BTwFQAU8BmxAAAyUBNgPpAf8EAAP2 Af8D9gH/A/UB/wP1Af8D9QH/A/QB/wP0Af8D8wH/A/MB/wPzAf8D8gH/A/IB/wHyAfEB8gH/A/EB/wPx @@ -654,10 +654,10 @@ A+cB/wHlAuYB/wPkAf8B4gLhAf8D1QH/AbgBuQG4Af8DnAH/A5QB/wOVAf8DigH/A6kB/wNiAe8DFQEd GAADLQFFA/0B/wHsAu0B/wHrAewB7QH/AeoB6wHsAf8B6QLrAf8B6AHpAesB/wHnAekB6gH/AecB6AHp Af8B5gLoAf8B5QLnAf8B5AHmAecB/wHjAeUB5gH/AeIB5AHlAf8B4QLkAf8B4AHjAeQB/wHfAeIB4wH/ - Ad4B4QHiAf8B3QHgAeEB/wHdAeAB4QH/AdsB3gHfAf8B6QLsAf8DWQG7KAADGwElAk0BLwH6AwAB/wMA + Ad4B4QHiAf8B3QHgAeEB/wHdAeAB4QH/AdsB3gHfAf8B6QLsAf8DWQG7KAADGwElAk0BMgH6AwAB/wMA Af8DAAH/AZkBhQGAAf8BmgGEAQAB/wG1AaABmwH/AZwCAAH/AaUBiQGEAf8BqQGNAYcB/wGpAY4BiAH/ AakBjgGIAf8BqAGMAYYB/wGzAZsBlgH/AbIBmgGUAf8BtQGdAZgB/wHGAbMBrgH/AaQBigGEAf8BqQGU - AY8B/wHgAdgB1gH/AbgBrAGqAf8DAAH/AwAB/wFNAi8B+gMdASgcAAM7AWMBAAG/AQAB/wEAAcEBAAH/ + AY8B/wHgAdgB1gH/AbgBrAGqAf8DAAH/AwAB/wFNAjIB+gMdASgcAAM7AWMBAAG/AQAB/wEAAcEBAAH/ AQABuwEAAf8BAAG5AQAB/wEAAboBAAH/AVgCWgG9KAADEwEaAQABtQEAAf8BAAHKAYIB/wEAAb8BAAH/ AQABxwEAAf8BXwJhAdokAAMlATYC3wHcA/8B+gH/AgAB9AH/AtUB6AP/AeQD/wHhAf8CAAH0Af8CgwHy A/8B5AH/AusB5gH/AeYB5QHkAf8C4gHjAf8D4QH/A98B/wPPAf8DoQH/AwAB/wMAAf8DAAH/A5kB/wO8 @@ -676,7 +676,7 @@ Af8BlwGFAYEB/wGmAZMBkAH/AcsBvAG5Af8BogGNAYkB/wGjAYwBiAH/AaUBjQGJAf8BpQGNAYkB/wGk AYwBiAH/AagBkwGPAf8BtQGiAZ8B/wGiAYwBiQH/AZ4BigGGAf8BogGRAY4B/wHTAcoByQH/AaABkQGP Af8DAAH/AwAB/wNcAdYDCwEOIAADOwFjAQABwAEAAf8BAAHDAQAB/wEAAb4BAAH/AQABvAEAAf8BAAHA - AQAB/wFYAloBvSwABAIBWgJiAe4BAAHSAYgB/wNWAbMoAAMlATYD2QP/AfUB/wLLAegB/wIAAfcB/wKX + AQAB/wFYAloBvSwABAIBXQJiAe4BAAHSAYgB/wNWAbMoAAMlATYD2QP/AfUB/wLLAegB/wIAAfcB/wKX Ae0B/wIAAfwB/wKuAesB/wLYAeYB/wIAAfMB/wIAAfAB/wLDAeMB/wLuAdsB/wPbAf8D2QH/A7sB/wOY Af8D8gH/BAAD9QH/AzABSiAAAwYBBwNhAdoB8ALyAf8B5QLnAf8B4wLmAf8B4wHlAeYB/wHjAeUB5gH/ AeIC5QH/AeIB5AHlAf8B4QHjAeQB/wHgAeIB4wH/Ad8C4gH/Ad4B4QHiAf8B3QHgAeEB/wHcAd8B4AH/ @@ -720,11 +720,11 @@ A5IB/wOSAf8DkQH/A5EB/wORAf8DkQH/A5EB/wORAf8DkQH/A5EB/wORAf8DkQH/A5EB/wORAf8DkQH/ A5EB/wORAf8DkQH/A5EB/wORAf8BkQKSAf8DkgH/A5IB/wOSAf8DjwH/A10BzwMGAQgQAAM0AVMEAAP4 Af8D9gH/A/YB/wP2Af8D9gH/A/UB/wPmAf8DwAH/A5cB/wOJAf8DAAH/AwAB/wMAAf8DAAH/A40B/wOu - Af8D3gH/A/AB/wP2Af8D9wH/BAADOAFbFAADFAEbA1EBpANaAfIDAAH/A3MB/gNzAf4DcwH+A3MB/gNz - Af4DcgH+A2wB/gNYAf4DRQH+A4AB/gOAAf4DgAH+A4AB/gOAAf4DgAH+A4AB/gN+Af4DgAH+A4AB/gOA - Af4DgAH+A4AB/gMAAf8DZwHyA1EBpAMUARscAAMKAQ0DSwGMAm0BagH3AdwBpgEAAf8BxQGGAQAB/wG8 + Af8D3gH/A/AB/wP2Af8D9wH/BAADOAFbFAADFAEbA1EBpANaAfIDAAH/A3YB/gN2Af4DdgH+A3YB/gN2 + Af4DdQH+A28B/gNbAf4DSAH+A4AB/gOAAf4DgAH+A4AB/gOAAf4DgAH+A4AB/gOAAf4DgAH+A4AB/gOA + Af4DgAH+A4AB/gMAAf8DZwHyA1EBpAMUARscAAMKAQ0DSwGMAm0BbAH3AdwBpgEAAf8BxQGGAQAB/wG8 AgAB/wG8AgAB/wG5AgAB/wG1AgAB/wGsAgAB/wGoAgAB/wGoAgAB/wGnAgAB/wGoAgAB/wGtAgAB/wG9 - AgAB/wHYAaABAAH/Am0BagH3A0sBjAMKAQ0YAAMGAQcDnQH/Ae8C8AH/A+sB/wHvAfAB8QH/Ae8C8QH/ + AgAB/wHYAaABAAH/Am0BbAH3A0sBjAMKAQ0YAAMGAQcDnQH/Ae8C8AH/A+sB/wHvAfAB8QH/Ae8C8QH/ A+sB/wPqAf8D6gH/A+oB/wPqAf8D6gH/A+oB/wPqAf8D6gH/A+oB/wPqAf8D6gH/A+oB/wPqAf8D6gH/ A+oB/wPqAf8D6gH/A+oB/wLqAesB/wLvAfAB/wPxAf8C6wHtAf8D8AH/A50B/wMGAQgQAAMzAVIUAAP4 Af8D1wH/A6cB/wMAAf8DkQH/A7kB/wOuAf8DmAH/AwAB/wMAAf8DAAH/AwAB/wOAAf8DwAH/A/EB/wgA @@ -754,7 +754,7 @@ Af8D5gH/A+YB/wPnAf8D5gH/A98B/wPVAf8DzgH/A9IB/wPcAf8D5QH/A+YB/wPmAf8C6wHsAf8CyAHH Af8B5gLnAf8BvgK6Af8BpgGiAZ8B/wL0AfUB/wOiAf8DBgEIEAADMwFSDAAD6AH/A7gB/wOeAf8DnwH/ A50B/wOrAf8DxwH/A8cB/wO7Af8DtwH/A7MB/wOyAf8DvgH/A7kB/wMAAf8DAAH/AwAB/wMAAf8D1AH/ - AzcBWhAAAw4BEgE9ARgBKwH+AwAB/wG/AsEB/wHIAskB/wPEAf8BygHIAcQB/wHUAdIBwwH/AcEBwgHK + AzcBWhAAAw4BEgFAARsBLgH+AwAB/wG/AsEB/wHIAskB/wPEAf8BygHIAcQB/wHUAdIBwwH/AcEBwgHK Af8BwQHCAcoB/wHUAdIBwwH/Ab4BvAG3Af8CmwGcAf8DAAH/A/QB/wP8Af8B+gL5Af8EAAL6AfsB/wLP Ac4B/wPxAf8EAAP6Af8D+QH/A/oB/wH7AvoB/wH2AfkB9wH/AfYB+QH3Af8C+wH8Af8EAAOAAf4DDgES CAADCQEMA18B0AHeAakBAAH/AcUBhQEAAf8BxAGDAQAB/wHDAYEBAAH/AcACAAH/AcgCAAH/AQABkwGt @@ -764,7 +764,7 @@ A+cB/wPnAf8D6AH/A+4B/wPnAf8D0wH/A70B/wOxAf8DwAH/A9UB/wPjAf8D6AH/A+cB/wPpAf8D4gH/ A8UB/wG+Ar0B/wHXAtgB/wPxAf8DoQH/AwYBCBAAAzMBUggAA/0B/wPLAf8DqwH/A6gB/wOqAf8DjwH/ AwAB/wMAAf8DggH/A8wB/wO5Af8DtAH/A7MB/wO1Af8DtgH/AwAB/wMAAf8DAAH/AwAB/wOhAf8DTwGZ - EAADDgESATwBFwErAf4DAAH/AcMCxAH/AcsCzQH/As0ByAH/As4ByQH/AQABgQHiAf8CAAH3Af8CAAH3 + EAADDgESAT8BGgEuAf4DAAH/AcMCxAH/AcsCzQH/As0ByAH/As4ByQH/AQABgQHiAf8CAAH3Af8CAAH3 Af8BAAGCAeAB/wHDAcIBvQH/AaQBowGfAf8DAAH/AvUB9AH/AfwB+wH8Af8B7AH1AfcB/wHqAfcB+gH/ Ae0B+gL/AfYD/wH8Av4B/wP5Af8D+QH/A/kB/wH3AfkB9wH/Ae8B+AHwAf8B6wH7AfMB/wHrAfsB8wH/ Ae8B+QHzAf8EAAOAAf4DDgESCAADSwGNAeUBswEAAf8BywGNAQAB/wHHAYcBAAH/AcYBhQEAAf8BwwGC @@ -774,7 +774,7 @@ Af8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D6wH/A9YB/wPHAf8DqwH/AZEBkgGRAf8DmwH/A7UB/wPS Af8D4wH/A+cB/wPnAf8D5wH/A+oB/wPpAf8D6QH/A+0B/wPtAf8DoQH/AwYBCBAAAzMBUggAA+4B/wPA Af8DrAH/A6wB/wO5Af8DAAH/AwAB/wMAAf8DAAH/A8gB/wO9Af8DtgH/A7MB/wPEAf8DoAH/AwAB/wMA - Af8DAAH/AwAB/wMAAf8DYAHbAyEBLwwAAw4BEgE6ARYBKQH+AwAB/wPFAf8BzwHRAc8B/wHdAdkByQH/ + Af8DAAH/AwAB/wMAAf8DYAHbAyEBLwwAAw4BEgE9ARkBLAH+AwAB/wPFAf8BzwHRAc8B/wHdAdkByQH/ AgAB0AH/AgAB/AH/AasBuwH+Af8BrQG7Af4B/wIAAfwB/wIAAcYB/wGxAa8BnwH/A4EB/wH2AfQB9QH/ Ae8B9gH5Af8B4QHwAfcB/wHqAfkC/wHsAfgC/wHhAfAB9wH/AeoB8AH1Af8B+gL5Af8B+gH5AfoB/wH6 AvkB/wHqAfUB7gH/AeQB9wHrAf8B7QH/AfQB/wHtAf8B9AH/AeUB+AHrAf8B8gH9AfgB/wOAAf4DDgES @@ -785,7 +785,7 @@ Af8D6QH/A+kB/wPpAf8D6gH/A+8B/wGVAZYBlQH/AY4BjwGOAf8BlAGWAZUB/wMAAf8DiAH/A7AB/wPS Af8D5wH/A+oB/wPpAf8D6QH/A+gB/wPpAf8D6QH/A+gB/wPuAf8DowH/AwYBCBAAAzMBUggAA+EB/wO4 Af8DrAH/A64B/wOyAf8DkQH/AwAB/wMAAf8DAAH/A8YB/wPEAf8DxQH/A7sB/wOgAf8DkgH/A7IB/wOV - Af8DAAH/AwAB/wMAAf8DKwH8A0EBcgwAAw4BEgE3ARQBJwH+AwAB/wPIAf8C2QHUAf8ByQHIAccB/wIA + Af8DAAH/AwAB/wMAAf8DKwH8A0EBcgwAAw4BEgE6ARcBKgH+AwAB/wPIAf8C2QHUAf8ByQHIAccB/wIA Ab0B/wIAAe8B/wIAAfUB/wIAAfUB/wIAAe8B/wIAAbMB/wGgAZ8BnAH/AYcBhgGFAf8C8gH0Af8B5gHu AfIB/wHeAesB8gH/AecB9QH7Af8B5AHzAfkB/wHeAesB8gH/AeQB7gHyAf8B+QH3AfkB/wP8Af8B/AH+ AfwB/wHmAfYB7gH/AeEB9AHpAf8B5gH6Ae0B/wHqAfwB8AH/AeAB9QHoAf8B7AH7AfEB/wOAAf4DDgES @@ -796,7 +796,7 @@ A+oB/wPqAf8D6gH/A+oB/wPqAf8D6gH/A/UB/wHLAcoBywH/A88B/wPaAf8DrgH/AwAB/wOuAf8D1wH/ A+kB/wPrAf8D6gH/A+oB/wPqAf8D6gH/A+oB/wPqAf8D8AH/A6QB/wMGAQgQAAMzAVIEAAP+Af8D1wH/ A88B/wPBAf8DrQH/A6gB/wO7Af8DAAH/AwAB/wMAAf8D1AH/A7sB/wOZAf8DAAH/AwAB/wO8Af8DwAH/ - A7wB/wMAAf8DAAH/AwAB/wOuAf8DTwGXDAADDgESATMBEwEjAf4DAAH/AcsCzQH/AtsB1wH/Ac8BzgHJ + A7wB/wMAAf8DAAH/AwAB/wOuAf8DTwGXDAADDgESATYBFgEmAf4DAAH/AcsCzQH/AtsB1wH/Ac8BzgHJ Af8CAAGOAf8CAAHLAf8CAAHpAf8CAAHpAf8CAAHKAf8CAAGFAf8CpgGhAf8BiQGIAYcB/wLyAfQB/wHl AewB8AH/AeAB7QHxAf8B4QHwAfUB/wHiAfIB+QH/AecB9QH6Af8B5wHvAfEB/wH8AfsB/AH/BAAD7AH/ Ac0B2AHRAf8B4QHzAegB/wHrAf0B8gH/AeoB+wHwAf8B6QH8AfEB/wHsAfcB8AH/A4AB/gMOBBIBGANe @@ -807,7 +807,7 @@ A+oB/wPqAf8D6gH/A+oB/wPqAf8D9QH/A7IB/wO+Af8IAAO7Af8DAAH/A7gB/wPdAf8D6wH/A+oB/wPq Af8D6gH/A+oB/wPqAf8D6gH/A+oB/wPwAf8DpAH/AwYBCBAAAzMBUgQAA/0B/wPhAf8D8gH/A/IB/wPS Af8DrAH/A7IB/wO8Af8DAAH/AwAB/wPAAf8DAAH/A4MB/wOZAf8DowH/A70B/wOzAf8DuwH/A4YB/wMA - Af8DAAH/A6gB/wNRAaIMAAMOARIBMQESASIB/gMAAf8BzgLPAf8D1wH/Ae0B6gHeAf8DAAH/AgABwwH/ + Af8DAAH/A6gB/wNRAaIMAAMOARIBNAEVASUB/gMAAf8BzgLPAf8D1wH/Ae0B6gHeAf8DAAH/AgABwwH/ AgAB/AH/AgAB/AH/AgABxAH/AwAB/wG+AbwBsQH/A4YB/wP1Af8B8AH0AfUB/wHrAfgB/AH/AwAB/wHg Ae0B8gH/AdsB5gHrAf8DAAH/A+UB/wOZAf8DAAH/AwAB/wHRAeEB2AH/Ab0BywHCAf8DAAH/AeYB9gHr Af8DAAH/A4AB/gMOARIDOAFcAeYBtQEAAf8B0wGZAQAB/wHPAZQBAAH/Ac4BkgEAAf8BzAGOAQAB/wHK @@ -817,7 +817,7 @@ AwYBBwOkAf8D8QH/A+sB/wPrAf8D6wH/A+sB/wPrAf8D6wH/A+sB/wPrAf8D6wH/A/wB/wOYAf8DowH/ CAADqQH/AwAB/wPHAf8D5AH/A+0B/wPrAf8D6wH/A+sB/wPrAf8D6wH/A+sB/wPrAf8D8QH/A6QB/wMG AQgQAAMzAVIEAAP8Af8D1QH/A64B/wMAAf8DAAH/A7MB/wO6Af8D6QH/AwAB/wMAAf8DAAH/A5MB/wOw - Af8DwwH/A7oB/wOxAf8DswH/A7oB/wOGAf8DAAH/AwAB/wOuAf8DUAGaDAADDgESATABFQEiAf4DAAH/ + Af8DwwH/A7oB/wOxAf8DswH/A7oB/wOGAf8DAAH/AwAB/wOuAf8DUAGaDAADDgESATMBGAElAf4DAAH/ AdAC0QH/A9oB/wLbAdkB/wHcAdoB0AH/AgABjwH/AgABowH/AgABowH/AgABkAH/Ac8BzQHEAf8CrwGt Af8DhwH/A/UB/wL+AfwB/wH6Af4C/wMAAf8B6wHxAfYB/wMAAf8DAAH/A9EB/wMAAf8DlAH/AbwCvQH/ AfYB/gH5Af8BAAGCAYAB/wMAAf8BigGOAYsB/wMAAf8DgAH+Aw4BEgNQAZ0B4QGuAQAB/wHSAZgBAAH/ @@ -828,7 +828,7 @@ A+wB/wPsAf8D7AH/A+wB/wPsAf8D/QH/A6AB/wOYAf8D/AH/A/4B/wOaAf8DAAH/A9YB/wPqAf8D7QH/ A+wB/wPsAf8D7AH/A+wB/wPsAf8D7AH/A+wB/wPyAf8DpQH/AwYBCBAAAzMBUgO4Af8DAAH/AwAB/wMA Af8DAAH/AwAB/wOIAf8D6gH/A7QB/wMAAf8DAAH/AwAB/wMAAf8D0wH/A8MB/wO6Af8DuwH/A7kB/wO8 - Af8DgAH/AwAB/wMAAf8DgAH+A0QBeAwAAw4BEgEyARcBJAH+AwAB/wPWAf8B2gLbAf8D1QH/Ad8B3QHa + Af8DgAH/AwAB/wMAAf8DgAH+A0QBeAwAAw4BEgE1ARoBJwH+AwAB/wPWAf8B2gLbAf8D1QH/Ad8B3QHa Af8B6gHnAdsB/wHFAcMBwQH/AcUBxAHBAf8B6AHnAdsB/wHTAdABzgH/AqkBqwH/A4cB/wP2Af8LAAH/ AwAB/wMAAf8DAAH/A8sB/wMAAf8BlwKWAf8DAAH/Ac0CywH/AwAB/wG2AbcBtgH/AwAB/wOmAf8DgAH+ Aw4BEgNdAckB4wGrAQAB/wHbAZoBAAH/AdgBlgEAAf8BzwGUAQAB/wHOAZEBAAH/AcwBjgEAAf8ByQGL @@ -838,7 +838,7 @@ Af8D8wH/A+0B/wPtAf8D7QH/A+0B/wPtAf8D7QH/A+0B/wPtAf8D7QH/BAADogH/A5UB/wP5Af8D+wH/ A5YB/wMAAf8D4wH/A+4B/wPuAf8D7QH/A+0B/wPtAf8D7QH/A+0B/wPtAf8D7QH/A/MB/wOmAf8DBgEI EAADMwFSAwAB/wMAAf8DlwH/A7EB/wPwAf8DgwH/AwAB/wOAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wOh - Af8DvgH/A7kB/wOqAf8DtAH/A5oB/wMAAf8DAAH/AwAB/wNgAeADJQE3DAADDgESATIBGQEkAf4DAAH/ + Af8DvgH/A7kB/wOqAf8DtAH/A5oB/wMAAf8DAAH/AwAB/wNgAeADJQE3DAADDgESATUBHAEnAf4DAAH/ AcEBvAG+Af8B7AHzAfAB/wPcAf8B2gLcAf8D3AH/AeEB4gHgAf8B4QHiAeAB/wLbAdwB/wPQAf8BrgKv Af8DiwH/A/cB/wsAAf8DAAH/A/cB/wMAAf8D1gH/A8gB/wMAAf8DjwH/A/IB/wOAAf8HAAH/A+oB/wOA Af4DDgESA2AB4AGaAbUBsAH/AYEBsAHBAf8BtAGnAYUB/wHXAZcBAAH/Ac4BkgEAAf8BzQGQAQAB/wHK @@ -848,202 +848,202 @@ A+4B/wPuAf8D7gH/A+4B/wPuAf8D7gH/A+4B/wPuAf8D7gH/BAADpAH/AwAB/wPYAf8D2AH/AwAB/wMA Af8D7wH/A/EB/wPuAf8D7gH/A+4B/wPuAf8D7gH/A+4B/wPuAf8D7gH/A/QB/wOmAf8DBgEIEAADMwFS A5UB/wMAAf8D8wH/A/EB/wP2Af8DswH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DnAH/ - A5gB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A5wB/wNRAaIQAAMOARIBLwEaASIB/gMAAf8DAAH/AckBwgHF + A5gB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A5wB/wNRAaIQAAMOARIBMgEdASUB/gMAAf8DAAH/AckBwgHF Af8B5ALlAf8B4QHgAeEB/wHhAeAB4QH/AeEB4AHhAf8B4QHgAeEB/wHhAuAB/wHVAtQB/wG0ArMB/wGL - AY0BiwH/A/YB/wsAAf8DnQH/BwAB/wPLAf8gAAOAAf4DDgESAmUBZAHsAQABtwHZAf8BAAG0Av8BAAGz - Av8BqwGoAY8B/wHdAZMBAAH/Ac4BkAEAAf8BzAGNAQAB/wHNAZEBAAH/AQABogHZAf8BAAGcAfoB/wEA - AZkB9AH/AQABlgH0Af8BAAGUAfoB/wEAAZYBrQH/AcQCAAH/AcACAAH/AawBgAEAAf8BqgIAAf8BxAIA - Af8BAAGHAZkB/wIAAf4B/wIAAfAB/wIAAfAB/wIAAfsB/wEAAYUBpgH/AbYCAAH/AasCAAH/AasCAAH/ - AagCAAH/AboCAAH/A2UB7AMGAQcDpgH/A/QB/wPvAf8D7wH/A+4B/wPuAf8D7gH/A+4B/wPuAf8D7gH/ - A+4B/wQAA6UB/wMAAf8DxQH/A8UB/wMAAf8DhgH/A/cB/wPyAf8D7gH/A+4B/wPuAf8D7gH/A+4B/wPu - Af8D7gH/A+4B/wP0Af8DpgH/AwYBCBAAAzMBUgPbAf8DAAH/A+EB/wPsAf8D3AH/A9wB/wMAAf8DAAH/ - AwAB/wOYAf8DnQH/AwAB/wOOAf8DuQH/A8gB/wOzAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wPOAf8DOAFd - EAADDgESASgBFwEcAf4DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA - Af8B5gHjAeUB/wHyAfAB8QH/Ae0C7AH/AusB6gH/AfYB9AH1Af8B8AHtAe8B/wHqAegB6gH/AewB6wHs - Af8B7QHrAewB/wHsAeoB6wH/AewB6gHrAf8B6wHqAesB/wHsAeoB7AH/AewB6gHrAf8B7QHsAe0B/wH1 - AfQB9QH/A4AB/gMOARICZQFkAewBAAG4AdUB/wEAAbUC/wEAAbIB/AH/AQABsQHyAf8BoQGpAZoB/wHU - AZYBAAH/Ac8BjAEAAf8ByQGVAQAB/wEAAaMB5AH/AQABnQH5Af8BAAGbAfQB/wEAAZgB/AH/AQABmgHD - Af8B0QGAAQAB/wHAAgAB/wHCAgAB/wGmAYQBAAH/AQABkgHXAf8BpwGKAQAB/wEAAYUB1AH/AgAB9QH/ - AgAB8AH/AgAB8AH/AgAB+wH/AQABhQGmAf8BtgIAAf8BqwIAAf8BqwIAAf8BqAIAAf8BugIAAf8DZQHs - AwYBBwOqAf8D+QH/A/QB/wPyAf8D8gH/A/EB/wPwAf8D8AH/A+8B/wPvAf8D7wH/BAADoQH/A6IB/wgA - A6EB/wORAf8D/gH/A/EB/wPvAf8D7wH/A+8B/wPvAf8D7wH/A+8B/wPvAf8D7wH/A/UB/wOnAf8DBgEI - EAADMwFSBwAB/wOYAf8D8gH/A9kB/wQAA5AB/wMAAf8D1gH/A+kB/wPgAf8D3QH/A9cB/wPRAf8DzgH/ - A50B/wMAAf8DgAH/AwAB/wMAAf8DswH/A/QB/wM3AVoQAAMOARIBIQEUARgB/gMAAf8DAAH/AwAB/wMA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wHnAeUB5gH/A/EB/wHsAecB6gH/AfAB6wHt - Af8B7QHqAewB/wHsAecB6gH/AfAB6wHtAf8B7QHqAewB/wHsAeoB6wH/AewB6gHrAf8B7AHqAewB/wHt - AesB7AH/Ae0B6wHtAf8B7wHrAe0B/wHwAe0B7wH/AfcB9QH3Af8DgAH+Aw4BEgNgAeABhAG4AcwB/wEA - AbYC/wEAAbMB+QH/AQABsAH7Af8BAAGwAv8BjAGqAbEB/wHZAZQBAAH/AdQBlAEAAf8BAAGlAd8B/wEA - AZ4B+gH/AQABnAH0Af8BAAGZAfkB/wEAAZkB2gH/AaQBkQEAAf8BsAGJAQAB/wGlAYkBAAH/AbgBhwEA - Af8BAAGPAcUB/wEAAYcB+wH/AQABgQHxAf8CAAHwAf8CAAHwAf8CAAHwAf8CAAH7Af8BAAGEAaQB/wG2 - AgAB/wGrAgAB/wGrAgAB/wGoAgAB/wG+AgAB/wNgAeADBgEHA6oB/wP5Af8D9AH/A/QB/wP0Af8D9AH/ - A/QB/wPzAf8D8wH/A/MB/wPyAf8EAAOiAf8BqgKpAf8IAAOpAf8DnQH/BAAD8QH/A/AB/wPwAf8D8AH/ - A/AB/wPwAf8D8AH/A/AB/wPwAf8D9gH/A6gB/wMGAQgQAAMzAVIEAAOIAf8DAAH/A/AB/wPpAf8DqgH/ - AwAB/wMAAf8DrgH/A+MB/wPKAf8DywH/A84B/wPIAf8DnQH/A4EB/wOGAf8DAAH/AwAB/wOrAf8D5wH/ - BAADNwFaEAADDgESARYBDgERAf4DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ - AwAB/wMAAf8C6wHwAf8C9gH+Af8C7wH0Af8B8AHvAfQB/wHwAe4B9QH/AfAB7gH1Af8B8AHxAfUB/wHw - AfEB9QH/AfAB8QH1Af8C8QH1Af8B8QHwAfcB/wHxAfIB9wH/AvIB9gH/AvIB+QH/AfQB8gH6Af8B+wH6 - Av8DgAH+Aw4BEgNdAckBlwG5AbgB/wEAAbgC/wEAAbUB+QH/AQABsgH5Af8BAAGvAfkB/wEAAa0B/gH/ - AQABqgHDAf8BnQGkAZgB/wEAAaQB7gH/AQABoAH3Af8BAAGdAfUB/wEAAZoB8wH/AQABlwH4Af8BAAGW - AfoB/wEAAZUB9AH/AQABkgH5Af8BAAGQAfEB/wEAAYkB8QH/AQABhQHzAf8BAAGDAfEB/wEAAYAB8AH/ - AgAB8AH/AgAB8AH/AgAB/QH/AQABhAGVAf8BtQIAAf8BqwIAAf8BqwIAAf8BpwIAAf8BxgGHAQAB/wNd - AckDBgEHA6sB/wP6Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8EAAOmAf8DAAH/ - A8QB/wPEAf8DAAH/A6QB/wQAA/EB/wPxAf8D8QH/A/AB/wPwAf8D8AH/A/AB/wPwAf8D8AH/A/UB/wOn - Af8DBgEIEAADMwFSBAADyAH/AwAB/wOHAf8DAAH/AwAB/wMAAf8DAAH/A8sB/wPbAf8DzwH/A8QB/wOs - Af8DmgH/A4sB/wOHAf8DAAH/A4AB/wO3Af8D5wH/A/EB/wQAAzcBWhAAAw4BEgETAQ0BDwH+AwAB/wMA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AeAC3AH/AewB6gHrAf8B5gHj - AeYB/wHmAeMB5gH/AeYB4wHmAf8B5gHjAeYB/wHmAeMB5gH/AeYB4wHmAf8B5gHjAeYB/wHnAeMB5gH/ - AecC5gH/AecB5QHmAf8B5wHlAeYB/wHnAeUB5gH/AegB5gHoAf8B8QLtAf8DgAH+Aw4BEgNQAZ0BtQG6 - AZkB/wEAAbkC/wEAAbYB+QH/AQABswH5Af8BAAGwAfgB/wEAAa4B+AH/AQABqwH+Af8BAAGpAv8BAAGk - AfcB/wEAAaIB9QH/AQABnwH1Af8BAAGcAfQB/wEAAZkB9AH/AQABlgH0Af8BAAGSAfQB/wEAAZAB8wH/ - AQABjAH6Af8BAAGMAfkB/wEAAYcB8AH/AQABgwH2Af8BAAGBAfsB/wIAAfkB/wIAAfgB/wEAAYMB/gH/ - AZcCAAH/AbACAAH/AasCAAH/AasCAAH/AagCAAH/AdIBmQEAAf8DUAGdAwYBBwOrAf8D+wH/A/UB/wP1 - Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/BAADvgH/AwAB/wMAAf8DAAH/AwAB/wO+Af8EAAP2 - Af8D9QH/A/UB/wP0Af8D9AH/A/MB/wPzAf8D8wH/A/IB/wP4Af8DqgH/AwYBCBAAAzMBUgQAA+4B/wMA - Af8DAAH/AwAB/wOoAf8D2QH/A/AB/wPZAf8DzwH/A9MB/wPQAf8DoAH/A5IB/wOVAf8DmAH/A6wB/wPU - Af8D6AH/A+0B/wPuAf8EAAM3AVoQAAMOARIBfQFnAWkB/gHRAbkBvAH/AcoBswG2Af8ByQGyAbUB/wHJ - AbIBtQH/AckBsgG1Af8ByQGyAbUB/wHJAbIBtQH/AckBsgG1Af8ByQGyAbUB/wHJAbIBtQH/AckBtAG7 - Af8BxgKsAf8BzAIAAf8BygIAAf8BygIAAf8BygIAAf8BygIAAf8BygIAAf8BygIAAf8BygIAAf8BygIA - Af8BygIAAf8BygIAAf8ByQIAAf8ByQIAAf8ByQIAAf8BygIAAf8B0gIAAf8BgAErAQkB/gMOARIDOAFc - AdcBuQEAAf8BAAG6AfYB/wEAAbcB/AH/AQABtQH5Af8BAAGyAfkB/wEAAa8B+AH/AQABrAH4Af8BAAGp - AfcB/wEAAaYB9gH/AQABowH2Af8BAAGgAfUB/wEAAZ0B9QH/AQABmgH0Af8BAAGYAfQB/wEAAZQB8wH/ - AQABkgH9Af8BAAGTAdQB/wGdAZQBAAH/AQABjwHsAf8BAAGLAdoB/wEAAYoBpwH/AQABiAG/Af8BAAGH - AdEB/wEAAYcBmwH/AbMCAAH/AasCAAH/AasCAAH/AaoCAAH/Aa0CAAH/AeEBrgEAAf8DOAFcAwYBBwOs - Af8D/AH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/gB/wP7Af8D8wH/AfEC8wH/ - AfEC8wH/A/MB/wP7Af8D+AH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9wH/A/wB/wOs - Af8DBgEIEAADMwFSBAAD7QH/A9MB/wPKAf8D6wH/A+sB/wPrAf8D6wH/A+QB/wPaAf8D1QH/A84B/wPC - Af8DwgH/A8sB/wPaAf8D4gH/A+MB/wPjAf8D4wH/A+MB/wP+Af8DOAFbEAADDgESAXsBYQFjAf4BxgGq - AawB/wG/AaMBpQH/Ab4BogGkAf8BvgGiAaQB/wG+AaIBpAH/Ab4BogGkAf8BvgGiAaQB/wG+AaIBpAH/ - Ab4BogGkAf8BvgGiAaMB/wG+AaMBqAH/Ab4BogGhAf8B0AIAAf8B0AIAAf8B0AIAAf8B0AIAAf8B0AIA - Af8B0AIAAf8B0AIAAf8B0AIAAf8B0AIAAf8B0AIAAf8B0AIAAf8B0AIAAf8B0AIAAf8B0AIAAf8B0QIA - Af8B2AIAAf8BgAEsAQkB/gMOBBIBGANeAfABhAG6Ac0B/wEAAbkC/wEAAbYB+QH/AQABswH5Af8BAAGw - AfgB/wEAAa4B+AH/AQABqgH3Af8BAAGoAfcB/wEAAaQB9gH/AQABogH2Af8BAAGeAfUB/wEAAZwB9AH/ - AQABmQH0Af8BAAGWAfwB/wEAAZgBtQH/AcMBggEAAf8BxQIAAf8BpAGLAQAB/wG1AgAB/wG/AgAB/wG8 - AgAB/wG5AgAB/wG2AgAB/wGrAgAB/wGrAgAB/wGrAgAB/wGoAgAB/wG9AgAB/wNeAfADEgEYAwYBBwOr - Af8D/AH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP6Af8D/QH/A/4B/wP+ - Af8D/QH/A/oB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D/AH/A6sB/wMG - AQgQAAMzAVIEAAPsAf8D6gH/A+oB/wPqAf8D6gH/A+oB/wPqAf8D6gH/A+YB/wPgAf8D2gH/A9oB/wPd - Af8D3wH/A9sB/wPPAf8DxwH/A8UB/wPHAf8DwgH/A9cB/wM1AVUQAAMOARIBeQFfAWIB/gHFAacBqgH/ - Ab4BoAGkAf8BvQGfAaMB/wG9AZ8BowH/Ab0BnwGjAf8BvQGfAaMB/wG9AZ8BowH/Ab0BnwGjAf8BvQGf - AaMB/wG9AZ8BoQH/Ab0BoAGnAf8BvQGeAaAB/wHSAgAB/wHSAgAB/wHRAgAB/wHTAgAB/wHSAgAB/wHS - AgAB/wHRAgAB/wHTAgAB/wHRAgAB/wHTAgAB/wHRAgAB/wHPAgAB/wHVAgAB/wHWAgAB/wHTAgAB/wHb - AgAB/wGAATABCgH+Aw4BEgQAA1EBnwHBAboBjAH/AQABugH+Af8BAAG3AfoB/wEAAbQB+QH/AQABsgH4 - Af8BAAGvAfgB/wEAAawB+AH/AQABqQH3Af8BAAGmAfYB/wEAAaMB9gH/AQABoAH1Af8BAAGdAfUB/wEA - AZoB+wH/AQABnAHLAf8B0gGEAQAB/wHKAgAB/wG9AYEBAAH/AZoBjgEAAf8BtwIAAf8BtAIAAf8BsgIA - Af8BsAIAAf8BrQIAAf8BrAIAAf8BqwIAAf8BqwIAAf8BqAIAAf8B2AGgAQAB/wNRAZ8EAAMGAQcDrAH/ - A/wB/wP5Af8IAAP5Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4 - Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+QH/Av4C/wQAAfkC+wH/A/wB/wOsAf8DBgEIEAADMwFS - BAAD6gH/A+gB/wPoAf8D6AH/A+gB/wPoAf8D6AH/A+gB/wPoAf8D6AH/A+gB/wPoAf8D6QH/A+IB/wPM - Af8DowH/A4sB/wOHAf8DAAH/A4wB/wNiAe8DCQELEAADDgESAXoBYgFkAf4BxgGrAa0B/wG/AaQBpgH/ - Ab4BowGlAf8BvgGjAaUB/wG+AaMBpQH/Ab4BowGlAf8BvgGjAaUB/wG+AaMBpQH/Ab4BowGlAf8BvgGj - AaUB/wG+AaQBqQH/Ab8CowH/AdgCAAH/AdkCAAH/AdcCAAH/AfkB4wHKAf8B4gGQAQAB/wHWAgAB/wHb - AgAB/wH6AegB1AH/AdsCAAH/AfYB3gHDAf8B3QIAAf8B6QGsAQAB/wH3AdkBuAH/AfEBwgGMAf8B4AGC - AQAB/wHhAgAB/wGAATQBCgH+Aw4BEgQAAx8BLAJqAWMB+QGDAboBzwH/AQABuQL/AQABtgH5Af8BAAGz - AfkB/wEAAbAB+AH/AQABrQH4Af8BAAGqAfcB/wEAAagB9wH/AQABpAH2Af8BAAGhAfUB/wEAAZ4B9QH/ - AQABmwH6Af8BAAGcAcwB/wGYAZQBhQH/AY8BlAGNAf8BAAGVAc8B/wEAAZAC/wGSAY0BAAH/Ab0CAAH/ - AbMCAAH/AbECAAH/Aa8CAAH/Aa0CAAH/AasCAAH/AacCAAH/Ab0CAAH/AmoBaAH5Ax8BLAQAAwYBBwOu - Af8D/AH/BAAB4gHfAd4B/wHkAeIB4AH/BAAD+gH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5 - Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP6Af8EAAHkAeMB4QH/AeAB3gHbAf8EAAP8 - Af8DrgH/AwYBCBAAAzMBUgQAA+gB/wPmAf8D5gH/A+YB/wPmAf8D5gH/A+YB/wPmAf8D5gH/A+YB/wPm - Af8D5gH/A+cB/wPeAf8DvwH/AwAB/wMAAf8DAAH/A5AB/wOiAf8DIQEwFAADDgESAX0BZQFnAf4BygGu - AbAB/wHDAacBqQH/AcIBpgGoAf8BwgGmAagB/wHCAaYBqAH/AcIBpgGoAf8BwgGmAagB/wHCAaYBqAH/ - AcIBpgGoAf8BwgGmAagB/wHCAacBrQH/AcMBpQGmAf8B3gIAAf8B4AIAAf8B3QIAAf8B/gHyAeYB/wHr - AZ0BAAH/Ad4CAAH/AeICAAH/Af4B+wH2Af8B4AIAAf8B+wHsAdoB/wHoAZIBAAP/Af4B/wHsAawBAAH/ - AecBlwEAAf8B5AIAAf8B6AIAAf8BgAE4AQoB/gMOARIIAANLAY0B1QG5AQAB/wEAAbkB8gH/AQABtwH9 - Af8BAAG0AfkB/wEAAbEB+AH/AQABrgH4Af8BAAGsAfcB/wEAAakB9wH/AQABpgH2Af8BAAGjAfYB/wEA - AaAB9QH/AQABnQH0Af8BAAGaAfgB/wEAAZgC/wEAAZUB/gH/AQABkAL/AQABkwH8Af8BpgGJAQAB/wG7 - AgAB/wG0AgAB/wGyAgAB/wGwAgAB/wGuAgAB/wGqAgAB/wGuAgAB/wHgAawBAAH/A0sBjQgAAwYBBwOv - Af8D/AH/Ad8B3gHdAf8BqwGlAaAB/wMAAf8B0wHPAc0B/wQAA/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ - A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wQAAegB5wHoAf8BuwG1AbEB/wMA - Af8BwwG9AbsB/wP8Af8DrwH/AwYBCBAAAzMBUgQAA+cB/wPlAf8D5QH/A+UB/wPlAf8D5QH/A+UB/wPl - Af8D5QH/A+UB/wPlAf8D5gH/A+YB/wPXAf8DtgH/A+YB/wPtAf8EAAPsAf8DJQE3GAADDgESAYABagFs - Af4BzwG0AbYB/wHIAa0BrwH/AcYBrAGuAf8BxgGsAa4B/wHGAawBrgH/AcYBrAGuAf8BxgGsAa4B/wHG - AawBrgH/AcYBrAGuAf8BxgGsAa4B/wHFAa0BsgH/AcYBqwGsAf8B6AIAAf8B6AIAAf8B5wIAAf8B+wHq - AdUB/wH6AeEBwQH/AfUBwQGEAf8B6QIAAf8B/gH/Af4B/wHoAgAB/wH6AeoB0gH/Ae0BkQEAAf8B/AH0 - AeoB/wHyAbEBAAH/BAAB7gGWAQAB/wHwAgAB/wGAATwBDAH+Aw4BEggAAwkBDAJfAVsB0AG6AbkBkwH/ - AQABuAH9Af8BAAG2AfwB/wEAAbMB+QH/AQABsAH4Af8BAAGtAfgB/wEAAaoB9wH/AQABpwH3Af8BAAGk - AfsB/wEAAaEB9gH/AQABngH1Af8BAAGbAfQB/wEAAZgB9AH/AQABlAH8Af8BAAGYAeQB/wGeAZEBAAH/ - AcACAAH/AbcCAAH/AbUCAAH/AbMCAAH/AbECAAH/Aa4CAAH/AasCAAH/AdUBnAEAAf8DXwHQAwkBDAgA - AwYBBwOwAf8D/AH/A8kB/wHVAdQB1QH/AbIBsQGuAf8BuQG2AbMB/wQAA/sB/wP7Af8D+wH/A/sB/wP7 - Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wQAA9kB/wHMAc0BzAH/ - AckBxwHFAf8BtQGyAa4B/wP8Af8DsAH/AwYBCBAAAzMBUgQAA+YB/wPkAf8D5AH/A+QB/wPkAf8D5AH/ - A+QB/wPkAf8D5AH/A+QB/wPkAf8D5QH/A+MB/wPTAf8DsgH/A/kB/wQAA+kB/wMoATscAAMOARIBgAFw - AXIB/gHUAbsBvQH/AcwBtAG2Af8BywGzAbUB/wHLAbMBtQH/AcsBswG1Af8BywGzAbUB/wHLAbMBtQH/ - AcsBswG1Af8BywGzAbUB/wHLAbMBtQH/AcoBtAG7Af8BywKzAf8B8AIAAf8B8QIAAf8B7gIAAf8B/gHy - AeYB/wHyAZoBAAH/Ae0CAAH/Ae4CAAH/AfoBxwGLAf8B8AIAAf8B/AHvAd4B/wHxAYwBAAH/AfIBmQEA - Af8B+QHQAZ4B/wH3Ab0BAAH/AfECAAH/AfgBgwEAAf8BgAFBAQwB/gMOARIMAAMdASkDYAHoAbABuQGf - Af8BAAG3Af0B/wEAAbQB/QH/AQABsQH4Af8BAAGuAfgB/wEAAasB/QH/AQABrAHFAf8BAAGpAb0B/wEA - AaMB+gH/AQABoAL/AQABngL/AQABnAL/AQABnQHbAf8BugGNAQAB/wHGAgAB/wG6AgAB/wG4AgAB/wG2 - AgAB/wG0AgAB/wGxAgAB/wGuAgAB/wHRAZcBAAH/A2AB6AMdASkMAAMGAQcDsQH/A/0B/wP1Af8BzwHR - AdAB/wLUAdUB/wP1Af8EAAP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/ - A/wB/wP8Af8D/AH/A/wB/wP8Af8EAAP4Af8BwwLEAf8C0gHRAf8D8QH/A/0B/wOxAf8DBgEIEAADMwFS - A/0B/wPkAf8D4gH/A+IB/wPiAf8D4gH/A+IB/wPiAf8D4gH/A+IB/wPiAf8D4gH/A+MB/wPhAf8DzgH/ - A7IB/wQAA+QB/wMoATwgAAMMARABhgIAAf8B2QHCAcMB/wHQAboBvAH/AdABuQG7Af8B0AG5AbsB/wHQ - AbkBuwH/AdABuQG7Af8B0AG5AbsB/wHQAbkBuwH/AdABuQG7Af8B0AG5AbsB/wHPAboBwAH/AdABuQG4 - Af8B9gGCAQAB/wH3AYEBAAH/AfYCAAH/AfwB4AG9Af8B/AHgAb4B/wH8AdcBqwH/AfcBmwEAAf8B+gHI - AY0B/wH3AYIBAAH/Af4B9QHuAf8B+AGcAQAB/wH2AgAB/wH2AgAB/wH2AgAB/wH3AYEBAAL/AYoBAAH/ - AakCAAH/AwwBEBAAAyUBNwJlAVwB5wG5AbgBkwH/AQABtgHyAf8BAAGyAv8BAAGvAfkB/wEAAa0B+gH/ - AQABqgHtAf8BlgGsAakB/wGkAaoBmAH/AZsBoQGVAf8BkAGcAZoB/wGhAZgBggH/AcMBigEAAf8BxAIA - Af8BvQIAAf8BvAIAAf8BuQIAAf8BtwIAAf8BsgIAAf8BtQIAAf8B1wGfAQAB/wNlAecDJQE3EAADBAEF - A64B/wP4Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/ - A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP4Af8DrgH/ - AwUBBhAAAzMBUgP7Af8D4wH/A+EB/wPhAf8D4QH/A+EB/wPhAf8D4QH/A+EB/wPhAf8D4QH/A+EB/wPf - Af8D2wH/A7wB/wPNAf8D6gH/AygBOyQAAwUBBgNaAfUB4gHNAc8B/wHZAcEBwwH/AdIBvAG+Af8B0gG8 - Ab4B/wHSAbwBvgH/AdIBvAG+Af8B0gG8Ab4B/wHSAbwBvgH/AdIBvAG+Af8B0gG8Ab4B/wHRAb4BxAH/ - AdQBvAG7Af8B/AGDAQAC/wGCAQAB/wH8AYIBAAH/AfwBgQEAAf8B/QGGAQAB/wH9AYoBAAH/AfwBhAEA - Af8B/QGVAQAB/wH8AYIBAAH/Af0BmQEAAf8B/QGJAQAB/wH8AYIBAAH/AfwBgwEAAf8B/AGDAQAC/wGJ - AQAC/wGTAQAB/wFaAkgB9QMFAQYUAAMeASsCXAFbAc0B1QG4AQAB/wEAAbUBzQH/AQABsQH+Af8BAAGu - Av8BAAGrAfsB/wEAAagB/gH/AQABpwHvAf8BmgGiAZcB/wHVAYoBAAH/AcwBggEAAf8BxQGAAQAB/wHB - AgAB/wG/AgAB/wG8AgAB/wG4AgAB/wG2AgAB/wHFAYQBAAH/AeIBrgEAAf8DXAHNAx4BKxgAA1oBwgPD + AY0BiwH/A/YB/wsAAf8DnQH/BwAB/wPLAf8gAAOAAf4DDgESA2UB7AEAAbcB2QH/AQABtAL/AQABswL/ + AasBqAGPAf8B3QGTAQAB/wHOAZABAAH/AcwBjQEAAf8BzQGRAQAB/wEAAaIB2QH/AQABnAH6Af8BAAGZ + AfQB/wEAAZYB9AH/AQABlAH6Af8BAAGWAa0B/wHEAgAB/wHAAgAB/wGsAYABAAH/AaoCAAH/AcQCAAH/ + AQABhwGZAf8CAAH+Af8CAAHwAf8CAAHwAf8CAAH7Af8BAAGFAaYB/wG2AgAB/wGrAgAB/wGrAgAB/wGo + AgAB/wG6AgAB/wNlAewDBgEHA6YB/wP0Af8D7wH/A+8B/wPuAf8D7gH/A+4B/wPuAf8D7gH/A+4B/wPu + Af8EAAOlAf8DAAH/A8UB/wPFAf8DAAH/A4YB/wP3Af8D8gH/A+4B/wPuAf8D7gH/A+4B/wPuAf8D7gH/ + A+4B/wPuAf8D9AH/A6YB/wMGAQgQAAMzAVID2wH/AwAB/wPhAf8D7AH/A9wB/wPcAf8DAAH/AwAB/wMA + Af8DmAH/A50B/wMAAf8DjgH/A7kB/wPIAf8DswH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DzgH/AzgBXRAA + Aw4BEgErARoBHwH+AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ + AeYB4wHlAf8B8gHwAfEB/wHtAuwB/wLrAeoB/wH2AfQB9QH/AfAB7QHvAf8B6gHoAeoB/wHsAesB7AH/ + Ae0B6wHsAf8B7AHqAesB/wHsAeoB6wH/AesB6gHrAf8B7AHqAewB/wHsAeoB6wH/Ae0B7AHtAf8B9QH0 + AfUB/wOAAf4DDgESA2UB7AEAAbgB1QH/AQABtQL/AQABsgH8Af8BAAGxAfIB/wGhAakBmgH/AdQBlgEA + Af8BzwGMAQAB/wHJAZUBAAH/AQABowHkAf8BAAGdAfkB/wEAAZsB9AH/AQABmAH8Af8BAAGaAcMB/wHR + AYABAAH/AcACAAH/AcICAAH/AaYBhAEAAf8BAAGSAdcB/wGnAYoBAAH/AQABhQHUAf8CAAH1Af8CAAHw + Af8CAAHwAf8CAAH7Af8BAAGFAaYB/wG2AgAB/wGrAgAB/wGrAgAB/wGoAgAB/wG6AgAB/wNlAewDBgEH + A6oB/wP5Af8D9AH/A/IB/wPyAf8D8QH/A/AB/wPwAf8D7wH/A+8B/wPvAf8EAAOhAf8DogH/CAADoQH/ + A5EB/wP+Af8D8QH/A+8B/wPvAf8D7wH/A+8B/wPvAf8D7wH/A+8B/wPvAf8D9QH/A6cB/wMGAQgQAAMz + AVIHAAH/A5gB/wPyAf8D2QH/BAADkAH/AwAB/wPWAf8D6QH/A+AB/wPdAf8D1wH/A9EB/wPOAf8DnQH/ + AwAB/wOAAf8DAAH/AwAB/wOzAf8D9AH/AzcBWhAAAw4BEgEkARcBGwH+AwAB/wMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AecB5QHmAf8D8QH/AewB5wHqAf8B8AHrAe0B/wHt + AeoB7AH/AewB5wHqAf8B8AHrAe0B/wHtAeoB7AH/AewB6gHrAf8B7AHqAesB/wHsAeoB7AH/Ae0B6wHs + Af8B7QHrAe0B/wHvAesB7QH/AfAB7QHvAf8B9wH1AfcB/wOAAf4DDgESA2AB4AGEAbgBzAH/AQABtgL/ + AQABswH5Af8BAAGwAfsB/wEAAbAC/wGMAaoBsQH/AdkBlAEAAf8B1AGUAQAB/wEAAaUB3wH/AQABngH6 + Af8BAAGcAfQB/wEAAZkB+QH/AQABmQHaAf8BpAGRAQAB/wGwAYkBAAH/AaUBiQEAAf8BuAGHAQAB/wEA + AY8BxQH/AQABhwH7Af8BAAGBAfEB/wIAAfAB/wIAAfAB/wIAAfAB/wIAAfsB/wEAAYQBpAH/AbYCAAH/ + AasCAAH/AasCAAH/AagCAAH/Ab4CAAH/A2AB4AMGAQcDqgH/A/kB/wP0Af8D9AH/A/QB/wP0Af8D9AH/ + A/MB/wPzAf8D8wH/A/IB/wQAA6IB/wGqAqkB/wgAA6kB/wOdAf8EAAPxAf8D8AH/A/AB/wPwAf8D8AH/ + A/AB/wPwAf8D8AH/A/AB/wP2Af8DqAH/AwYBCBAAAzMBUgQAA4gB/wMAAf8D8AH/A+kB/wOqAf8DAAH/ + AwAB/wOuAf8D4wH/A8oB/wPLAf8DzgH/A8gB/wOdAf8DgQH/A4YB/wMAAf8DAAH/A6sB/wPnAf8EAAM3 + AVoQAAMOARIBGQERARQB/gMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ + AwAB/wLrAfAB/wL2Af4B/wLvAfQB/wHwAe8B9AH/AfAB7gH1Af8B8AHuAfUB/wHwAfEB9QH/AfAB8QH1 + Af8B8AHxAfUB/wLxAfUB/wHxAfAB9wH/AfEB8gH3Af8C8gH2Af8C8gH5Af8B9AHyAfoB/wH7AfoC/wOA + Af4DDgESA10ByQGXAbkBuAH/AQABuAL/AQABtQH5Af8BAAGyAfkB/wEAAa8B+QH/AQABrQH+Af8BAAGq + AcMB/wGdAaQBmAH/AQABpAHuAf8BAAGgAfcB/wEAAZ0B9QH/AQABmgHzAf8BAAGXAfgB/wEAAZYB+gH/ + AQABlQH0Af8BAAGSAfkB/wEAAZAB8QH/AQABiQHxAf8BAAGFAfMB/wEAAYMB8QH/AQABgAHwAf8CAAHw + Af8CAAHwAf8CAAH9Af8BAAGEAZUB/wG1AgAB/wGrAgAB/wGrAgAB/wGnAgAB/wHGAYcBAAH/A10ByQMG + AQcDqwH/A/oB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wQAA6YB/wMAAf8DxAH/ + A8QB/wMAAf8DpAH/BAAD8QH/A/EB/wPxAf8D8AH/A/AB/wPwAf8D8AH/A/AB/wPwAf8D9QH/A6cB/wMG + AQgQAAMzAVIEAAPIAf8DAAH/A4cB/wMAAf8DAAH/AwAB/wMAAf8DywH/A9sB/wPPAf8DxAH/A6wB/wOa + Af8DiwH/A4cB/wMAAf8DgAH/A7cB/wPnAf8D8QH/BAADNwFaEAADDgESARYBEAESAf4DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8B4ALcAf8B7AHqAesB/wHmAeMB5gH/ + AeYB4wHmAf8B5gHjAeYB/wHmAeMB5gH/AeYB4wHmAf8B5gHjAeYB/wHmAeMB5gH/AecB4wHmAf8B5wLm + Af8B5wHlAeYB/wHnAeUB5gH/AecB5QHmAf8B6AHmAegB/wHxAu0B/wOAAf4DDgESA1ABnQG1AboBmQH/ + AQABuQL/AQABtgH5Af8BAAGzAfkB/wEAAbAB+AH/AQABrgH4Af8BAAGrAf4B/wEAAakC/wEAAaQB9wH/ + AQABogH1Af8BAAGfAfUB/wEAAZwB9AH/AQABmQH0Af8BAAGWAfQB/wEAAZIB9AH/AQABkAHzAf8BAAGM + AfoB/wEAAYwB+QH/AQABhwHwAf8BAAGDAfYB/wEAAYEB+wH/AgAB+QH/AgAB+AH/AQABgwH+Af8BlwIA + Af8BsAIAAf8BqwIAAf8BqwIAAf8BqAIAAf8B0gGZAQAB/wNQAZ0DBgEHA6sB/wP7Af8D9QH/A/UB/wP1 + Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8EAAO+Af8DAAH/AwAB/wMAAf8DAAH/A74B/wQAA/YB/wP1 + Af8D9QH/A/QB/wP0Af8D8wH/A/MB/wPzAf8D8gH/A/gB/wOqAf8DBgEIEAADMwFSBAAD7gH/AwAB/wMA + Af8DAAH/A6gB/wPZAf8D8AH/A9kB/wPPAf8D0wH/A9AB/wOgAf8DkgH/A5UB/wOYAf8DrAH/A9QB/wPo + Af8D7QH/A+4B/wQAAzcBWhAAAw4BEgGAAWoBbAH+AdEBuQG8Af8BygGzAbYB/wHJAbIBtQH/AckBsgG1 + Af8ByQGyAbUB/wHJAbIBtQH/AckBsgG1Af8ByQGyAbUB/wHJAbIBtQH/AckBsgG1Af8ByQG0AbsB/wHG + AqwB/wHMAgAB/wHKAgAB/wHKAgAB/wHKAgAB/wHKAgAB/wHKAgAB/wHKAgAB/wHKAgAB/wHKAgAB/wHK + AgAB/wHKAgAB/wHJAgAB/wHJAgAB/wHJAgAB/wHKAgAB/wHSAgAB/wGAAS4BDAH+Aw4BEgM4AVwB1wG5 + AQAB/wEAAboB9gH/AQABtwH8Af8BAAG1AfkB/wEAAbIB+QH/AQABrwH4Af8BAAGsAfgB/wEAAakB9wH/ + AQABpgH2Af8BAAGjAfYB/wEAAaAB9QH/AQABnQH1Af8BAAGaAfQB/wEAAZgB9AH/AQABlAHzAf8BAAGS + Af0B/wEAAZMB1AH/AZ0BlAEAAf8BAAGPAewB/wEAAYsB2gH/AQABigGnAf8BAAGIAb8B/wEAAYcB0QH/ + AQABhwGbAf8BswIAAf8BqwIAAf8BqwIAAf8BqgIAAf8BrQIAAf8B4QGuAQAB/wM4AVwDBgEHA6wB/wP8 + Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D+AH/A/sB/wPzAf8B8QLzAf8B8QLz + Af8D8wH/A/sB/wP4Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP3Af8D/AH/A6wB/wMG + AQgQAAMzAVIEAAPtAf8D0wH/A8oB/wPrAf8D6wH/A+sB/wPrAf8D5AH/A9oB/wPVAf8DzgH/A8IB/wPC + Af8DywH/A9oB/wPiAf8D4wH/A+MB/wPjAf8D4wH/A/4B/wM4AVsQAAMOARIBfgFkAWYB/gHGAaoBrAH/ + Ab8BowGlAf8BvgGiAaQB/wG+AaIBpAH/Ab4BogGkAf8BvgGiAaQB/wG+AaIBpAH/Ab4BogGkAf8BvgGi + AaQB/wG+AaIBowH/Ab4BowGoAf8BvgGiAaEB/wHQAgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHQ + AgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHQAgAB/wHRAgAB/wHY + AgAB/wGAAS8BDAH+Aw4EEgEYA14B8AGEAboBzQH/AQABuQL/AQABtgH5Af8BAAGzAfkB/wEAAbAB+AH/ + AQABrgH4Af8BAAGqAfcB/wEAAagB9wH/AQABpAH2Af8BAAGiAfYB/wEAAZ4B9QH/AQABnAH0Af8BAAGZ + AfQB/wEAAZYB/AH/AQABmAG1Af8BwwGCAQAB/wHFAgAB/wGkAYsBAAH/AbUCAAH/Ab8CAAH/AbwCAAH/ + AbkCAAH/AbYCAAH/AasCAAH/AasCAAH/AasCAAH/AagCAAH/Ab0CAAH/A14B8AMSARgDBgEHA6sB/wP8 + Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/oB/wP9Af8D/gH/A/4B/wP9 + Af8D+gH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP3Af8D9wH/A/cB/wP8Af8DqwH/AwYBCBAA + AzMBUgQAA+wB/wPqAf8D6gH/A+oB/wPqAf8D6gH/A+oB/wPqAf8D5gH/A+AB/wPaAf8D2gH/A90B/wPf + Af8D2wH/A88B/wPHAf8DxQH/A8cB/wPCAf8D1wH/AzUBVRAAAw4BEgF8AWIBZQH+AcUBpwGqAf8BvgGg + AaQB/wG9AZ8BowH/Ab0BnwGjAf8BvQGfAaMB/wG9AZ8BowH/Ab0BnwGjAf8BvQGfAaMB/wG9AZ8BowH/ + Ab0BnwGhAf8BvQGgAacB/wG9AZ4BoAH/AdICAAH/AdICAAH/AdECAAH/AdMCAAH/AdICAAH/AdICAAH/ + AdECAAH/AdMCAAH/AdECAAH/AdMCAAH/AdECAAH/Ac8CAAH/AdUCAAH/AdYCAAH/AdMCAAH/AdsCAAH/ + AYABMwENAf4DDgESBAADUQGfAcEBugGMAf8BAAG6Af4B/wEAAbcB+gH/AQABtAH5Af8BAAGyAfgB/wEA + Aa8B+AH/AQABrAH4Af8BAAGpAfcB/wEAAaYB9gH/AQABowH2Af8BAAGgAfUB/wEAAZ0B9QH/AQABmgH7 + Af8BAAGcAcsB/wHSAYQBAAH/AcoCAAH/Ab0BgQEAAf8BmgGOAQAB/wG3AgAB/wG0AgAB/wGyAgAB/wGw + AgAB/wGtAgAB/wGsAgAB/wGrAgAB/wGrAgAB/wGoAgAB/wHYAaABAAH/A1EBnwQAAwYBBwOsAf8D/AH/ + A/kB/wgAA/kB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4 + Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP5Af8C/gL/BAAB+QL7Af8D/AH/A6wB/wMGAQgQAAMzAVIEAAPq + Af8D6AH/A+gB/wPoAf8D6AH/A+gB/wPoAf8D6AH/A+gB/wPoAf8D6AH/A+gB/wPpAf8D4gH/A8wB/wOj + Af8DiwH/A4cB/wMAAf8DjAH/A2IB7wMJAQsQAAMOARIBfQFlAWcB/gHGAasBrQH/Ab8BpAGmAf8BvgGj + AaUB/wG+AaMBpQH/Ab4BowGlAf8BvgGjAaUB/wG+AaMBpQH/Ab4BowGlAf8BvgGjAaUB/wG+AaMBpQH/ + Ab4BpAGpAf8BvwKjAf8B2AIAAf8B2QIAAf8B1wIAAf8B+QHjAcoB/wHiAZABAAH/AdYCAAH/AdsCAAH/ + AfoB6AHUAf8B2wIAAf8B9gHeAcMB/wHdAgAB/wHpAawBAAH/AfcB2QG4Af8B8QHCAYwB/wHgAYIBAAH/ + AeECAAH/AYABNwENAf4DDgESBAADHwEsAmoBZgH5AYMBugHPAf8BAAG5Av8BAAG2AfkB/wEAAbMB+QH/ + AQABsAH4Af8BAAGtAfgB/wEAAaoB9wH/AQABqAH3Af8BAAGkAfYB/wEAAaEB9QH/AQABngH1Af8BAAGb + AfoB/wEAAZwBzAH/AZgBlAGFAf8BjwGUAY0B/wEAAZUBzwH/AQABkAL/AZIBjQEAAf8BvQIAAf8BswIA + Af8BsQIAAf8BrwIAAf8BrQIAAf8BqwIAAf8BpwIAAf8BvQIAAf8CagFoAfkDHwEsBAADBgEHA64B/wP8 + Af8EAAHiAd8B3gH/AeQB4gHgAf8EAAP6Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5 + Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/oB/wQAAeQB4wHhAf8B4AHeAdsB/wQAA/wB/wOu + Af8DBgEIEAADMwFSBAAD6AH/A+YB/wPmAf8D5gH/A+YB/wPmAf8D5gH/A+YB/wPmAf8D5gH/A+YB/wPm + Af8D5wH/A94B/wO/Af8DAAH/AwAB/wMAAf8DkAH/A6IB/wMhATAUAAMOARIBgAFoAWoB/gHKAa4BsAH/ + AcMBpwGpAf8BwgGmAagB/wHCAaYBqAH/AcIBpgGoAf8BwgGmAagB/wHCAaYBqAH/AcIBpgGoAf8BwgGm + AagB/wHCAaYBqAH/AcIBpwGtAf8BwwGlAaYB/wHeAgAB/wHgAgAB/wHdAgAB/wH+AfIB5gH/AesBnQEA + Af8B3gIAAf8B4gIAAf8B/gH7AfYB/wHgAgAB/wH7AewB2gH/AegBkgEAA/8B/gH/AewBrAEAAf8B5wGX + AQAB/wHkAgAB/wHoAgAB/wGAATsBDQH+Aw4BEggAA0sBjQHVAbkBAAH/AQABuQHyAf8BAAG3Af0B/wEA + AbQB+QH/AQABsQH4Af8BAAGuAfgB/wEAAawB9wH/AQABqQH3Af8BAAGmAfYB/wEAAaMB9gH/AQABoAH1 + Af8BAAGdAfQB/wEAAZoB+AH/AQABmAL/AQABlQH+Af8BAAGQAv8BAAGTAfwB/wGmAYkBAAH/AbsCAAH/ + AbQCAAH/AbICAAH/AbACAAH/Aa4CAAH/AaoCAAH/Aa4CAAH/AeABrAEAAf8DSwGNCAADBgEHA68B/wP8 + Af8B3wHeAd0B/wGrAaUBoAH/AwAB/wHTAc8BzQH/BAAD+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ + A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/BAAB6AHnAegB/wG7AbUBsQH/AwAB/wHD + Ab0BuwH/A/wB/wOvAf8DBgEIEAADMwFSBAAD5wH/A+UB/wPlAf8D5QH/A+UB/wPlAf8D5QH/A+UB/wPl + Af8D5QH/A+UB/wPmAf8D5gH/A9cB/wO2Af8D5gH/A+0B/wQAA+wB/wMlATcYAAMOARIBgAFtAW8B/gHP + AbQBtgH/AcgBrQGvAf8BxgGsAa4B/wHGAawBrgH/AcYBrAGuAf8BxgGsAa4B/wHGAawBrgH/AcYBrAGu + Af8BxgGsAa4B/wHGAawBrgH/AcUBrQGyAf8BxgGrAawB/wHoAgAB/wHoAgAB/wHnAgAB/wH7AeoB1QH/ + AfoB4QHBAf8B9QHBAYQB/wHpAgAB/wH+Af8B/gH/AegCAAH/AfoB6gHSAf8B7QGRAQAB/wH8AfQB6gH/ + AfIBsQEAAf8EAAHuAZYBAAH/AfACAAH/AYABPwEPAf4DDgESCAADCQEMAl8BWwHQAboBuQGTAf8BAAG4 + Af0B/wEAAbYB/AH/AQABswH5Af8BAAGwAfgB/wEAAa0B+AH/AQABqgH3Af8BAAGnAfcB/wEAAaQB+wH/ + AQABoQH2Af8BAAGeAfUB/wEAAZsB9AH/AQABmAH0Af8BAAGUAfwB/wEAAZgB5AH/AZ4BkQEAAf8BwAIA + Af8BtwIAAf8BtQIAAf8BswIAAf8BsQIAAf8BrgIAAf8BqwIAAf8B1QGcAQAB/wNfAdADCQEMCAADBgEH + A7AB/wP8Af8DyQH/AdUB1AHVAf8BsgGxAa4B/wG5AbYBswH/BAAD+wH/A/sB/wP7Af8D+wH/A/sB/wP7 + Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/BAAD2QH/AcwBzQHMAf8ByQHH + AcUB/wG1AbIBrgH/A/wB/wOwAf8DBgEIEAADMwFSBAAD5gH/A+QB/wPkAf8D5AH/A+QB/wPkAf8D5AH/ + A+QB/wPkAf8D5AH/A+QB/wPlAf8D4wH/A9MB/wOyAf8D+QH/BAAD6QH/AygBOxwAAw4BEgGAAXMBdQH+ + AdQBuwG9Af8BzAG0AbYB/wHLAbMBtQH/AcsBswG1Af8BywGzAbUB/wHLAbMBtQH/AcsBswG1Af8BywGz + AbUB/wHLAbMBtQH/AcsBswG1Af8BygG0AbsB/wHLArMB/wHwAgAB/wHxAgAB/wHuAgAB/wH+AfIB5gH/ + AfIBmgEAAf8B7QIAAf8B7gIAAf8B+gHHAYsB/wHwAgAB/wH8Ae8B3gH/AfEBjAEAAf8B8gGZAQAB/wH5 + AdABngH/AfcBvQEAAf8B8QIAAf8B+AGDAQAB/wGAAUQBDwH+Aw4BEgwAAx0BKQNgAegBsAG5AZ8B/wEA + AbcB/QH/AQABtAH9Af8BAAGxAfgB/wEAAa4B+AH/AQABqwH9Af8BAAGsAcUB/wEAAakBvQH/AQABowH6 + Af8BAAGgAv8BAAGeAv8BAAGcAv8BAAGdAdsB/wG6AY0BAAH/AcYCAAH/AboCAAH/AbgCAAH/AbYCAAH/ + AbQCAAH/AbECAAH/Aa4CAAH/AdEBlwEAAf8DYAHoAx0BKQwAAwYBBwOxAf8D/QH/A/UB/wHPAdEB0AH/ + AtQB1QH/A/UB/wQAA/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/ + A/wB/wP8Af8D/AH/A/wB/wQAA/gB/wHDAsQB/wLSAdEB/wPxAf8D/QH/A7EB/wMGAQgQAAMzAVID/QH/ + A+QB/wPiAf8D4gH/A+IB/wPiAf8D4gH/A+IB/wPiAf8D4gH/A+IB/wPiAf8D4wH/A+EB/wPOAf8DsgH/ + BAAD5AH/AygBPCAAAwwBEAGGAgAB/wHZAcIBwwH/AdABugG8Af8B0AG5AbsB/wHQAbkBuwH/AdABuQG7 + Af8B0AG5AbsB/wHQAbkBuwH/AdABuQG7Af8B0AG5AbsB/wHQAbkBuwH/Ac8BugHAAf8B0AG5AbgB/wH2 + AYIBAAH/AfcBgQEAAf8B9gIAAf8B/AHgAb0B/wH8AeABvgH/AfwB1wGrAf8B9wGbAQAB/wH6AcgBjQH/ + AfcBggEAAf8B/gH1Ae4B/wH4AZwBAAH/AfYCAAH/AfYCAAH/AfYCAAH/AfcBgQEAAv8BigEAAf8BqQIA + Af8DDAEQEAADJQE3AmUBXAHnAbkBuAGTAf8BAAG2AfIB/wEAAbIC/wEAAa8B+QH/AQABrQH6Af8BAAGq + Ae0B/wGWAawBqQH/AaQBqgGYAf8BmwGhAZUB/wGQAZwBmgH/AaEBmAGCAf8BwwGKAQAB/wHEAgAB/wG9 + AgAB/wG8AgAB/wG5AgAB/wG3AgAB/wGyAgAB/wG1AgAB/wHXAZ8BAAH/A2UB5wMlATcQAAMEAQUDrgH/ + A/gB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/ + A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/gB/wOuAf8DBQEG + EAADMwFSA/sB/wPjAf8D4QH/A+EB/wPhAf8D4QH/A+EB/wPhAf8D4QH/A+EB/wPhAf8D4QH/A98B/wPb + Af8DvAH/A80B/wPqAf8DKAE7JAADBQEGA1oB9QHiAc0BzwH/AdkBwQHDAf8B0gG8Ab4B/wHSAbwBvgH/ + AdIBvAG+Af8B0gG8Ab4B/wHSAbwBvgH/AdIBvAG+Af8B0gG8Ab4B/wHSAbwBvgH/AdEBvgHEAf8B1AG8 + AbsB/wH8AYMBAAL/AYIBAAH/AfwBggEAAf8B/AGBAQAB/wH9AYYBAAH/Af0BigEAAf8B/AGEAQAB/wH9 + AZUBAAH/AfwBggEAAf8B/QGZAQAB/wH9AYkBAAH/AfwBggEAAf8B/AGDAQAB/wH8AYMBAAL/AYkBAAL/ + AZMBAAH/AVoCSwH1AwUBBhQAAx4BKwJcAVsBzQHVAbgBAAH/AQABtQHNAf8BAAGxAf4B/wEAAa4C/wEA + AasB+wH/AQABqAH+Af8BAAGnAe8B/wGaAaIBlwH/AdUBigEAAf8BzAGCAQAB/wHFAYABAAH/AcECAAH/ + Ab8CAAH/AbwCAAH/AbgCAAH/AbYCAAH/AcUBhAEAAf8B4gGuAQAB/wNcAc0DHgErGAADWgHCA8MB/wPC Af8DwgH/A8IB/wPCAf8DwgH/A8IB/wPCAf8DwgH/A8IB/wPCAf8DwgH/A8IB/wPCAf8DwgH/A8IB/wPC - Af8DwgH/A8IB/wPCAf8DwgH/A8IB/wPCAf8DwgH/A8IB/wPCAf8DwgH/A8IB/wPDAf8DWwHEFAADMwFS - A/oB/wPiAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A9sB/wPPAf8DzAH/ - A8wB/wMoATssAANIAYMBtAKhAf8B7wHeAd8B/wHsAdoB3QH/AewB2gHcAf8B7AHaAdwB/wHsAdoB3AH/ - AewB2gHcAf8B7AHaAdwB/wHsAdoB3AH/AewB2gHcAf8B6wHdAeIB/wHrAdkB1wL/AaABAAL/AZ0BAAL/ - AZ8BAAL/AZ0BAAL/AZ0BAAL/AZ0BAAL/AZ0BAAL/AZoBAAL/AZ4BAAL/AZkBAAL/AZ0BAAL/AZ4BAAL/ - AZ8BAAL/AaABAAL/AaMBAAH/AdECAAH/AUgCRwGDHAADCgENA0sBjAJtAVEB9wG/AbcBjAH/AQABsgHM - Af8BAAGtAfMB/wEAAakC/wEAAaUC/wEAAacB9gH/AcMBkgEAAf8BxgGCAQAB/wHCAYABAAH/Ab8CAAH/ - Ab4CAAH/Ab8CAAH/AckBigEAAf8B3AGlAQAB/wJtAWoB9wNLAYwDCgENqAADNAFTOAADyAH/AycBOjQA - A0cBggNeAe0BlAGFAYYB/wOAAf4DgAH+A4AB/gOAAf4DgAH+A4AB/gOAAf4DgAH+A4AB/gGAAU8BEQH+ - AYABTAEPAf4BgAFOARAB/gGAAU4BEAH+AYABTgEQAf4BgAFOARAB/gGAAU4BEAH+AYABTgEQAf4BgAFO - ARAB/gGAAU4BEAH+AYABTgEQAf4BgAFOARAB/gGAAU4BEQH+AbACAAH/A14B7QNHAYIoAAMhAS8DUAGd - A14B7QHWAbgBAAH/Aa8BtAGYAf8BjQGwAbcB/wGyAasBigH/AdQBmAEAAf8BzwGSAQAB/wHQAZQBAAH/ - AdMBmQEAAf8B2gGjAQAB/wHkAbEBAAH/A14B7QNQAZ0DIQEvsAADGwElA00BkwNIAYQDSAGDA0gBgwNI - AYMDSAGDA0gBgwNIAYMDSAGDA0gBgwNIAYMDSAGDA0kBiANHAYEDGAEg2AADEwEaAzgBXANRAZwDWgHH - A10B3wNhAesDYQHrA10B3wNaAccDUQGcAzgBXAMUARsoAAFCAU0BPgcAAT4DAAEoAwABgAMAAYADAAEB - AQABAQYAAQgWAAP//wD/AAMABP8EAAGAAgABAQX/AfgBBwH/CAAB8AIAAQ8B/wHgAQAB/wgAAfACAAEP - Af8BgAEAAT8IAAHwAgABDwH+AgABHwEcAecGAAHwAgABDwH8AgABDwEcAecGAAHwAgABDwH8AgABBwEc - AecGAAHwAgABDwH4AgABAwgAAfACAAEPAfACAAEDARwB4AMAAQEB4AEAAfACAAEPAfACAAEBARwB4AMA - AQYBMAEAAfACAAEPAeACAAEBARwB4wHAAgABDAEYAQAB8AIAAQ8B4AMAARwB4wHAAgACCAEAAfACAAEP - AeAEAAEDAcACAAEQAQgBAAHwAgABDwHAAwABHAEAAQEDAAEIAQAB8AIAAQ8BwAMAARwBAAEDAYACAAEY - AQAB8AIAAQ8BwAMAARwBeAEDAcACAAEwAQAB8AIAAQ8BwAMAARwBeAHhAYACAAFgAQAB8AIAAQ8BwAQA - AXgB4AIAAQEBgAEAAfACAAEPBgAB4AIAAQEBgAEAAfACAAEPCQABBwHAAQAB8AIAAQ8JAAEPAeABAAHw - AgABDwMAAQEDAAGAAQABHwHwAQAB8AIAAQ8DAAEBAgABAQHAAQABHwH4AQAB8AIAAQ8DAAEBAgABAwHA - AQABPwH4AQAB8AIAAQ8BiAIAAQMCAAFhAYAEAAHwAgABHwGAAgABBwIAAfACAAE/AfgBAAHwAgABPwGA - AgABDwIAAXAFAAHwAgABfwHAAgABHwIAASAFAAHwAgAB/wHAAgABPwgAAfABAAEBAf8BwwHAAQAB/wgA - AfABAAEDAv8B+AEDAf8IAAHwAQABBwX/BAABgAIAAQEB8AEAAQ8K/wHHAf8BxwH/AcABAwX/AfACAAEP - Af8BwQH/AcMB/gIAAX8E/wHyAgABLwH8ARAB/wHDAfACAAEPAf4BfwH4AQ8B8wH/AfwB7wH8AQABOwHD - AeACAAEHAfwBfwH4AQ8B8gIAAW8B/QEAAQcBxwHAAgABAwH8AT8B+AEPAfICAAFvAfwDAAHAAgABAwH4 - AT8B+AEPAfICAAEvAfgDAAHAAgABAwH4AR8B+AEPAfICAAEvAfgDAAHAAgABAwHwAR8B+AEPAfICAAEv - AfgDAAHgAQEBAAEHAeABDwH4AQ8B8gIAAS8B+AMAAfACAAEPAeABDwH4AQ8B8gIAAS8B8gMAAfACAAEP - AcABBwH4AQ8B8gIAAS8B8AIAAQcB4AIAAQcBwAEDAfgBDwHyAgABLwHwAgABBwHgAgABBwGAAQMB+AEP - AfICAAEvAeACAAEHAcACAAEDAYABAQH4AQ8B8gIAAS8B4AIAAQ8BwAEAAYABAwQAAfICAAEvAcACAAEP - AcACAAEDBAAB8gIAAQ8BgAIAAQ8BwAIAAQMB8AEfAYABAQHyAgABDwGgAgABHwHAAgABAwHwAR8BwAEB - AfICAAEPAwABHwHAAQABIAEDAfABHwHAAQMB8gIAAQ8BQAIAAR8BwAIAAQMB8AEfAeABAwHyAgABDwMA - AT8BwAGAAQABAwHwAR8B8AEHAfICAAEPAYACAAE/AcACAAEDAfABHwHwAQcB8AIAAQ8BwAIAAT8B4AIA - AQcB8AEfAfgBDwHwAgABDwHAAgABfwHgAgABBwHwAR8B+AEfAfACAAEfAcACAAF/AfACAAEPAfABHwH8 - AR8B8AIAAT8BwAIAAX8B8AIAAQ8B8AEfAfwBPwHwAQABAgF/AYACAAF/AfgCAAEfAfABHwH+AT8B8AEA - AQQB/wGAAgAB/wH8AgABPwHwAR8B/gF/AfABAAEBAf8BwAIAAf8B/gIAAX8E/wHwAQABAwL/AgAC/wGA - AQEF/wHzAbwBBwL/AfgBAQL/AcABAwX/AfABAAEPA/8BwQn/AecC/wHnAeACAAEHAf8BwAEDAf8EAAHw - AgABBwGAAgABAQH/AgAB/wQAAfQCAAEvAYACAAEBAfwCAAE/BAAB9wHAAQABbwEAAQEBkAEAAfgCAAEf - BAAB9wGAAQABLwIAAZABAAHwAgABDwQAAfcBgAEAAQ8CAAGDAfwB4AIAAQcEAAH3AgABDwIAAUQBBAHA - AgABAwQAAfYCAAEPAwABBAHAAgABAwQAAfYCAAEHBAABgAIAAQEEAAH2AgABBwQAAYACAAEBBAAB9AIA - AQcCAAECBgABAQGAAQAB9AIAAQcJAAEBAYABAAH0AgABBwwAAfACAAEHAQABAQGABgABCAIAAfACAAEH - AQABAQGAARAFAAEIAgAB8AIAAQ8BAAEBAZMB/AUAAQgCAAHwAgABDwkAAQkBgAEAAfQBIAEAAQ8JAAEJ - AZABAAH0AgABLwkAAQgBEAEAAfQCAAEvCQABCAEQAQAB9AIAAS8MAAH0AgABDwwAAfQCAAEPBAABgAIA - AQEBDAIAARAB9AIAAQ8EAAGAAgABAQESAgABSAH0AgABHwQAAcACAAEDAQECAAGAAfQBAAEBAT8DAAEQ - AcACAAEDAQECAAGAAfQBAAECAX8EAAHgAgABBwEBAgABgAHwAQABBAH/BAAB8AIAAQ8EAAHwAQABAQH/ - BAAB+AIAAR8BgAIAAQEB8AEAAQMB/wGAAgABAQH8AgABPwT/AfcB/wHnAf8BwAIAAQMB/wIABf8B8AEA - AQ8G/wHAAQMB/ws= + Af8DwgH/A8IB/wPCAf8DwgH/A8IB/wPCAf8DwgH/A8IB/wPCAf8DwgH/A8MB/wNbAcQUAAMzAVID+gH/ + A+IB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D4AH/A+AB/wPgAf8D2wH/A88B/wPMAf8DzAH/ + AygBOywAA0gBgwG0AqEB/wHvAd4B3wH/AewB2gHdAf8B7AHaAdwB/wHsAdoB3AH/AewB2gHcAf8B7AHa + AdwB/wHsAdoB3AH/AewB2gHcAf8B7AHaAdwB/wHrAd0B4gH/AesB2QHXAv8BoAEAAv8BnQEAAv8BnwEA + Av8BnQEAAv8BnQEAAv8BnQEAAv8BnQEAAv8BmgEAAv8BngEAAv8BmQEAAv8BnQEAAv8BngEAAv8BnwEA + Av8BoAEAAv8BowEAAf8B0QIAAf8BSAJHAYMcAAMKAQ0DSwGMAm0BUQH3Ab8BtwGMAf8BAAGyAcwB/wEA + Aa0B8wH/AQABqQL/AQABpQL/AQABpwH2Af8BwwGSAQAB/wHGAYIBAAH/AcIBgAEAAf8BvwIAAf8BvgIA + Af8BvwIAAf8ByQGKAQAB/wHcAaUBAAH/Am0BbAH3A0sBjAMKAQ2oAAM0AVM4AAPIAf8DJwE6NAADRwGC + A14B7QGUAYUBhgH/A4AB/gOAAf4DgAH+A4AB/gOAAf4DgAH+A4AB/gOAAf4DgAH+AYABUgEUAf4BgAFP + ARIB/gGAAVEBEwH+AYABUQETAf4BgAFRARMB/gGAAVEBEwH+AYABUQETAf4BgAFRARMB/gGAAVEBEwH+ + AYABUQETAf4BgAFRARMB/gGAAVEBEwH+AYABUQEUAf4BsAIAAf8DXgHtA0cBgigAAyEBLwNQAZ0DXgHt + AdYBuAEAAf8BrwG0AZgB/wGNAbABtwH/AbIBqwGKAf8B1AGYAQAB/wHPAZIBAAH/AdABlAEAAf8B0wGZ + AQAB/wHaAaMBAAH/AeQBsQEAAf8DXgHtA1ABnQMhAS+wAAMbASUDTQGTA0gBhANIAYMDSAGDA0gBgwNI + AYMDSAGDA0gBgwNIAYMDSAGDA0gBgwNIAYMDSQGIA0cBgQMYASDYAAMTARoDOAFcA1EBnANaAccDXQHf + A2EB6wNhAesDXQHfA1oBxwNRAZwDOAFcAxQBGygAAUIBTQE+BwABPgMAASgDAAGAAwABgAMAAQEBAAEB + BgABCBYAA///AP8AAwAE/wQAAYACAAEBBf8B+AEHAf8IAAHwAgABDwH/AeABAAH/CAAB8AIAAQ8B/wGA + AQABPwgAAfACAAEPAf4CAAEfARwB5wYAAfACAAEPAfwCAAEPARwB5wYAAfACAAEPAfwCAAEHARwB5wYA + AfACAAEPAfgCAAEDCAAB8AIAAQ8B8AIAAQMBHAHgAwABAQHgAQAB8AIAAQ8B8AIAAQEBHAHgAwABBgEw + AQAB8AIAAQ8B4AIAAQEBHAHjAcACAAEMARgBAAHwAgABDwHgAwABHAHjAcACAAIIAQAB8AIAAQ8B4AQA + AQMBwAIAARABCAEAAfACAAEPAcADAAEcAQABAQMAAQgBAAHwAgABDwHAAwABHAEAAQMBgAIAARgBAAHw + AgABDwHAAwABHAF4AQMBwAIAATABAAHwAgABDwHAAwABHAF4AeEBgAIAAWABAAHwAgABDwHABAABeAHg + AgABAQGAAQAB8AIAAQ8GAAHgAgABAQGAAQAB8AIAAQ8JAAEHAcABAAHwAgABDwkAAQ8B4AEAAfACAAEP + AwABAQMAAYABAAEfAfABAAHwAgABDwMAAQECAAEBAcABAAEfAfgBAAHwAgABDwMAAQECAAEDAcABAAE/ + AfgBAAHwAgABDwGIAgABAwIAAWEBgAQAAfACAAEfAYACAAEHAgAB8AIAAT8B+AEAAfACAAE/AYACAAEP + AgABcAUAAfACAAF/AcACAAEfAgABIAUAAfACAAH/AcACAAE/CAAB8AEAAQEB/wHDAcABAAH/CAAB8AEA + AQMC/wH4AQMB/wgAAfABAAEHBf8EAAGAAgABAQHwAQABDwr/AccB/wHHAf8BwAEDBf8B8AIAAQ8B/wHB + Af8BwwH+AgABfwT/AfICAAEvAfwBEAH/AcMB8AIAAQ8B/gF/AfgBDwHzAf8B/AHvAfwBAAE7AcMB4AIA + AQcB/AF/AfgBDwHyAgABbwH9AQABBwHHAcACAAEDAfwBPwH4AQ8B8gIAAW8B/AMAAcACAAEDAfgBPwH4 + AQ8B8gIAAS8B+AMAAcACAAEDAfgBHwH4AQ8B8gIAAS8B+AMAAcACAAEDAfABHwH4AQ8B8gIAAS8B+AMA + AeABAQEAAQcB4AEPAfgBDwHyAgABLwH4AwAB8AIAAQ8B4AEPAfgBDwHyAgABLwHyAwAB8AIAAQ8BwAEH + AfgBDwHyAgABLwHwAgABBwHgAgABBwHAAQMB+AEPAfICAAEvAfACAAEHAeACAAEHAYABAwH4AQ8B8gIA + AS8B4AIAAQcBwAIAAQMBgAEBAfgBDwHyAgABLwHgAgABDwHAAQABgAEDBAAB8gIAAS8BwAIAAQ8BwAIA + AQMEAAHyAgABDwGAAgABDwHAAgABAwHwAR8BgAEBAfICAAEPAaACAAEfAcACAAEDAfABHwHAAQEB8gIA + AQ8DAAEfAcABAAEgAQMB8AEfAcABAwHyAgABDwFAAgABHwHAAgABAwHwAR8B4AEDAfICAAEPAwABPwHA + AYABAAEDAfABHwHwAQcB8gIAAQ8BgAIAAT8BwAIAAQMB8AEfAfABBwHwAgABDwHAAgABPwHgAgABBwHw + AR8B+AEPAfACAAEPAcACAAF/AeACAAEHAfABHwH4AR8B8AIAAR8BwAIAAX8B8AIAAQ8B8AEfAfwBHwHw + AgABPwHAAgABfwHwAgABDwHwAR8B/AE/AfABAAECAX8BgAIAAX8B+AIAAR8B8AEfAf4BPwHwAQABBAH/ + AYACAAH/AfwCAAE/AfABHwH+AX8B8AEAAQEB/wHAAgAB/wH+AgABfwT/AfABAAEDAv8CAAL/AYABAQX/ + AfMBvAEHAv8B+AEBAv8BwAEDBf8B8AEAAQ8D/wHBCf8B5wL/AecB4AIAAQcB/wHAAQMB/wQAAfACAAEH + AYACAAEBAf8CAAH/BAAB9AIAAS8BgAIAAQEB/AIAAT8EAAH3AcABAAFvAQABAQGQAQAB+AIAAR8EAAH3 + AYABAAEvAgABkAEAAfACAAEPBAAB9wGAAQABDwIAAYMB/AHgAgABBwQAAfcCAAEPAgABRAEEAcACAAED + BAAB9gIAAQ8DAAEEAcACAAEDBAAB9gIAAQcEAAGAAgABAQQAAfYCAAEHBAABgAIAAQEEAAH0AgABBwIA + AQIGAAEBAYABAAH0AgABBwkAAQEBgAEAAfQCAAEHDAAB8AIAAQcBAAEBAYAGAAEIAgAB8AIAAQcBAAEB + AYABEAUAAQgCAAHwAgABDwEAAQEBkwH8BQABCAIAAfACAAEPCQABCQGAAQAB9AEgAQABDwkAAQkBkAEA + AfQCAAEvCQABCAEQAQAB9AIAAS8JAAEIARABAAH0AgABLwwAAfQCAAEPDAAB9AIAAQ8EAAGAAgABAQEM + AgABEAH0AgABDwQAAYACAAEBARICAAFIAfQCAAEfBAABwAIAAQMBAQIAAYAB9AEAAQEBPwMAARABwAIA + AQMBAQIAAYAB9AEAAQIBfwQAAeACAAEHAQECAAGAAfABAAEEAf8EAAHwAgABDwQAAfABAAEBAf8EAAH4 + AgABHwGAAgABAQHwAQABAwH/AYACAAEBAfwCAAE/BP8B9wH/AecB/wHAAgABAwH/AgAF/wHwAQABDwb/ + AcABAwH/Cw== @@ -1065,18 +1065,6 @@ True - - True - - - True - - - True - - - True - True @@ -1098,9 +1086,6 @@ Choose a permitted application from your drive. SEB will automatically fill in title, executable and path of the application. Path will usually be empty for applications which have been installed and properly registered in Windows App Paths. - - 17, 17 - True @@ -1110,36 +1095,6 @@ Allow locating third party applications with a file dialog if it cannot be found at the paths specified. Only applications matching other criteria specified (like Original Name, executable) are accepted. - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - True @@ -1184,15 +1139,6 @@ IMPORTANT: Always copy the key(s) as a last step, after the configuration file w True - - True - - - True - - - True - To be used on Windows tablets. In Window 10, Tablet Mode needs to be activated. Not working with the Create New Desktop kiosk mode, you have to reconfigure the SEB client settings to Disable Explorer Shell.