diff --git a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs index 13ca5588..93a654a6 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/SecurityDataMapper.cs @@ -9,7 +9,6 @@ using System.Collections.Generic; using SafeExamBrowser.Settings; using SafeExamBrowser.Settings.Security; -using SafeExamBrowser.Settings.Service; namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping { @@ -31,9 +30,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping case Keys.Security.QuitPasswordHash: MapQuitPasswordHash(settings, value); break; - case Keys.Security.ServicePolicy: - MapServicePolicy(settings, value); - break; } } @@ -108,17 +104,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping } } - private void MapServicePolicy(AppSettings settings, object value) - { - const int WARN = 1; - const int FORCE = 2; - - if (value is int policy) - { - settings.Service.Policy = policy == FORCE ? ServicePolicy.Mandatory : (policy == WARN ? ServicePolicy.Warn : ServicePolicy.Optional); - } - } - private void MapVirtualMachinePolicy(AppSettings settings, object value) { if (value is bool allow) diff --git a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/ServiceDataMapper.cs b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/ServiceDataMapper.cs index f8c1d925..00f39a94 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/ServiceDataMapper.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/ServiceDataMapper.cs @@ -7,6 +7,7 @@ */ using SafeExamBrowser.Settings; +using SafeExamBrowser.Settings.Service; namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping { @@ -52,6 +53,12 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping case Keys.Service.EnableWindowsUpdate: MapEnableWindowsUpdate(settings, value); break; + case Keys.Service.IgnoreService: + MapIgnoreService(settings, value); + break; + case Keys.Service.Policy: + MapPolicy(settings, value); + break; case Keys.Service.SetVmwareConfiguration: MapSetVmwareConfiguration(settings, value); break; @@ -154,6 +161,25 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping } } + private void MapIgnoreService(AppSettings settings, object value) + { + if (value is bool ignore) + { + settings.Service.IgnoreService = ignore; + } + } + + private void MapPolicy(AppSettings settings, object value) + { + const int WARN = 1; + const int FORCE = 2; + + if (value is int policy) + { + settings.Service.Policy = policy == FORCE ? ServicePolicy.Mandatory : (policy == WARN ? ServicePolicy.Warn : ServicePolicy.Optional); + } + } + private void MapSetVmwareConfiguration(AppSettings settings, object value) { if (value is bool set) diff --git a/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs b/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs index dc6b35d0..796f7e78 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs @@ -184,6 +184,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData settings.Service.DisableUserSwitch = true; settings.Service.DisableVmwareOverlay = true; settings.Service.DisableWindowsUpdate = true; + settings.Service.IgnoreService = true; settings.Service.Policy = ServicePolicy.Mandatory; settings.Service.SetVmwareConfiguration = false; diff --git a/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs b/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs index ccccb2b9..ee62f01a 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs @@ -213,7 +213,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData internal const string KioskModeCreateNewDesktop = "createNewDesktop"; internal const string KioskModeDisableExplorerShell = "killExplorerShell"; internal const string QuitPasswordHash = "hashedQuitPassword"; - internal const string ServicePolicy = "sebServicePolicy"; } internal static class Service @@ -230,6 +229,8 @@ namespace SafeExamBrowser.Configuration.ConfigurationData internal const string EnableUserSwitch = "insideSebEnableSwitchUser"; internal const string EnableVmwareOverlay = "insideSebEnableVmWareClientShade"; internal const string EnableWindowsUpdate = "enableWindowsUpdate"; + internal const string IgnoreService = "sebServiceIgnore"; + internal const string Policy = "sebServicePolicy"; internal const string SetVmwareConfiguration = "setVmwareConfiguration"; } diff --git a/SafeExamBrowser.Runtime.UnitTests/Operations/ServiceOperationTests.cs b/SafeExamBrowser.Runtime.UnitTests/Operations/ServiceOperationTests.cs index 07996ed8..ba6829df 100644 --- a/SafeExamBrowser.Runtime.UnitTests/Operations/ServiceOperationTests.cs +++ b/SafeExamBrowser.Runtime.UnitTests/Operations/ServiceOperationTests.cs @@ -75,6 +75,23 @@ namespace SafeExamBrowser.Runtime.UnitTests.Operations service.Verify(s => s.Connect(null, true), Times.Exactly(2)); } + [TestMethod] + public void Perform_MustNotConnectToServiceWithIgnoreSet() + { + service.Setup(s => s.Connect(null, true)).Returns(true); + context.Next.Settings.Service.IgnoreService = true; + context.Next.Settings.Service.Policy = ServicePolicy.Mandatory; + + sut.Perform(); + + service.Setup(s => s.Connect(null, true)).Returns(true); + context.Next.Settings.Service.Policy = ServicePolicy.Optional; + + sut.Perform(); + + service.Verify(s => s.Connect(null, true), Times.Never); + } + [TestMethod] public void Perform_MustStartSessionIfConnected() { @@ -270,6 +287,52 @@ namespace SafeExamBrowser.Runtime.UnitTests.Operations Assert.AreEqual(OperationResult.Success, result); } + [TestMethod] + public void Repeat_MustNotEstablishConnectionWithIgnoreSet() + { + PerformNormally(); + + context.Next.Settings.Service.IgnoreService = true; + context.Next.Settings.Service.Policy = ServicePolicy.Mandatory; + + service.Reset(); + service.SetupGet(s => s.IsConnected).Returns(false); + service.Setup(s => s.Connect(null, true)).Returns(true).Callback(() => service.SetupGet(s => s.IsConnected).Returns(true)); + service.Setup(s => s.StartSession(It.IsAny())).Returns(new CommunicationResult(true)).Callback(() => serviceEvent.Set()); + + var result = sut.Repeat(); + + service.Verify(s => s.Connect(It.IsAny(), It.IsAny()), Times.Never); + service.Verify(s => s.StartSession(It.IsAny()), Times.Never); + + Assert.AreEqual(OperationResult.Success, result); + } + + [TestMethod] + public void Repeat_MustStopSessionAndCloseConnectionWithIgnoreSet() + { + var connected = true; + + PerformNormally(); + + context.Next.Settings.Service.IgnoreService = true; + context.Next.Settings.Service.Policy = ServicePolicy.Mandatory; + + service.Reset(); + service.SetupGet(s => s.IsConnected).Returns(() => connected); + service.Setup(s => s.StopSession(It.IsAny())).Returns(new CommunicationResult(true)).Callback(() => serviceEvent.Set()); + service.Setup(s => s.Disconnect()).Returns(true).Callback(() => connected = false); + + var result = sut.Repeat(); + + service.Verify(s => s.Connect(It.IsAny(), It.IsAny()), Times.Never); + service.Verify(s => s.StartSession(It.IsAny()), Times.Never); + service.Verify(s => s.StopSession(It.IsAny()), Times.Once); + service.Verify(s => s.Disconnect(), Times.Once); + + Assert.AreEqual(OperationResult.Success, result); + } + [TestMethod] public void Repeat_MustFailIfCurrentSessionWasNotStoppedSuccessfully() { diff --git a/SafeExamBrowser.Runtime/Operations/ServiceOperation.cs b/SafeExamBrowser.Runtime/Operations/ServiceOperation.cs index 98dadff7..de20845b 100644 --- a/SafeExamBrowser.Runtime/Operations/ServiceOperation.cs +++ b/SafeExamBrowser.Runtime/Operations/ServiceOperation.cs @@ -56,7 +56,7 @@ namespace SafeExamBrowser.Runtime.Operations logger.Info($"Initializing service..."); StatusChanged?.Invoke(TextKey.OperationStatus_InitializeServiceSession); - var success = TryInitializeConnection(); + var success = IgnoreService() || TryInitializeConnection(); if (success && service.IsConnected) { @@ -73,13 +73,21 @@ namespace SafeExamBrowser.Runtime.Operations var success = true; - if (service.IsConnected && sessionId.HasValue) + if (service.IsConnected) { - success = TryStopSession(); + if (sessionId.HasValue) + { + success = TryStopSession(); + } + + if (success && IgnoreService()) + { + success = TryTerminateConnection(); + } } - else if (!service.IsConnected) + else { - success = TryInitializeConnection(); + success = IgnoreService() || TryInitializeConnection(); } if (success && service.IsConnected) @@ -101,7 +109,7 @@ namespace SafeExamBrowser.Runtime.Operations { if (sessionId.HasValue) { - success &= TryStopSession(true); + success = TryStopSession(true); } success &= TryTerminateConnection(); @@ -110,6 +118,18 @@ namespace SafeExamBrowser.Runtime.Operations return success ? OperationResult.Success : OperationResult.Failed; } + private bool IgnoreService() + { + if (Context.Next.Settings.Service.IgnoreService) + { + logger.Info("The service will be ignored for the next session."); + + return true; + } + + return false; + } + private bool TryInitializeConnection() { var mandatory = Context.Next.Settings.Service.Policy == ServicePolicy.Mandatory; diff --git a/SafeExamBrowser.Settings/Service/ServiceSettings.cs b/SafeExamBrowser.Settings/Service/ServiceSettings.cs index 636dd868..309142b8 100644 --- a/SafeExamBrowser.Settings/Service/ServiceSettings.cs +++ b/SafeExamBrowser.Settings/Service/ServiceSettings.cs @@ -74,7 +74,12 @@ namespace SafeExamBrowser.Settings.Service public bool DisableWindowsUpdate { get; set; } /// - /// The active policy for the service component. + /// Determines whether the service will be completely ignored, i.e. no actions will be performed by the service component. + /// + public bool IgnoreService { get; set; } + + /// + /// The active policy for the service component. Has no effect if is set to true. /// public ServicePolicy Policy { get; set; } diff --git a/SebWindowsConfig/SEBSettings.cs b/SebWindowsConfig/SEBSettings.cs index 1e9e026c..71876389 100644 --- a/SebWindowsConfig/SEBSettings.cs +++ b/SebWindowsConfig/SEBSettings.cs @@ -345,6 +345,7 @@ namespace SebWindowsConfig // Tab "Security" public const String KeySebServicePolicy = "sebServicePolicy"; + public const String KeySebServiceIgnore = "sebServiceIgnore"; public const String KeyAllowVirtualMachine = "allowVirtualMachine"; public const String KeyAllowScreenSharing = "allowScreenSharing"; public const String KeyEnablePrivateClipboard = "enablePrivateClipboard"; @@ -887,6 +888,7 @@ namespace SebWindowsConfig // Default settings for group "Security" SEBSettings.settingsDefault.Add(SEBSettings.KeySebServicePolicy , 1); + SEBSettings.settingsDefault.Add(SEBSettings.KeySebServiceIgnore, true); SEBSettings.settingsDefault.Add(SEBSettings.KeyAllowVirtualMachine, false); SEBSettings.settingsDefault.Add(SEBSettings.KeyAllowScreenSharing, false); SEBSettings.settingsDefault.Add(SEBSettings.KeyEnablePrivateClipboard, true); diff --git a/SebWindowsConfig/SebWindowsConfigForm.Designer.cs b/SebWindowsConfig/SebWindowsConfigForm.Designer.cs index 9132870d..8bb5a2e6 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 dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = 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); @@ -63,6 +63,7 @@ namespace SebWindowsConfig this.tabPageRegistry = new System.Windows.Forms.TabPage(); this.label1 = new System.Windows.Forms.Label(); this.groupBoxInsideSeb = new System.Windows.Forms.GroupBox(); + this.checkBoxSetVmwareConfiguration = new System.Windows.Forms.CheckBox(); this.checkBoxInsideSebEnableNetworkConnectionSelector = new System.Windows.Forms.CheckBox(); this.checkBoxInsideSebEnableSwitchUser = new System.Windows.Forms.CheckBox(); this.checkBoxInsideSebEnableLockThisComputer = new System.Windows.Forms.CheckBox(); @@ -435,7 +436,9 @@ namespace SebWindowsConfig this.editDuplicateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.configureClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.applyAndStartSEBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.checkBoxSetVmwareConfiguration = new System.Windows.Forms.CheckBox(); + this.checkBoxSebServiceIgnore = new System.Windows.Forms.CheckBox(); + this.labelSebServiceIgnore = new System.Windows.Forms.Label(); + this.groupBoxSebService = new System.Windows.Forms.GroupBox(); this.tabPageHookedKeys.SuspendLayout(); this.groupBoxFunctionKeys.SuspendLayout(); this.groupBoxSpecialKeys.SuspendLayout(); @@ -489,6 +492,7 @@ namespace SebWindowsConfig this.groupBoxExitSequence.SuspendLayout(); this.tabControlSebWindowsConfig.SuspendLayout(); this.menuStrip1.SuspendLayout(); + this.groupBoxSebService.SuspendLayout(); this.SuspendLayout(); // // openFileDialogSebConfigFile @@ -909,6 +913,20 @@ namespace SebWindowsConfig this.groupBoxInsideSeb.TabStop = false; this.groupBoxInsideSeb.Text = "While running SEB"; // + // checkBoxSetVmwareConfiguration + // + this.checkBoxSetVmwareConfiguration.AutoSize = true; + this.checkBoxSetVmwareConfiguration.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.checkBoxSetVmwareConfiguration.Location = new System.Drawing.Point(16, 154); + this.checkBoxSetVmwareConfiguration.Name = "checkBoxSetVmwareConfiguration"; + this.checkBoxSetVmwareConfiguration.Size = new System.Drawing.Size(148, 17); + this.checkBoxSetVmwareConfiguration.TabIndex = 77; + this.checkBoxSetVmwareConfiguration.Text = "Set VMware configuration"; + this.toolTip1.SetToolTip(this.checkBoxSetVmwareConfiguration, "Determines whether the configuration value for VMware Client Shade will be set by" + + " SEB."); + this.checkBoxSetVmwareConfiguration.UseVisualStyleBackColor = true; + this.checkBoxSetVmwareConfiguration.CheckedChanged += new System.EventHandler(this.checkBoxSetVmwareConfiguration_CheckedChanged); + // // checkBoxInsideSebEnableNetworkConnectionSelector // this.checkBoxInsideSebEnableNetworkConnectionSelector.AutoSize = true; @@ -1041,18 +1059,14 @@ namespace SebWindowsConfig // // tabPageSecurity // - this.tabPageSecurity.Controls.Add(this.checkBoxAllowWindowsUpdate); - this.tabPageSecurity.Controls.Add(this.checkBoxAllowChromeNotifications); + this.tabPageSecurity.Controls.Add(this.groupBoxSebService); this.tabPageSecurity.Controls.Add(this.checkBoxShowLogButton); this.tabPageSecurity.Controls.Add(this.checkBoxAllowLogAccess); this.tabPageSecurity.Controls.Add(this.checkBoxEnablePrivateClipboard); - this.tabPageSecurity.Controls.Add(this.checkBoxAllowScreenSharing); this.tabPageSecurity.Controls.Add(this.groupBox1); this.tabPageSecurity.Controls.Add(this.groupBox10); this.tabPageSecurity.Controls.Add(this.checkBoxEnableScreenCapture); this.tabPageSecurity.Controls.Add(this.groupBox3); - this.tabPageSecurity.Controls.Add(this.labelSebServicePolicy); - this.tabPageSecurity.Controls.Add(this.listBoxSebServicePolicy); this.tabPageSecurity.Controls.Add(this.checkBoxAllowVirtualMachine); this.tabPageSecurity.ImageIndex = 8; this.tabPageSecurity.Location = new System.Drawing.Point(4, 39); @@ -1067,29 +1081,29 @@ namespace SebWindowsConfig // checkBoxAllowWindowsUpdate // this.checkBoxAllowWindowsUpdate.AutoSize = true; - this.checkBoxAllowWindowsUpdate.Location = new System.Drawing.Point(23, 190); + this.checkBoxAllowWindowsUpdate.Location = new System.Drawing.Point(14, 165); this.checkBoxAllowWindowsUpdate.Name = "checkBoxAllowWindowsUpdate"; - this.checkBoxAllowWindowsUpdate.Size = new System.Drawing.Size(293, 17); + this.checkBoxAllowWindowsUpdate.Size = new System.Drawing.Size(265, 17); this.checkBoxAllowWindowsUpdate.TabIndex = 103; - this.checkBoxAllowWindowsUpdate.Text = "Allow Windows Update to run while SEB is running (Win)"; + this.checkBoxAllowWindowsUpdate.Text = "Allow Windows Update to run while SEB is running"; this.checkBoxAllowWindowsUpdate.UseVisualStyleBackColor = true; this.checkBoxAllowWindowsUpdate.CheckedChanged += new System.EventHandler(this.checkBoxAllowWindowsUpdate_CheckedChanged); // // checkBoxAllowChromeNotifications // this.checkBoxAllowChromeNotifications.AutoSize = true; - this.checkBoxAllowChromeNotifications.Location = new System.Drawing.Point(23, 169); + this.checkBoxAllowChromeNotifications.Location = new System.Drawing.Point(14, 184); this.checkBoxAllowChromeNotifications.Name = "checkBoxAllowChromeNotifications"; - this.checkBoxAllowChromeNotifications.Size = new System.Drawing.Size(245, 17); + this.checkBoxAllowChromeNotifications.Size = new System.Drawing.Size(217, 17); this.checkBoxAllowChromeNotifications.TabIndex = 102; - this.checkBoxAllowChromeNotifications.Text = "Allow notifications from Chrome browsers (Win)"; + this.checkBoxAllowChromeNotifications.Text = "Allow notifications from Chrome browsers"; this.checkBoxAllowChromeNotifications.UseVisualStyleBackColor = true; this.checkBoxAllowChromeNotifications.CheckedChanged += new System.EventHandler(this.checkBoxAllowChromeNotifications_CheckedChanged); // // checkBoxShowLogButton // this.checkBoxShowLogButton.AutoSize = true; - this.checkBoxShowLogButton.Location = new System.Drawing.Point(53, 232); + this.checkBoxShowLogButton.Location = new System.Drawing.Point(358, 337); this.checkBoxShowLogButton.Margin = new System.Windows.Forms.Padding(2); this.checkBoxShowLogButton.Name = "checkBoxShowLogButton"; this.checkBoxShowLogButton.Size = new System.Drawing.Size(180, 17); @@ -1101,7 +1115,7 @@ namespace SebWindowsConfig // checkBoxAllowLogAccess // this.checkBoxAllowLogAccess.AutoSize = true; - this.checkBoxAllowLogAccess.Location = new System.Drawing.Point(23, 212); + this.checkBoxAllowLogAccess.Location = new System.Drawing.Point(328, 317); this.checkBoxAllowLogAccess.Margin = new System.Windows.Forms.Padding(2); this.checkBoxAllowLogAccess.Name = "checkBoxAllowLogAccess"; this.checkBoxAllowLogAccess.Size = new System.Drawing.Size(199, 17); @@ -1114,7 +1128,7 @@ namespace SebWindowsConfig // this.checkBoxEnablePrivateClipboard.AutoSize = true; this.checkBoxEnablePrivateClipboard.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxEnablePrivateClipboard.Location = new System.Drawing.Point(343, 148); + this.checkBoxEnablePrivateClipboard.Location = new System.Drawing.Point(328, 278); this.checkBoxEnablePrivateClipboard.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxEnablePrivateClipboard.Name = "checkBoxEnablePrivateClipboard"; this.checkBoxEnablePrivateClipboard.Size = new System.Drawing.Size(156, 17); @@ -1129,7 +1143,7 @@ namespace SebWindowsConfig // this.checkBoxAllowScreenSharing.AutoSize = true; this.checkBoxAllowScreenSharing.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxAllowScreenSharing.Location = new System.Drawing.Point(23, 148); + this.checkBoxAllowScreenSharing.Location = new System.Drawing.Point(305, 165); this.checkBoxAllowScreenSharing.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxAllowScreenSharing.Name = "checkBoxAllowScreenSharing"; this.checkBoxAllowScreenSharing.Size = new System.Drawing.Size(198, 17); @@ -1424,7 +1438,7 @@ namespace SebWindowsConfig // this.checkBoxEnableScreenCapture.AutoSize = true; this.checkBoxEnableScreenCapture.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxEnableScreenCapture.Location = new System.Drawing.Point(343, 129); + this.checkBoxEnableScreenCapture.Location = new System.Drawing.Point(328, 259); this.checkBoxEnableScreenCapture.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxEnableScreenCapture.Name = "checkBoxEnableScreenCapture"; this.checkBoxEnableScreenCapture.Size = new System.Drawing.Size(191, 17); @@ -1440,7 +1454,7 @@ namespace SebWindowsConfig this.groupBox3.Controls.Add(this.radioNoKiosMode); this.groupBox3.Controls.Add(this.radioCreateNewDesktop); this.groupBox3.Controls.Add(this.radioKillExplorerShell); - this.groupBox3.Location = new System.Drawing.Point(343, 27); + this.groupBox3.Location = new System.Drawing.Point(23, 259); this.groupBox3.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.groupBox3.Name = "groupBox3"; this.groupBox3.Padding = new System.Windows.Forms.Padding(2, 1, 2, 1); @@ -1498,20 +1512,20 @@ namespace SebWindowsConfig // labelSebServicePolicy // this.labelSebServicePolicy.AutoSize = true; - this.labelSebServicePolicy.Location = new System.Drawing.Point(21, 27); + this.labelSebServicePolicy.Location = new System.Drawing.Point(11, 97); this.labelSebServicePolicy.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.labelSebServicePolicy.Name = "labelSebServicePolicy"; - this.labelSebServicePolicy.Size = new System.Drawing.Size(97, 13); + this.labelSebServicePolicy.Size = new System.Drawing.Size(101, 13); this.labelSebServicePolicy.TabIndex = 75; - this.labelSebServicePolicy.Text = "SEB Service policy"; + this.labelSebServicePolicy.Text = "SEB Service Policy:"; // // listBoxSebServicePolicy // this.listBoxSebServicePolicy.FormattingEnabled = true; - this.listBoxSebServicePolicy.Location = new System.Drawing.Point(23, 51); + this.listBoxSebServicePolicy.Location = new System.Drawing.Point(14, 113); this.listBoxSebServicePolicy.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.listBoxSebServicePolicy.Name = "listBoxSebServicePolicy"; - this.listBoxSebServicePolicy.Size = new System.Drawing.Size(282, 43); + this.listBoxSebServicePolicy.Size = new System.Drawing.Size(512, 43); this.listBoxSebServicePolicy.TabIndex = 0; this.toolTip1.SetToolTip(this.listBoxSebServicePolicy, "Policy that applies when an exam client doesn\'t have the SEB Service running."); this.listBoxSebServicePolicy.SelectedIndexChanged += new System.EventHandler(this.listBoxSebServicePolicy_SelectedIndexChanged); @@ -1520,7 +1534,7 @@ namespace SebWindowsConfig // this.checkBoxAllowVirtualMachine.AutoSize = true; this.checkBoxAllowVirtualMachine.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxAllowVirtualMachine.Location = new System.Drawing.Point(23, 129); + this.checkBoxAllowVirtualMachine.Location = new System.Drawing.Point(328, 297); this.checkBoxAllowVirtualMachine.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxAllowVirtualMachine.Name = "checkBoxAllowVirtualMachine"; this.checkBoxAllowVirtualMachine.Size = new System.Drawing.Size(185, 17); @@ -1756,8 +1770,8 @@ namespace SebWindowsConfig // // Type // - dataGridViewCellStyle3.BackColor = System.Drawing.Color.Silver; - this.Type.DefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle17.BackColor = System.Drawing.Color.Silver; + this.Type.DefaultCellStyle = dataGridViewCellStyle17; this.Type.HeaderText = "Type"; this.Type.Name = "Type"; this.Type.ReadOnly = true; @@ -4263,8 +4277,8 @@ namespace SebWindowsConfig // spellCheckerDictionaryFilesColumn // this.spellCheckerDictionaryFilesColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle18; this.spellCheckerDictionaryFilesColumn.HeaderText = "Files"; this.spellCheckerDictionaryFilesColumn.Name = "spellCheckerDictionaryFilesColumn"; this.spellCheckerDictionaryFilesColumn.ReadOnly = true; @@ -5661,19 +5675,42 @@ namespace SebWindowsConfig this.applyAndStartSEBToolStripMenuItem.Visible = false; this.applyAndStartSEBToolStripMenuItem.Click += new System.EventHandler(this.applyAndStartSEBToolStripMenuItem_Click); // - // checkBoxSetVmwareConfiguration + // checkBoxSebServiceIgnore // - this.checkBoxSetVmwareConfiguration.AutoSize = true; - this.checkBoxSetVmwareConfiguration.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxSetVmwareConfiguration.Location = new System.Drawing.Point(16, 154); - this.checkBoxSetVmwareConfiguration.Name = "checkBoxSetVmwareConfiguration"; - this.checkBoxSetVmwareConfiguration.Size = new System.Drawing.Size(148, 17); - this.checkBoxSetVmwareConfiguration.TabIndex = 77; - this.checkBoxSetVmwareConfiguration.Text = "Set VMware configuration"; - this.toolTip1.SetToolTip(this.checkBoxSetVmwareConfiguration, "Determines whether the configuration value for VMware Client Shade will be set by" + - " SEB."); - this.checkBoxSetVmwareConfiguration.UseVisualStyleBackColor = true; - this.checkBoxSetVmwareConfiguration.CheckedChanged += new System.EventHandler(this.checkBoxSetVmwareConfiguration_CheckedChanged); + this.checkBoxSebServiceIgnore.AutoSize = true; + this.checkBoxSebServiceIgnore.Location = new System.Drawing.Point(14, 21); + this.checkBoxSebServiceIgnore.Name = "checkBoxSebServiceIgnore"; + this.checkBoxSebServiceIgnore.Size = new System.Drawing.Size(119, 17); + this.checkBoxSebServiceIgnore.TabIndex = 104; + this.checkBoxSebServiceIgnore.Text = "Ignore SEB Service"; + this.checkBoxSebServiceIgnore.UseVisualStyleBackColor = true; + this.checkBoxSebServiceIgnore.CheckedChanged += new System.EventHandler(this.checkBoxSebServiceIgnore_CheckedChanged); + // + // labelSebServiceIgnore + // + this.labelSebServiceIgnore.BackColor = System.Drawing.SystemColors.Window; + this.labelSebServiceIgnore.ForeColor = System.Drawing.Color.Red; + this.labelSebServiceIgnore.Location = new System.Drawing.Point(12, 46); + this.labelSebServiceIgnore.Name = "labelSebServiceIgnore"; + this.labelSebServiceIgnore.Size = new System.Drawing.Size(514, 42); + this.labelSebServiceIgnore.TabIndex = 105; + this.labelSebServiceIgnore.Text = resources.GetString("labelSebServiceIgnore.Text"); + // + // groupBoxSebService + // + this.groupBoxSebService.Controls.Add(this.checkBoxSebServiceIgnore); + this.groupBoxSebService.Controls.Add(this.checkBoxAllowChromeNotifications); + this.groupBoxSebService.Controls.Add(this.checkBoxAllowWindowsUpdate); + this.groupBoxSebService.Controls.Add(this.labelSebServiceIgnore); + this.groupBoxSebService.Controls.Add(this.listBoxSebServicePolicy); + this.groupBoxSebService.Controls.Add(this.labelSebServicePolicy); + this.groupBoxSebService.Controls.Add(this.checkBoxAllowScreenSharing); + this.groupBoxSebService.Location = new System.Drawing.Point(23, 27); + this.groupBoxSebService.Name = "groupBoxSebService"; + this.groupBoxSebService.Size = new System.Drawing.Size(540, 212); + this.groupBoxSebService.TabIndex = 106; + this.groupBoxSebService.TabStop = false; + this.groupBoxSebService.Text = "SEB Service (Win)"; // // SebWindowsConfigForm // @@ -5790,6 +5827,8 @@ namespace SebWindowsConfig this.tabControlSebWindowsConfig.ResumeLayout(false); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); + this.groupBoxSebService.ResumeLayout(false); + this.groupBoxSebService.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -6202,6 +6241,9 @@ namespace SebWindowsConfig private System.Windows.Forms.CheckBox checkBoxAllowDeveloperConsole; private System.Windows.Forms.CheckBox checkBoxAllowPdfReaderToolbar; private System.Windows.Forms.CheckBox checkBoxSetVmwareConfiguration; + private System.Windows.Forms.CheckBox checkBoxSebServiceIgnore; + private System.Windows.Forms.Label labelSebServiceIgnore; + private System.Windows.Forms.GroupBox groupBoxSebService; } } diff --git a/SebWindowsConfig/SebWindowsConfigForm.cs b/SebWindowsConfig/SebWindowsConfigForm.cs index 56803fb3..d0768bc1 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.cs +++ b/SebWindowsConfig/SebWindowsConfigForm.cs @@ -758,7 +758,15 @@ namespace SebWindowsConfig checkBoxUsePassiveFTPMode.Checked = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyFTPPassive]; // Group "Security" - listBoxSebServicePolicy.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeySebServicePolicy]; + listBoxSebServicePolicy.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeySebServicePolicy]; + checkBoxSebServiceIgnore.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeySebServiceIgnore]; + labelSebServiceIgnore.Enabled = !checkBoxSebServiceIgnore.Checked; + labelSebServicePolicy.Enabled = !checkBoxSebServiceIgnore.Checked; + listBoxSebServicePolicy.Enabled = !checkBoxSebServiceIgnore.Checked; + groupBoxInsideSeb.Enabled = !checkBoxSebServiceIgnore.Checked; + checkBoxAllowWindowsUpdate.Enabled = !checkBoxSebServiceIgnore.Checked; + checkBoxAllowScreenSharing.Enabled = !checkBoxSebServiceIgnore.Checked; + checkBoxAllowChromeNotifications.Enabled = !checkBoxSebServiceIgnore.Checked; checkBoxAllowVirtualMachine.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowVirtualMachine]; checkBoxAllowScreenSharing.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowScreenSharing]; checkBoxEnablePrivateClipboard.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrivateClipboard]; @@ -4558,5 +4566,17 @@ namespace SebWindowsConfig SEBSettings.settingsCurrent[SEBSettings.KeySetVmwareConfiguration] = checkBoxSetVmwareConfiguration.Checked; checkBoxInsideSebEnableVmWareClientShade.Enabled = checkBoxSetVmwareConfiguration.Checked; } + + private void checkBoxSebServiceIgnore_CheckedChanged(object sender, EventArgs e) + { + SEBSettings.settingsCurrent[SEBSettings.KeySebServiceIgnore] = checkBoxSebServiceIgnore.Checked; + labelSebServiceIgnore.Enabled = !checkBoxSebServiceIgnore.Checked; + labelSebServicePolicy.Enabled = !checkBoxSebServiceIgnore.Checked; + listBoxSebServicePolicy.Enabled = !checkBoxSebServiceIgnore.Checked; + groupBoxInsideSeb.Enabled = !checkBoxSebServiceIgnore.Checked; + checkBoxAllowWindowsUpdate.Enabled = !checkBoxSebServiceIgnore.Checked; + checkBoxAllowScreenSharing.Enabled = !checkBoxSebServiceIgnore.Checked; + checkBoxAllowChromeNotifications.Enabled = !checkBoxSebServiceIgnore.Checked; + } } } diff --git a/SebWindowsConfig/SebWindowsConfigForm.resx b/SebWindowsConfig/SebWindowsConfigForm.resx index 4ee8cc6b..40fb0b0f 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.resx +++ b/SebWindowsConfig/SebWindowsConfigForm.resx @@ -131,7 +131,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAs - 1gAAAk1TRnQBSQFMAgEBDAEAAUABCwFAAQsBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA + 1gAAAk1TRnQBSQFMAgEBDAEAAUgBCwFIAQsBIAEAASABAAT/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,10 +157,10 @@ Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO AYsBAAH/A1IB9AMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA - Af8DAAH/AwAB/wNUAe4QAAMyAVEDVAH6A1QB+gNUAfoDVAH6A1QB+gNUAfoDVAH6A1QB+gNUAfoDVAH6 - A1QB+gNUAfoDVAH6A1QB+gNUAfoDVAH6A1QB+gNUAfoDVAH6A1QB+gNUAfoDVAH6AzYBWTQAAzIBUANc - Ad8BsQGvAa0B/wGlAaIBoQH/AZIBjwGOAf8BhgGDAYIB/wGAAUUBRAH/AYABRQFEAf8BgAFFAUQB/wGA - AUUBRAH/AYABRQFEAf8BigGHAYYB/wGWAZMBkgH/AaUBogGgAf8BpgGjAaEB/wNUAa8DFwEgGAABjgGL + Af8DAAH/AwAB/wNUAe4QAAMyAVEDUwH6A1MB+gNTAfoDUwH6A1MB+gNTAfoDUwH6A1MB+gNTAfoDUwH6 + A1MB+gNTAfoDUwH6A1MB+gNTAfoDUwH6A1MB+gNTAfoDUwH6A1MB+gNTAfoDUwH6AzYBWTQAAzIBUANc + Ad8BsQGvAa0B/wGlAaIBoQH/AZIBjwGOAf8BhgGDAYIB/wGAAUQBQwH/AYABRAFDAf8BgAFEAUMB/wGA + AUQBQwH/AYABRAFDAf8BigGHAYYB/wGWAZMBkgH/AaUBogGgAf8BpgGjAaEB/wNUAa8DFwEgGAABjgGL AQAB/wGOAYsBAAH/AbsBuQEAAf8C/gH9Af8C/gH9Af8C/gH9Af8C9AHmAf8BwgHAAQAB/wL+Af0B/wL+ Af0B/wL+Af0B/wLwAd0B/wHGAcQBAAH/Av4B/QH/Av4B/QH/Av4B/QH/AekB6AHOAf8BqwGoAQAB/wGP AYwBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA @@ -168,16 +168,16 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xAA AzQBVFj/AzgBXCwAAwwBEANRAZ8BtQGyAbAB/wGpAaYBpAH/AZIBjwGNAf8BhAGBAYAB/wGRAY4BjAH/ - AZkBlgGUAf8BjwGMAYoB/wGEAYEBgAH/AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BgAFF - AUQB/wGAAUUBRAH/AZEBjgGNAf8BpAGhAZ8B/wNiAe8DMgFQFAABjgGLAQAB/wGOAYsBAAH/AbsBuQEA + AZkBlgGUAf8BjwGMAYoB/wGEAYEBgAH/AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BgAFE + AUMB/wGAAUQBQwH/AZEBjgGNAf8BpAGhAZ8B/wNiAe8DMgFQFAABjgGLAQAB/wGOAYsBAAH/AbsBuQEA Af8MAAL1AegB/wHCAcABAAH/DAAC8QHfAf8BxgHEAQAB/wwAAeoB6QHPAf8B0gHRAZoB/wG+AbwBAAH/ AY8BjAEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/AwAB/wMAAf8DmgH/ A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/ A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A5oB/wMAAf8DAAH/AwAB/xAAAzMBU1j/ AzcBWygAAwwBEANcAc8BtwG0AbIB/wGfAZwBmwH/AYsBiAGHAf8BiQGGAYQB/wGYAZUBkwH/AakBpgGk - Af8BpwGkAaIB/wGkAaEBnwH/AaIBnwGdAf8BlgGTAZEB/wGFAYIBgQH/AYABRQFEAf8BgAFFAUQB/wGA - AUUBRAH/AYABRQFEAf8BgAFFAUQB/wGCAUcBRgH/AZ0BmgGYAf8BpQGiAaAB/wM6AWAQAAGOAYsBAAH/ + Af8BpwGkAaIB/wGkAaEBnwH/AaIBnwGdAf8BlgGTAZEB/wGFAYIBgQH/AYABRAFDAf8BgAFEAUMB/wGA + AUQBQwH/AYABRAFDAf8BgAFEAUMB/wGCAUYBRQH/AZ0BmgGYAf8BpQGiAaAB/wM6AWAQAAGOAYsBAAH/ AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AcIBwAEAAf8MAALxAd8B/wHGAcQBAAH/DAAB6gHpAc8B/wHS AdEBmgH/Ad0B3AGyAf8BxQHDAQAB/wGPAYwBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wMA @@ -185,7 +185,7 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DkwH/A6IB/wMA Af8DAAH/EAADMwFTWP8DNwFbKAADXAHPAbcBtAGyAf8BmwGYAZYB/wGQAY0BiwH/AY0BigGJAf8BiwGI AYcB/wGoAaUBowH/AaoBpwGlAf8BpwGkAaIB/wGmAaMBoQH/AaMBoAGeAf8BogGfAZ0B/wGdAZoBmAH/ - AY0BigGJAf8BgQFGAUUB/wGAAUUBRAH/AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BmAGV + AY0BigGJAf8BgQFFAUQB/wGAAUQBQwH/AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BmAGV AZMB/wGlAaIBoAH/AzoBYAwAAY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8BwgHAAQAB/wwA AvEB3wH/AcYBxAEAAf8MAAHqAekBzwH/AdIB0QGaAf8B3QHcAbIB/wHdAdwBsgH/Ac8BzgGSAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -194,7 +194,7 @@ AwAB/wMAAf8DAAH/AwAB/wMAAf8DkwH/A5oB/wMAAf8QAAMzAVNY/wM3AVskAANMAY8BuwG4AbcB/wGh AZ4BnAH/AZQBkQGPAf8BkgGPAY0B/wGQAY0BiwH/AY0BigGJAf8BqgGnAaUB/wGqAacBpQH/AagBpQGj Af8BpwGkAaIB/wGkAaEBnwH/AaMBoAGeAf8BoQGeAZwB/wGhAZ4BnAH/AZ4BmwGZAf8BkQGOAYwB/wGC - AUcBRgH/AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BmAGVAZMB/wGlAaIBoAH/AyEBMAgA + AUYBRQH/AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BmAGVAZMB/wGlAaIBoAH/AyEBMAgA AY4BiwEAAf8BjgGLAQAB/wGfAZwBAAH/AbgBtgEAAf8BuAG2AQAB/wG4AbYBAAH/AbQBsgEAAf8BoQGf AQAB/wG4AbYBAAH/AbgBtgEAAf8BuAG2AQAB/wGyAbABAAH/AacBpAEAAf8BvgG9AQAB/wG+Ab0BAAH/ Ab4BvQEAAf8BuAG2AQAB/wHQAc8BlQH/Ad0B3AGyAf8B3QHcAbIB/wLqAdAB/wGOAYsBAAH/AY4BiwEA @@ -204,7 +204,7 @@ Af8DAAH/AwAB/wMAAf8DogH/AwAB/xAAAzMBU1j/AzcBWyAAAyoBQAG8AboBuAH/AasBqAGnAf8BmAGV AZMB/wGWAZMBkQH/AZQBkQGPAf8BkgGPAY0B/wGQAY0BiwH/AasBqAGmAf8BqwGoAaYB/wGpAaYBpAH/ AacBpAGiAf8BpQGiAaAB/wGjAaABngH/AaEBngGcAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BmwGY - AZYB/wGBAUYBRQH/AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AYIBRwFGAf8BoQGeAZ0B/wNcAc8IAAGO + AZYB/wGBAUUBRAH/AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AYIBRgFFAf8BoQGeAZ0B/wNcAc8IAAGO AYsBAAH/AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AcIBwAEAAf8MAALxAd8B/wGzAbEBAAH/AuYBxwH/ Ae0B7AHWAf8B7QHsAdYB/wHtAewB1gH/AcQBwgEAAf8BzAHLAYwB/wHdAdwBsgH/AuoB0AH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -213,16 +213,16 @@ AwAB/wMAAf8DogH/AwAB/xAAAzMBU1j/AzcBWyAAA1kBvwG6AbcBtQH/AZ0BmgGYAf8BmwGYAZYB/wGY AZUBkwH/AZYBkwGRAf8BlAGRAY8B/wGSAY8BjQH/AagBpQGjAf8BnQGaAZkB/wGqAacBpQH/AagBpQGj Af8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BoQGeAZwB/wGF - AYIBgAH/AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BigGHAYYB/wGmAaMBoQH/AzoBYAQA + AYIBgAH/AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BigGHAYYB/wGmAaMBoQH/AzoBYAQA AY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8BwgHAAQAB/wwAAvEB3wH/AcwBywGNAf8B0wHS AZwB/wHuAe0B2AH/Ae4B7QHYAf8B7gHtAdgB/wHuAe0B2AH/AacBpAEAAf8ByQHIAYUB/wLqAdAB/wGO AYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/A6IB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DyAH/CAAD4wH/A6AB/wOtAf8IAAPIAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DogH/AwAB/xAAAzMBU1j/AzcBWxwAAyoBQAHAAb0BvAH/AawBqQGoAf8BnwGc - AZoB/wGdAZoBmAH/AZsBmAGWAf8BmAGVAZMB/wE+ATwBOgH/AQkBCAEHAf8DAAH/AwAB/wFBAT4BPQH/ + AZoB/wGdAZoBmAH/AZsBmAGWAf8BmAGVAZMB/wE9ATsBOQH/AQgBBwEGAf8DAAH/AwAB/wFAAT0BPAH/ AakBpgGkAf8BpwGkAaIB/wGlAaIBoAH/AaMBoAGeAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BoQGe - AZwB/wGFAYIBgQH/AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BgAFFAUQB/wGdAZoBmQH/ + AZwB/wGFAYIBgQH/AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BgAFEAUMB/wGdAZoBmQH/ A1wB3wQAAY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8BwgHAAQAB/wwAAvEB3wH/AcwBywGN Af8B2wHaAa4B/xAAAboBuAEAAf8BzAHLAYwB/wHWAdUBpAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL @@ -230,9 +230,9 @@ Af8DAAH/AwAB/wMAAf8IAAORAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wOiAf8DAAH/ EAADMwFTCP8D/gH/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gH/ A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gX/AzcBWxwAA1EBnwG9AbsBuQH/AaQBoQGfAf8BogGfAZ0B/wGf - AZwBmgH/AZ0BmgGYAf8BmwGYAZYB/wMAAf8DAAH/AwAB/wIAAQwB/wEhASoBLwH/AaoBpwGlAf8BqAGl - AaMB/wGmAaMBoQH/AaQBoQGfAf8BogGfAZ0B/wGhAZ4BnAH/AaEBngGcAf8BngGbAZkB/wGAAUUBRAH/ - AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BgAFFAUQB/wGMAYkBiAH/AacBpAGiAf8DIQEw + AZwBmgH/AZ0BmgGYAf8BmwGYAZYB/wMAAf8DAAH/AwAB/wIAAQsB/wEgASkBLgH/AaoBpwGlAf8BqAGl + AaMB/wGmAaMBoQH/AaQBoQGfAf8BogGfAZ0B/wGhAZ4BnAH/AaEBngGcAf8BngGbAZkB/wGAAUQBQwH/ + AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BgAFEAUMB/wGMAYkBiAH/AacBpAGiAf8DIQEw AY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8BwgHAAQAB/wwAAvEB3wH/AcwBywGNAf8B2wHa Aa4B/xAAAboBuAEAAf8C3QGzAf8B1AHTAZ4B/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/ @@ -240,9 +240,9 @@ AwAB/wMAAf8DugH/BAADwAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DogH/AwAB/xAA AzMBUwT/A/4B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9 Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Bf8DNwFbHAADXAHfAbYBtAGyAf8BpgGjAaEB/wGkAaEBnwH/ - AaIBnwGdAf8BnwGcAZoB/wGdAZoBmAH/ASIBIAEfAf8DAAH/AQYBjwG4Af8BAAGPAb0B/wEqAY0BpAH/ + AaIBnwGdAf8BnwGcAZoB/wGdAZoBmAH/ASEBHwEeAf8DAAH/AQUBjwG4Af8BAAGPAb0B/wEpAY0BpAH/ AasBqAGmAf8BqQGmAaQB/wGnAaQBogH/AaUBogGgAf8BowGgAZ4B/wGhAZ4BnAH/AaEBngGcAf8BjwGM - AYoB/wGEAYEBgAH/AYQBgQGAAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/ + AYoB/wGEAYEBgAH/AYQBgQGAAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/ AagBpQGjAf8DRwGAAY4BiwEAAf8BjgGLAQAB/wGfAZwBAAH/AbgBtgEAAf8BuAG2AQAB/wG4AbYBAAH/ AbQBsgEAAf8BpAGhAQAB/wHLAcoBiwH/AcsBygGLAf8BywHKAYsB/wHIAccBgwH/Ab8BvgEAAf8B2wHa Aa0B/xAAAboBuAEAAf8C3QGzAf8C6gHQAf8BjgGLAQAB/wGRAY4BAAH/AcwBywGMAf8BlwGUAQAB/wGO @@ -251,10 +251,10 @@ AwAB/wMAAf8DnAH/BAADzgH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DogH/AwAB/xAA AzMBUwP+Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/ A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0F/wM3AVsYAAMMARABxAHBAcAB/wGyAa8BrQH/AakBpgGk - Af8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wGDAYABRgH/AwAB/wERAaQBygH/AQABkAG9 - Af8BKgGNAaQB/wGsAakBpwH/AaoBpwGlAf8BqAGlAaMB/wGmAaMBoQH/AaQBoQGfAf8BngGbAZkB/wGR - AY4BjQH/AZQBkQGPAf8BoQGeAZwB/wGgAZ0BmwH/AY8BjAGKAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFE - Af8BgAFFAUQB/wGfAZwBmgH/A1QBrwGOAYsBAAH/AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AbkBtgEA + Af8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wGDAYABRQH/AwAB/wEQAaQBygH/AQABkAG9 + Af8BKQGNAaQB/wGsAakBpwH/AaoBpwGlAf8BqAGlAaMB/wGmAaMBoQH/AaQBoQGfAf8BngGbAZkB/wGR + AY4BjQH/AZQBkQGPAf8BoQGeAZwB/wGgAZ0BmwH/AY8BjAGKAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFD + Af8BgAFEAUMB/wGfAZwBmgH/A1QBrwGOAYsBAAH/AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AbkBtgEA Af8B1AHTAZ4B/wHZAdgBqAH/AdkB2AGoAf8B2QHYAagB/wHFAcQBAAH/AaQBoQEAAf8BxQHDAQAB/wHF AcMBAAH/AcUBwwEAAf8BxQHDAQAB/wG4AbYBAAH/At0BswH/AuoB0AH/AZEBjgEAAf8C3AGxAf8EAAHr AeoB0QH/AZcBlAEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA @@ -262,10 +262,10 @@ Af8DAAH/AwAB/wMAAf8DAAH/A9wB/wQAA7MB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ A6IB/wMAAf8QAAMzAVMD/QH/A/0B/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8 Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Bf8DNwFbGAADKgFAAcQBwgHBAf8BvgG7 - AboB/wG2AbMBsQH/AasBqAGmAf8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wEXARUBFAH/ - AQABgwGZAf8BDQGmAcoB/wErAZIBpwH/Aa0BqgGoAf8BqwGoAaYB/wGlAaIBoAH/AZgBlQGTAf8BjwGM - AYsB/wGJAYYBhAH/AZEBjgGNAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BnwGcAZoB/wGBAUYBRQH/ - AYABRQFEAf8BgAFFAUQB/wGAAUUBRAH/AZUBkgGQAf8DWQG/AY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/ + AboB/wG2AbMBsQH/AasBqAGmAf8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wEWARQBEwH/ + AQABgwGZAf8BDAGmAcoB/wEqAZIBpwH/Aa0BqgGoAf8BqwGoAaYB/wGlAaIBoAH/AZgBlQGTAf8BjwGM + AYsB/wGJAYYBhAH/AZEBjgGNAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BnwGcAZoB/wGBAUUBRAH/ + AYABRAFDAf8BgAFEAUMB/wGAAUQBQwH/AZUBkgGQAf8DWQG/AY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/ DAAC9QHoAf8ByAHGAYMB/wHWAdUBowH/AvIB4gH/AvIB4QH/AvIB4QH/AvIB4QH/Aa4BrAEAAf8B2wHa Aa0B/wL4Ae8B/wL4Ae8B/wL4Ae8B/wHWAdUBowH/AcUBxAEAAf8B4AHfAbkB/wHcAdsBsQH/DAAB6wHq AdEB/wGXAZQBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wMAAf8DoQH/ @@ -273,10 +273,10 @@ AwAB/wOpAf8LAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DoQH/AwAB/xAAAzMBUwP8 Af8D+wH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6 Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP+Af8DNwFbGAADKgFAAcUBwwHCAf8BxAHBAcAB/wHCAcABvgH/ - Ab4BuwG6Af8BqgGnAaUB/wGmAaMBoQH/AaQBoQGfAf8BpAGhAZ8B/wGfAZwBmwH/AQABJQEwAf8BEAG9 - AdoB/wEtAZ4BrwH/Aa4BqwGpAf8BogGfAZ0B/wGSAY8BjQH/AZQBkQGPAf8BlAGRAZAB/wGLAYgBhwH/ - AZ4BmwGZAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BoQGeAZwB/wGGAYMBggH/AYABRQFEAf8BgAFF - AUQB/wGAAUUBRAH/AZUBkgGRAf8DYgHvAY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8ByAHG + Ab4BuwG6Af8BqgGnAaUB/wGmAaMBoQH/AaQBoQGfAf8BpAGhAZ8B/wGfAZwBmwH/AQABJAEvAf8BDwG9 + AdoB/wEsAZ4BrwH/Aa4BqwGpAf8BogGfAZ0B/wGSAY8BjQH/AZQBkQGPAf8BlAGRAZAB/wGLAYgBhwH/ + AZ4BmwGZAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BoQGeAZwB/wGGAYMBggH/AYABRAFDAf8BgAFE + AUMB/wGAAUQBQwH/AZUBkgGRAf8DYgHvAY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8ByAHG AYMB/wHZAdgBqQH/EAABvgG8AQAB/wHTAdIBnAH/AcwBygGLAf8B2wHaAa4B/wHbAdoBrgH/AdsB2gGu Af8BvwG+AQAB/wG7AboBAAH/Av4B/AH/EAABugG4AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO AYsBAAH/AY4BiwEAAf8DAAH/A50B/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA @@ -284,19 +284,19 @@ AwAB/wMAAf8DnQH/AwAB/xAAAzMBUwP6Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5 Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP9Af8DNwFbGAADKgFA AccBxQHDAf8BxQHDAcIB/wHDAcABvwH/Ab0CuwH/Aa8BrgGwAf8BrAGqAagB/wGmAaMBoQH/AagBpQGj - Af8BtwG0AbIB/wEhASkBKgH/AQUBxAHfAf8BFgGpAb4B/wGOAaEBpgH/AZYBkwGRAf8BlAGRAY8B/wGZ + Af8BtwG0AbIB/wEgASgBKQH/AQQBxAHfAf8BFQGpAb4B/wGOAaEBpgH/AZYBkwGRAf8BlAGRAY8B/wGZ AZYBlAH/AacBpAGiAf8BmwGYAZYB/wGjAaABngH/AaEBngGcAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGc - Af8BhgGDAYIB/wGAAUUBRAH/AYABRQFEAf8BgAFFAUQB/wGWAZMBkQH/AasBqAGmAf8BjgGLAQAB/wGO + Af8BhgGDAYIB/wGAAUQBQwH/AYABRAFDAf8BgAFEAUMB/wGWAZMBkQH/AasBqAGmAf8BjgGLAQAB/wGO AYsBAAH/AbsBuQEAAf8MAAL1AegB/wHIAcYBgwH/AdkB2AGoAf8QAAG+AbwBAAH/AdYB1QGiAf8B6AHn AcoB/wwAAdsB2gGuAf8B1wHWAaUB/wG2AbQBAAH/Av4B/AH/CAABwwHBAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wMAAf8DmAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wOwAf8D6wH/CAADngH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wOYAf8DAAH/EAADMwFTA/kB/wP5Af8D+AH/A/gB/wP4 Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4 - Af8D+AH/A/wB/wM3AVsYAAMqAUABqAHAAcUB/wFHAbIBwAH/ARUBogG8Af8BAAGaAbwB/wEAAZcBugH/ - ATgBqQG5Af8BrgGrAakB/wGrAagBpgH/AbgBtQGzAf8BRwFEAUMB/wEAAY8BoQH/AQABvwHbAf8BAAGi - AcEB/wE7AZEBnQH/AaABnQGbAf8BnwGcAZoB/wGmAaMBoQH/AaYBowGhAf8BpAGhAZ8B/wGiAZ8BnQH/ - AaEBngGcAf8BoQGeAZwB/wGhAZ4BnAH/AYgBhQGEAf8BgAFFAUQB/wGAAUUBRAH/AYABRQFEAf8BlgGT + Af8D+AH/A/wB/wM3AVsYAAMqAUABqAHAAcUB/wFGAbIBwAH/ARQBogG8Af8BAAGaAbwB/wEAAZcBugH/ + ATcBqQG5Af8BrgGrAakB/wGrAagBpgH/AbgBtQGzAf8BRgFDAUIB/wEAAY8BoQH/AQABvwHbAf8BAAGi + AcEB/wE6AZEBnQH/AaABnQGbAf8BnwGcAZoB/wGmAaMBoQH/AaYBowGhAf8BpAGhAZ8B/wGiAZ8BnQH/ + AaEBngGcAf8BoQGeAZwB/wGhAZ4BnAH/AYgBhQGEAf8BgAFEAUMB/wGAAUQBQwH/AYABRAFDAf8BlgGT AZIB/wNZAb8BjgGLAQAB/wGOAYsBAAH/AZcBlAEAAf8BugG4AQAB/wG9AbwBAAH/Ab0BvAEAAf8BuwG6 AQAB/wHGAcQBAAH/AdkB2AGoAf8QAAG+AbwBAAH/AdYB1QGiAf8C5wHKAf8MAAHbAdoBrgH/AuoB0AH/ AY4BiwEAAf8BtgG0AQAB/wH+Af0B/AH/AcMBwgEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL @@ -304,10 +304,10 @@ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A7AB/wgAA9UB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wOUAf8DAAH/EAADMwFTA/gB/wP3Af8D9gH/A/YB/wP2Af8D9gH/ A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/ - A/oB/wM3AVsQAAMyAVADVAGvAVgCYgHvAQABmgG8Af8BAAGmAcYB/wEFAbgB1AH/AR4BxgHfAf8BHQHC - AdwB/wEEAZoBuAH/AboBuAG3Af8BuQG2AbUB/wG1AbMBsgH/ATcBhAGKAf8BAAGEAZwB/wEAAbsB1wH/ - AQABrgHPAf8BAAGVAb4B/wFHAZQBngH/AaoBpwGlAf8BqQGmAaQB/wGnAaQBogH/AaUBogGgAf8BowGg - AZ4B/wGhAZ4BnAH/AaEBngGcAf8BoAGdAZsB/wGGAYMBggH/AYIBRwFGAf8BgAFFAUQB/wGAAUUBRAH/ + A/oB/wM3AVsQAAMyAVADVAGvAVgCYgHvAQABmgG8Af8BAAGmAcYB/wEEAbgB1AH/AR0BxgHfAf8BHAHC + AdwB/wEDAZoBuAH/AboBuAG3Af8BuQG2AbUB/wG1AbMBsgH/ATYBhAGKAf8BAAGEAZwB/wEAAbsB1wH/ + AQABrgHPAf8BAAGVAb4B/wFGAZQBngH/AaoBpwGlAf8BqQGmAaQB/wGnAaQBogH/AaUBogGgAf8BowGg + AZ4B/wGhAZ4BnAH/AaEBngGcAf8BoAGdAZsB/wGGAYMBggH/AYIBRgFFAf8BgAFEAUMB/wGAAUQBQwH/ AaIBnwGeAf8DWQG/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/Aa4BrAEAAf8B3gHdAbQB/wHeAd0BtAH/ Ad4B3QG0Af8BzwHOAZMB/wGpAacBAAH/Ab4BvAEAAf8BvgG8AQAB/wG+AbwBAAH/Ab4BvAEAAf8BtgG0 AQAB/wHWAdUBogH/AucBygH/DAAB2wHaAa4B/wLqAdAB/wGOAYsBAAH/AY4BiwEAAf8BoQGeAQAB/wGO @@ -316,10 +316,10 @@ Af8LAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A48B/wMA Af8QAAMzAVMD9gH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/ A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D+QH/AzcBWxEAAZABvwH/AQABjAG3Af8BAAGy - AdIB/wEJAccB4QH/AR4ByQHhAf8BgQHHAdcB/wGaAcQBzAH/ATEBygHhAf8BAAGhAcIB/wEyAZ0BsQH/ - ASsBmwGyAf8BAAGWAbYB/wEAAaABwgH/AQABrgHMAf8BAAG4AdYB/wEAAbMB0wH/AQABmgHBAf8BGAGI + AdIB/wEIAccB4QH/AR0ByQHhAf8BgQHHAdcB/wGaAcQBzAH/ATABygHhAf8BAAGhAcIB/wExAZ0BsQH/ + ASoBmwGyAf8BAAGWAbYB/wEAAaABwgH/AQABrgHMAf8BAAG4AdYB/wEAAbMB0wH/AQABmgHBAf8BFwGI AaUB/wGrAagBpgH/AaoBpwGlAf8BpwGkAaIB/wGmAaMBoQH/AaMBoAGeAf8BogGfAZ0B/wGhAZ4BnAH/ - AZ4BmwGZAf8BhwGEAYIB/wGEAYEBgAH/AYIBRwFGAf8BgAFFAUQB/wGsAakBpwH/A0cBgAGOAYsBAAH/ + AZ4BmwGZAf8BhwGEAYIB/wGEAYEBgAH/AYIBRgFFAf8BgAFEAUMB/wGsAakBpwH/A0cBgAGOAYsBAAH/ AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/Aa0BqwEAAf8C9gHsAf8C+QHxAf8C+QHxAf8B6wHqAdEB/wHV AdQBoQH/AvkB8QH/AvkB8QH/AvkB8QH/AecB5gHJAf8BtgG0AQAB/wHKAckBhgH/AdoB2QGrAf8B2gHZ AasB/wHaAdkBqwH/AcQBwwEAAf8B6gHpAc8B/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -328,8 +328,8 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DigH/AwAB/xAAAzMBUwP1Af8D9QH/ A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/ A/QB/wP0Af8D9AH/A/QB/wP3Af8DNwFbEAABWAJiAe8BAAGeAcUB/wFXAlwB3wNZAb8ByQHHAcYB/wHH - AcUBwwH/AcQBwgHBAf8BgQHGAdYB/wEWAbwB1gH/AQABogHDAf8BAAGuAc0B/wEAAbgB1QH/AQABugHX - Af8BAAG6AdcB/wEAAboB1wH/AQABtQHVAf8BAAGhAccB/wEOAYsBrQH/AasBqAGmAf8BoQGeAZwB/wGp + AcUBwwH/AcQBwgHBAf8BgQHGAdYB/wEVAbwB1gH/AQABogHDAf8BAAGuAc0B/wEAAbgB1QH/AQABugHX + Af8BAAG6AdcB/wEAAboB1wH/AQABtQHVAf8BAAGhAccB/wENAYsBrQH/AasBqAGmAf8BoQGeAZwB/wGp AaYBpAH/AaMBoAGeAf8BnAGZAZcB/wGbAZgBlgH/AZwBmQGXAf8BjwGMAYsB/wGJAYYBhAH/AYcBhAGC Af8BhAGBAYAB/wGRAY4BjQH/AbABrQGrAf8DIQEwAY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGcAZoBAAH/Ad8B3gG2Af8B4wHiAb8B/wHjAeIBvwH/Ad8B3gG2Af8BvwG9AQAB/wHj @@ -339,9 +339,9 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A9UB/xwAA/MB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DhQH/AwAB/xAAAzMBUwP0Af8D8wH/A/IB/wPyAf8D8gH/A/IB/wPy Af8D8gH/A/IB/wPyAf8D8gH/A/IB/wPyAf8D8gH/A/IB/wPxAf8D8QH/A/EB/wPxAf8D8QH/A/EB/wPz - Af8DNwFbEAADUQGgAREBqQHOAf8BWgJdAdMDMgFQAcsByQHIAf8ByAHGAcQB/wHFAcMBwgH/AZgBwgHL - Af8BLgHIAeAB/wEAAbsB2QH/AQABuwHYAf8BAAG7AdgB/wEAAbwB2QH/AQABwAHbAf8BDwHFAd8B/wET - AcEB3QH/AQMBlQG2Af8BDwE8AYsB/wGeAZsBmQH/AZsBmAGWAf8BoAGdAZsB/wGWAZMBkQH/AZQBkQGP + Af8DNwFbEAADUQGgARABqQHOAf8BWgJdAdMDMgFQAcsByQHIAf8ByAHGAcQB/wHFAcMBwgH/AZgBwgHL + Af8BLQHIAeAB/wEAAbsB2QH/AQABuwHYAf8BAAG7AdgB/wEAAbwB2QH/AQABwAHbAf8BDgHFAd8B/wES + AcEB3QH/AQIBlQG2Af8BDgE7AYsB/wGeAZsBmQH/AZsBmAGWAf8BoAGdAZsB/wGWAZMBkQH/AZQBkQGP Af8BkgGPAY0B/wGQAY0BiwH/AY0BigGJAf8BiwGIAYcB/wGJAYYBhAH/AYcBhAGCAf8BoQGeAZwB/wNc Ad8EAAGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGdAZoBAAH/ AaUBowEAAf8BpQGjAQAB/wGlAaMBAAH/AZwBmQEAAf8BowGhAQAB/wGlAaMBAAH/AaUBowEAAf8BpQGj @@ -350,9 +350,9 @@ AYsBAAH/AY4BiwEAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A5gB/yQA A74B/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/EAADMwFTA/IB/wPx Af8D8QH/A/EB/wPxAf8D8QH/A/EB/wPxAf8D8QH/A/EB/wPxAf8D8QH/A/EB/wPxAf8D8AH/A+0B/wPq - Af8D6AH/A+gB/wPnAf8D5gH/A+cB/wM4AVwQAAM6AWABKgG0AdcB/wEAAZYBugH/AxwBJwNcAd8BygHI - AccB/wHGAcQBwwH/AbsBwgHDAf8BLQHKAeEB/wEAAb4B2gH/AQQBwQHdAf8BHAHHAeAB/wEeAcgB4QH/ - AScBwgHXAf8BIQGbAagB/wEAAQIBCAH/AwAB/wGEAYIBgAH/AaUBogGgAf8BqgGnAaUB/wGqAacBpQH/ + Af8D6AH/A+gB/wPnAf8D5gH/A+cB/wM4AVwQAAM6AWABKQG0AdcB/wEAAZYBugH/AxwBJwNcAd8BygHI + AccB/wHGAcQBwwH/AbsBwgHDAf8BLAHKAeEB/wEAAb4B2gH/AQMBwQHdAf8BGwHHAeAB/wEdAcgB4QH/ + ASYBwgHXAf8BIAGbAagB/wEAAQEBBwH/AwAB/wGEAYIBgAH/AaUBogGgAf8BqgGnAaUB/wGqAacBpQH/ AaABnQGbAf8BlgGTAZEB/wGUAZEBjwH/AZIBjwGNAf8BkAGNAYsB/wGNAYoBiQH/AYsBiAGHAf8BkQGO AYwB/wGzAbABrgH/A0cBgAQAAY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO AYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA @@ -361,8 +361,8 @@ AQAB/wGOAYsBAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wPaAf8rAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xAAAzMBUwPxAf8D8QH/A/AB/wPw Af8D8AH/A/AB/wPwAf8D8AH/A/AB/wPwAf8D8AH/A/AB/wPwAf8D7wH/A+wB/wPkAf8D2AH/A9AB/wPP - Af8D0AH/A8wB/wPIAf8DNQFXEAADDAEQATQBtwHaAf8BCQGhAcUB/wNDAXcDMgFQAcsByQHIAf8ByQHH - AcUB/wHFAcMBwgH/AUIBxgHXAf8BCAG/AdsB/wEXAbIBzAH/AY4BvgHHAf8BqQG5AbwB/wG5AbcBtQH/ + Af8D0AH/A8wB/wPIAf8DNQFXEAADDAEQATMBtwHaAf8BCAGhAcUB/wNDAXcDMgFQAcsByQHIAf8ByQHH + AcUB/wHFAcMBwgH/AUEBxgHXAf8BBwG/AdsB/wEWAbIBzAH/AY4BvgHHAf8BqQG5AbwB/wG5AbcBtQH/ AbcBtAGyAf8BpAGiAaAB/wGrAagBpgH/AbEBrwGtAf8BrwGsAaoB/wGtAaoBqAH/AasBqAGmAf8BogGf AZ0B/wGYAZUBkwH/AZYBkwGRAf8BlAGRAY8B/wGSAY8BjQH/AZABjQGLAf8BjQGKAYkB/wGtAaoBqAH/ A1wB3wMMARAEAAGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -372,7 +372,7 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/y8AAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/EAADMwFTA/AB/wPvAf8D7gH/A+4B/wPuAf8D7gH/A+4B/wPuAf8D7gH/ A+4B/wPuAf8D7gH/A+4B/wPtAf8D6AH/A9YB/wO4Af8DpwH/A6IB/wOeAf8DngH/A2EB5gMUARsUAANU - Aa8BJAGwAdMB/wFaAl0B0wQAA1QBrwHLAckByAH/AccBxQHEAf8BkwHDAcwB/wEQAcMB3gH/AQABmgG6 + Aa8BIwGwAdMB/wFaAl0B0wQAA1QBrwHLAckByAH/AccBxQHEAf8BkwHDAcwB/wEPAcMB3gH/AQABmgG6 Af8BvQG7AboB/wG8AboBuAH/AboBtwG2Af8BuAG2AbQB/wG2AbMBsgH/AbQBsgGwAf8BsgGvAa0B/wGw Aa0BqwH/Aa4BqwGpAf8BqwGoAaYB/wGeAZsBmQH/AZsBmAGWAf8BmAGVAZMB/wGWAZMBkQH/AZQBkQGP Af8BkgGPAY0B/wGoAaUBowH/AbUBswGxAf8DKgFACAABjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL @@ -383,7 +383,7 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8QAAMzAVMD7gH/A+0B/wPtAf8D7QH/A+0B/wPtAf8D7QH/ A+0B/wPtAf8D7QH/A+0B/wPtAf8D7QH/A+wB/wPjAf8DygH/A50B/wODAf8DhgH/A5gB/wNiAe8DJwE7 - GAADOgFgAToBugHdAf8BCAGTAboB/wMaASQDDAEQA1wBzwGNAbgBxAH/AQ8BpQHAAf8BAAG5AdYB/wEA + GAADOgFgATkBugHdAf8BBwGTAboB/wMaASQDDAEQA1wBzwGNAbgBxAH/AQ4BpQHAAf8BAAG5AdYB/wEA AZ4BvgH/AZgBtgG9Af8BvQG7AbkB/wG9AboBuQH/AbkBtwG1Af8BtwG0AbIB/wG1AbIBsQH/AbMBsAGu Af8BsQGvAa0B/wGtAaoBqAH/AaIBnwGdAf8BnwGcAZoB/wGdAZoBmAH/AZsBmAGWAf8BmAGVAZMB/wGW AZMBkQH/AaQBoQGfAf8BuAG1AbMB/wNHAYAMAAGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -393,8 +393,8 @@ AQAB/wGOAYsBAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/y8AAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/EAADMwFTA+0B/wPtAf8D7AH/A+wB/wPs Af8D7AH/A+wB/wPsAf8D7AH/A+wB/wPsAf8D7AH/A+wB/wPrAf8D3wH/A8kB/wPtAf8D8AH/A/EB/wNn - AfIDKwFCHAADDAEQAUUBwQHiAf8BFwGeAccB/wFYAloBwANRAaIBAAGYAbsB/wEAAaMBxAH/AQABtQHT - Af8BBAHCAd4B/wEAAbEB0AH/AaEBtwG9Af8BvgG8AboB/wG9AbsBuQH/Ab0BugG5Af8BugG3AbUB/wG2 + AfIDKwFCHAADDAEQAUQBwQHiAf8BFgGeAccB/wFYAloBwANRAaIBAAGYAbsB/wEAAaMBxAH/AQABtQHT + Af8BAwHCAd4B/wEAAbEB0AH/AaEBtwG9Af8BvgG8AboB/wG9AbsBuQH/Ab0BugG5Af8BugG3AbUB/wG2 AbMBsQH/AbIBrwGtAf8BrgGrAakB/wGmAaMBoQH/AaQBoQGfAf8BogGfAZ0B/wGfAZwBmgH/AZ0BmgGY Af8BnQGaAZgB/wGuAasBqQH/AbkBtwG1Af8DUQGfEAABjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -404,7 +404,7 @@ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8QAAMzAVMD7AH/A+wB/wPrAf8D6wH/A+sB/wPr Af8D6wH/A+sB/wPrAf8D6wH/A+sB/wPrAf8D6wH/A+kB/wPcAf8DxwH/A/4F/wNnAfIDLAFEJAADXAHP - ATIBtgHbAf8BEQGXAcIB/wEPAZ4BxgH/ARgBsQHUAf8BJAG9AdwB/wErAcAB2wH/AUYBwgHUAf8BowHC + ATEBtgHbAf8BEAGXAcIB/wEOAZ4BxgH/ARcBsQHUAf8BIwG9AdwB/wEqAcAB2wH/AUUBwgHUAf8BowHC AckB/wHCAcABvgH/Ab8BvAG7Af8BvQG7AbkB/wG7AbgBtwH/AboBtwG1Af8BtAGxAa8B/wGtAaoBqAH/ AasBqAGmAf8BqQGmAaQB/wGmAaMBoQH/AaQBoQGfAf8BogGfAZ0B/wGnAaQBogH/AbgBtgG0Af8BvAG5 AbgB/wNAAXAUAAGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -415,7 +415,7 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8QAAMzAVMD6gH/A+oB/wPpAf8D6QH/A+kB/wPpAf8D6QH/ A+kB/wPpAf8D6QH/A+kB/wPpAf8D6QH/A+YB/wPYAf8DxgH/A/gB/wNnAfIDLQFFKAADQAFwAYsBygHo - Af8BQQG/AeEB/wE9AbsB3gH/A1QBrwM6AWADDAEQA0cBgANiAe8BywHJAcgB/wHGAcQBwwH/AcEBvwG9 + Af8BQAG/AeEB/wE8AbsB3gH/A1QBrwM6AWADDAEQA0cBgANiAe8BywHJAcgB/wHGAcQBwwH/AcEBvwG9 Af8BvAG5AbgB/wG6AbcBtgH/AbkBtgG0Af8BrwGsAaoB/wGtAaoBqAH/AasBqAGmAf8BrAGpAacB/wGw Aa0BrAH/AbsBuAG2Af8BvwG8AbsB/wNcAc8DIQEwGAABjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -1053,6 +1053,9 @@ 17, 17 + + IMPORTANT: The SEB Service changes aspects of the system configuration, e.g. to lock down the security screen (CTRL+ALT+DEL). Some anti-virus software providers might falsely identify its operations as malicious, thus it is not recommended to use the SEB Service in uncontrolled environments (e.g. BYOD). + 17, 17 @@ -1197,6 +1200,9 @@ IMPORTANT: Always copy the key(s) as a last step, after the configuration file w 968, 17 + + 17, 17 + 1222, 17